Fork me on GitHub

device-package:configure

Full name:

com.cisco.maven.plugins:device-package-maven-plugin:1.0.0:configure

Description:

Configures project POM's with this plugin declared as a build plugin.
  • For Device Profile, Network Feature, and XDE Projects, this plugin will be configured under the <build><plugins> section, without
  • For an aggregator POM, this plugin will be configured to to create an aggregated SDU of all device package related artifacts listed as downstream <modules>.
  • This plugin will determine the root-most Parent POM's where the version of the plugin to execute will be centrally managed.

The exact project configuration applied can be tweaked through the various goal parameters.

Attributes:

  • Requires a Maven project to be executed.
  • Executes as an aggregator plugin.
  • Executes by direct invocation only.
  • The goal is thread-safe and supports parallel builds.
  • Since version: 1.0.0.
  • Binds by default to the lifecycle phase: validate.

Optional Parameters

Name Type Since Description
buildRootSDU boolean 1.0.0 Whether or not the aggregator POM should be configured to build an aggregated SDU of all sub-module project artifacts. This is only supported when invoked on the top level POM of a multi-module reactor where the project packaging is 'pom', and this POM includes other projects in the reactor as <modules>.
User property is: buildRootSDU.
executePluginCentrally boolean 1.0.0 When the plugin version and configuration is being managed centrally in a Parent POM, setting this option to true will cause the plugin to be configured as a <build><plugins><plugin> just once in your Parent POM(s), and the configuration ommitted entirely from all downstream projects.
User property is: executePluginCentrally.
includeAllModules boolean 1.0.0 When buildRootSDU=true, configures whether or not all child sub-modules of the aggregator project should be included. true to include all modules (default), or false to only include those artifacts found through the dependency hierarchy of the Device Profile projects present in the reactor.
User property is: includeAllModules.
managePluginCentrally boolean 1.0.0 Whether or not you intent to manage this plugin configuration centrally. The expectation is that a single Parent POM would configure the version of this plugin to use across all projects, and to set the <extensions>true</extensions> parameter. By setting this to false the required extensions configuration will be added to all projects explicitly, and if the pluginVersion parameter is declared, it will be used to set the plugin version in all projects explicitly.
User property is: managePluginCentrally.
perProjectSDU boolean 1.0.0 Whether or not the createSDU parameter of the CreateSDUMojo should be configured to always run. By default SDU creation is skipped, but can be configured to always run by settings this flag to @{code true}.
User property is: perProjectSDU.
pluginVersion String 1.0.0 By default, it is expected that you configure your projects Parent POM to declare the plugin version in the pluginManagement section of the POM, to make the project easier to maintain when needing to move to a newer version of this plugin. If you choose, you can pass an explicit version to this goal to set the version explicitly within every projects build configuration. You must also set managePluginCentrally=false to use this parameter.
If your project does not have a parent POM, the plugin version will be configured directly in the project.
By default this will use the version of this running plugin, but can be overridden.
User property is: pluginVersion.

Parameter Details

buildRootSDU:

Whether or not the aggregator POM should be configured to build an aggregated SDU of all sub-module project artifacts. This is only supported when invoked on the top level POM of a multi-module reactor where the project packaging is 'pom', and this POM includes other projects in the reactor as <modules>.
  • Type: boolean
  • Since: 1.0.0
  • Required: No
  • User Property: buildRootSDU

executePluginCentrally:

When the plugin version and configuration is being managed centrally in a Parent POM, setting this option to true will cause the plugin to be configured as a <build><plugins><plugin> just once in your Parent POM(s), and the configuration ommitted entirely from all downstream projects.
  • Type: boolean
  • Since: 1.0.0
  • Required: No
  • User Property: executePluginCentrally

includeAllModules:

When buildRootSDU=true, configures whether or not all child sub-modules of the aggregator project should be included. true to include all modules (default), or false to only include those artifacts found through the dependency hierarchy of the Device Profile projects present in the reactor.
  • Type: boolean
  • Since: 1.0.0
  • Required: No
  • User Property: includeAllModules

managePluginCentrally:

Whether or not you intent to manage this plugin configuration centrally. The expectation is that a single Parent POM would configure the version of this plugin to use across all projects, and to set the <extensions>true</extensions> parameter. By setting this to false the required extensions configuration will be added to all projects explicitly, and if the pluginVersion parameter is declared, it will be used to set the plugin version in all projects explicitly.
  • Type: boolean
  • Since: 1.0.0
  • Required: No
  • User Property: managePluginCentrally

perProjectSDU:

Whether or not the createSDU parameter of the CreateSDUMojo should be configured to always run. By default SDU creation is skipped, but can be configured to always run by settings this flag to @{code true}.
  • Type: boolean
  • Since: 1.0.0
  • Required: No
  • User Property: perProjectSDU

pluginVersion:

By default, it is expected that you configure your projects Parent POM to declare the plugin version in the pluginManagement section of the POM, to make the project easier to maintain when needing to move to a newer version of this plugin. If you choose, you can pass an explicit version to this goal to set the version explicitly within every projects build configuration. You must also set managePluginCentrally=false to use this parameter.
If your project does not have a parent POM, the plugin version will be configured directly in the project.
By default this will use the version of this running plugin, but can be overridden.
  • Type: java.lang.String
  • Since: 1.0.0
  • Required: No
  • User Property: pluginVersion