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:

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
    

Build extra options

These config items can be used to configure extra nmk command options when building subprojects:

  • ${workspaceBuildExtraArgs}: Extra options used for all nmk subprojects builds Example:

    workspaceBuildExtraArgs: --skip git.dirty # Don't check for git dirty files when building subprojects
    
  • ${workspaceBuildExtraArgsByStage}: Specific extra options for meta-tasks Example:

    workspaceBuildExtraArgsByStage:
        package: --skip build # Don't trigger build again when calling package meta-task on subprojects