Configuration Extension
As for all nmk projects config items, nmk-workspace ones are all overridable by other plug-ins and project files. But the ones described on this page are specifically designed to be extended.
Build order
By default, this plugin will build all submodules nmk projects (in the submodules order), as listed by the ${workspaceSubProjects} item.
It is also possible to change this behavior by using the following config items:
${workspaceSubProjectsToBuildFirst}: List of subprojects to build before all the others. Example:
workspaceSubProjectsToBuildFirst: - path/to/some/tooling/project - path/to/some/api/project
${workspaceSubProjectsToBuildAfter}: List of subprojects to build after all the others. Example:
workspaceSubProjectsToBuildAfter: - path/to/some/top/level/project
${workspaceSubProjectsToExclude}: List of patterns usable to exclude subproject from build. Example:
workspaceSubProjectsToExclude: - useless/*
Build conditions
These config items can also be used to condition the subprojects build behavior:
${workspaceBuildEnabled}: Dict of enablement conditions for meta-tasks. Example:
workspaceBuildEnabled: package: false # Disable package build for subprojects
${workspaceBuildIgnoreFailures}: Dict of failures ignore options for meta-tasks. Example:
workspaceBuildIgnoreFailures: tests: false # Any failed test of any sub-project will make the full workspace test fail