Usage¶
To use this plugin in your nmk project, insert this reference in your nmk.yml main file:
refs:
- pip://nmk-workspace!plugin.yml
Just after a workspace clone (or at any time you may want to update all your projects from remote repositories), the workspace.sync task can be used; it will:
recursively update all submodules at their latest revision
checkout the corresponding branch locally
Then, when using any of the following metatasks, this task will be triggered as well on all subprojects (submodules) of this project:
clean – see workspace.clean
setup – see workspace.setup
build – see workspace.build
tests – see workspace.tests
package – see workspace.package
Note
By default, subprojects builds are triggered only in CI (i.e. not with local builds). This behavior can be overridden by setting ${workspaceDisableLocalTasks} config item to false.
Handling uv workspace¶
If you use the uv tool to handle your Python projects, you shall add this reference to your nmk.yml main file:
refs:
- pip://nmk-workspace!plugin.yml
- pip://nmk-python!plugin.yml
As explained in Contributions page, this will generate the uv workspace members list (from the Python subprojects of the workspace).