From cd20fb957bb4b195a546d32ca4c4cca7ec0c2957 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 9 Feb 2026 13:56:54 +0000 Subject: [PATCH 1/8] Initial plan From 9dcb52fdc2a1a85479f87f759337ea9a406d4346 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 9 Feb 2026 14:01:20 +0000 Subject: [PATCH 2/8] Add plugin extensions and improve documentation searchability - Add doit extensions & plugins section to related.rst (#250, #375) - Add doit-api reference in task-creation.rst (#375) - Add JSON-encodable warning to calculated dependencies (#399) - Add Sphinx option directives for -f and --seek-file (#205) - Add reference to DOIT_SEEK_FILE environment variable (#205) - Add :file: role for doit.cfg and label reference (#205) Co-authored-by: schettino72 <138474+schettino72@users.noreply.github.com> --- doc/cmd-run.rst | 18 +++++++++++++++--- doc/configuration.rst | 4 +++- doc/dependencies.rst | 6 ++++++ doc/related.rst | 19 ++++++++++++++++++- doc/task-creation.rst | 3 ++- 5 files changed, 44 insertions(+), 6 deletions(-) diff --git a/doc/cmd-run.rst b/doc/cmd-run.rst index f6293ce9..10e83d71 100644 --- a/doc/cmd-run.rst +++ b/doc/cmd-run.rst @@ -42,17 +42,29 @@ dodo file ---------- By default all commands are relative to ``dodo.py`` in the current folder. -You can specify a different *dodo* file containing task with the flag ``-f``. +You can specify a different *dodo* file containing task with the ``-f`` flag. This flag is valid for all sub-commands. +.. option:: -f , --file + + Specify the dodo file (default: ``dodo.py``) + .. code-block:: console $ doit -f release.py -*doit* can seek for the ``dodo.py`` file on parent folders if the option -``--seek-file`` is specified. +*doit* can seek for the ``dodo.py`` file on parent folders if the +``--seek-file`` option is specified. + +.. option:: --seek-file + + Seek for dodo file on parent directories + +.. note:: + The ``--seek-file`` option can also be set via the :envvar:`DOIT_SEEK_FILE` + environment variable. as an executable file diff --git a/doc/configuration.rst b/doc/configuration.rst index 1a2f3b14..f8ac6737 100644 --- a/doc/configuration.rst +++ b/doc/configuration.rst @@ -108,6 +108,8 @@ the task name under `tool.doit.tasks`: duration = 12 +.. _doit.cfg: + doit.cfg -------- @@ -115,7 +117,7 @@ doit.cfg (see `configparser `_). Note: key/value entries can be separated only by the equal sign `=`. -If a file name `doit.cfg` is present in the current working directory, +If a file name :file:`doit.cfg` is present in the current working directory, it is processed. It supports 4 kind of sections: - a `GLOBAL` section diff --git a/doc/dependencies.rst b/doc/dependencies.rst index 6d28f88b..235cba51 100644 --- a/doc/dependencies.rst +++ b/doc/dependencies.rst @@ -397,6 +397,12 @@ the calculation of dependencies to another task. The task calculating dependencies must have a python-action returning a dictionary with `file_dep`, `task_dep`, `uptodate` or another `calc_dep`. +.. warning:: + The returned values must be JSON-encodable since `doit` uses + :ref:`saved values ` to pass the result of the calculation task. + For example, returning ``pathlib.Path`` objects in ``file_dep`` will cause failures. + Convert such objects to strings before returning them. + .. note:: An alternative way (and often easier) to have task attributes that rely on other tasks execution is to use :ref:`delayed tasks `. diff --git a/doc/related.rst b/doc/related.rst index 2a006595..e3069015 100644 --- a/doc/related.rst +++ b/doc/related.rst @@ -8,7 +8,24 @@ Related Projects ================ -Build tools & task runners: +doit Extensions & Plugins +========================== + +Backend Extensions +------------------ + + - `doit-redis `_ - Redis backend for doit + - `doit-report `_ - Custom reporters for doit + +Task Creation Helpers +--------------------- + + - `doit-api `_ - Explicit API with IDE autocompletion and documentation for easier task creation + - `letsdoit `_ - Custom task definition framework + + +Build tools & task runners +=========================== - `make `_ - `just `_ - command runner (no dependency tracking) diff --git a/doc/task-creation.rst b/doc/task-creation.rst index 971ca692..148a263b 100644 --- a/doc/task-creation.rst +++ b/doc/task-creation.rst @@ -118,7 +118,8 @@ callable from any object that contains this attribute. .. literalinclude:: samples/custom_task_def.py The `project letsdoit `_ -has some real-world implementations. +and `doit-api `_ +have some real-world implementations. For simple examples to help you create your own check this `blog post `_. From 432047cbf15e0b88a4dfa4a7a31ecbbc24ec817f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 9 Feb 2026 14:02:39 +0000 Subject: [PATCH 3/8] Fix option directive syntax to follow Sphinx conventions Co-authored-by: schettino72 <138474+schettino72@users.noreply.github.com> --- doc/cmd-run.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/cmd-run.rst b/doc/cmd-run.rst index 10e83d71..e8aff2f7 100644 --- a/doc/cmd-run.rst +++ b/doc/cmd-run.rst @@ -45,7 +45,7 @@ By default all commands are relative to ``dodo.py`` in the current folder. You can specify a different *dodo* file containing task with the ``-f`` flag. This flag is valid for all sub-commands. -.. option:: -f , --file +.. option:: -f FILE, --file FILE Specify the dodo file (default: ``dodo.py``) From ff4cd8c198917e951d7cf9cdb524c5fad99ab606 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 9 Feb 2026 14:03:20 +0000 Subject: [PATCH 4/8] Fix document structure hierarchy in related.rst Co-authored-by: schettino72 <138474+schettino72@users.noreply.github.com> --- doc/related.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/related.rst b/doc/related.rst index e3069015..fef503c5 100644 --- a/doc/related.rst +++ b/doc/related.rst @@ -9,23 +9,23 @@ Related Projects ================ doit Extensions & Plugins -========================== +-------------------------- Backend Extensions ------------------- +^^^^^^^^^^^^^^^^^^ - `doit-redis `_ - Redis backend for doit - `doit-report `_ - Custom reporters for doit Task Creation Helpers ---------------------- +^^^^^^^^^^^^^^^^^^^^^ - `doit-api `_ - Explicit API with IDE autocompletion and documentation for easier task creation - `letsdoit `_ - Custom task definition framework Build tools & task runners -=========================== +--------------------------- - `make `_ - `just `_ - command runner (no dependency tracking) From 61f9329387b29e5a4b92a3db5ca2029e5a82d068 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 9 Feb 2026 14:04:02 +0000 Subject: [PATCH 5/8] Fix grammar issues in documentation Co-authored-by: schettino72 <138474+schettino72@users.noreply.github.com> --- doc/cmd-run.rst | 2 +- doc/task-creation.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/cmd-run.rst b/doc/cmd-run.rst index e8aff2f7..6b820183 100644 --- a/doc/cmd-run.rst +++ b/doc/cmd-run.rst @@ -42,7 +42,7 @@ dodo file ---------- By default all commands are relative to ``dodo.py`` in the current folder. -You can specify a different *dodo* file containing task with the ``-f`` flag. +You can specify a different *dodo* file containing tasks with the ``-f`` flag. This flag is valid for all sub-commands. .. option:: -f FILE, --file FILE diff --git a/doc/task-creation.rst b/doc/task-creation.rst index 148a263b..795ef917 100644 --- a/doc/task-creation.rst +++ b/doc/task-creation.rst @@ -117,7 +117,7 @@ callable from any object that contains this attribute. .. literalinclude:: samples/custom_task_def.py -The `project letsdoit `_ +The projects `letsdoit `_ and `doit-api `_ have some real-world implementations. From 90964cc5492405093e368bfcd153a2ccb19032f0 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 9 Feb 2026 14:04:52 +0000 Subject: [PATCH 6/8] Fix capitalization and grammar consistency in documentation Co-authored-by: schettino72 <138474+schettino72@users.noreply.github.com> --- doc/cmd-run.rst | 2 +- doc/related.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/cmd-run.rst b/doc/cmd-run.rst index 6b820183..e1185031 100644 --- a/doc/cmd-run.rst +++ b/doc/cmd-run.rst @@ -55,7 +55,7 @@ This flag is valid for all sub-commands. $ doit -f release.py -*doit* can seek for the ``dodo.py`` file on parent folders if the +*doit* can seek for the ``dodo.py`` file in parent folders if the ``--seek-file`` option is specified. .. option:: --seek-file diff --git a/doc/related.rst b/doc/related.rst index fef503c5..3f116246 100644 --- a/doc/related.rst +++ b/doc/related.rst @@ -8,7 +8,7 @@ Related Projects ================ -doit Extensions & Plugins +doit extensions & plugins -------------------------- Backend Extensions From 8edec8b6564e0f547a12189442f09966a2358428 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 9 Feb 2026 14:05:33 +0000 Subject: [PATCH 7/8] Fix preposition in option description Co-authored-by: schettino72 <138474+schettino72@users.noreply.github.com> --- doc/cmd-run.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/cmd-run.rst b/doc/cmd-run.rst index e1185031..b6159704 100644 --- a/doc/cmd-run.rst +++ b/doc/cmd-run.rst @@ -60,7 +60,7 @@ This flag is valid for all sub-commands. .. option:: --seek-file - Seek for dodo file on parent directories + Seek for dodo file in parent directories .. note:: The ``--seek-file`` option can also be set via the :envvar:`DOIT_SEEK_FILE` From d59d8598022b297ea74b62b438d296efb5f94e51 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 9 Feb 2026 14:06:56 +0000 Subject: [PATCH 8/8] Make subsection title more descriptive Co-authored-by: schettino72 <138474+schettino72@users.noreply.github.com> --- doc/related.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/related.rst b/doc/related.rst index 3f116246..c6ba487d 100644 --- a/doc/related.rst +++ b/doc/related.rst @@ -11,8 +11,8 @@ Related Projects doit extensions & plugins -------------------------- -Backend Extensions -^^^^^^^^^^^^^^^^^^ +Backend & Reporting Extensions +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - `doit-redis `_ - Redis backend for doit - `doit-report `_ - Custom reporters for doit