Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update and extend design documents #274

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions doc/design/addendum.rst
Original file line number Diff line number Diff line change
@@ -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.
File renamed without changes.
11 changes: 11 additions & 0 deletions doc/design/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
.. _design_documents:


:octicon:`repo` Design Documents
================================

.. toctree::
:maxdepth: 2

design
addendum
2 changes: 1 addition & 1 deletion doc/developer_guide/developer_guide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
.. toctree::
:maxdepth: 2

../design
../design/index
development
plugins
modules/modules
4 changes: 2 additions & 2 deletions doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down