diff --git a/doc/design/addendum.rst b/doc/design/addendum.rst new file mode 100644 index 000000000..6301d799f --- /dev/null +++ b/doc/design/addendum.rst @@ -0,0 +1,42 @@ +Addendums and Updates +===================== + +Nox as Task Executor and Task Creation +-------------------------------------- + +Why Nox Was Chosen +~~~~~~~~~~~~~~~~~~ + +Nox was initially selected as our task executor due to several reasons: + +* **No Additional Languages Required**: There was no need to introduce extra programming languages or binaries, simplifying the development process. +* **Python-based**: Being Python-based, Nox can be extended, understood by python devs and also can share code. +* **Simplicity**: Nox is relatively "small" in functionality which makes it somewhat simple to use. + +Although today, other options like `invoke` could be consider or used as a replacement, Nox still is working for use even though there are some rough edges. + +Naming of Tasks and Grouping +---------------------------- + +Task Grouping with Nox +~~~~~~~~~~~~~~~~~~~~~~ + +Since Nox doesn't natively support task grouping like Invoke, we need a strategy to clearly distinguish commands. We will adopt a naming convention to indicate grouping within the CLI. + +Groups will be separated using a :code:`:` (colon) because :code:`-` (dash) might already be used within task names. + +Examples +++++++++ + +**Task Names:** + +* :code:`docs:clean` +* :code:`docs:build` +* :code:`docs:open` + + +**CLI Execution:** :code:`nox -s docs:clean docs:build docs:open` + +This approach helps in organizing tasks logically and makes it easier for developers to identify and execute related commands. + +By following these guidelines, we ensure a structured and comprehensible task management system, facilitating smoother development and maintenance. diff --git a/doc/design.rst b/doc/design/design.rst similarity index 100% rename from doc/design.rst rename to doc/design/design.rst diff --git a/doc/design/index.rst b/doc/design/index.rst new file mode 100644 index 000000000..e561b2989 --- /dev/null +++ b/doc/design/index.rst @@ -0,0 +1,11 @@ +.. _design_documents: + + +:octicon:`repo` Design Documents +================================ + +.. toctree:: + :maxdepth: 2 + + design + addendum diff --git a/doc/developer_guide/developer_guide.rst b/doc/developer_guide/developer_guide.rst index e2303b3f7..4d964bd61 100644 --- a/doc/developer_guide/developer_guide.rst +++ b/doc/developer_guide/developer_guide.rst @@ -7,7 +7,7 @@ .. toctree:: :maxdepth: 2 - ../design + ../design/index development plugins modules/modules diff --git a/doc/index.rst b/doc/index.rst index 64546b04e..cd17a4785 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -49,8 +49,8 @@ Documentation of the Exasol-Toolbox Detailed descriptions, syntax, and usage examples for the API provided by this project. - .. grid-item-card:: :octicon:`repo` Design Document - :link: design_document + .. grid-item-card:: :octicon:`repo` Design Documents + :link: design_documents :link-type: ref Document outlining the architectural and design principles and decisions in this project.