alleon-plugins.wildfly-galleon-maven-plugin.6.4.9.Final.source-code.build-feature-pack-mojo.adoc Maven / Gradle / Ivy
### build-feature-pack
#### wildfly-galleon:build-feature-pack
*Full name:*
org.wildfly.galleon-plugins:wildfly-galleon-maven-plugin:6.4.9.Final:build-feature-pack
#### Description
This Maven mojo creates a WildFly style feature-pack archive from
the provided resources according to the feature-pack build
configuration file and attaches it to the current Maven project as
an artifact. The content of the future feature-pack archive is
first created in the directory called `layout` under the module's
build directory which is then ZIPped to create the feature-pack
artifact.
#### Attributes
* Requires a Maven project to be executed.
* Requires dependency resolution of artifacts in scope: `compile+runtime`.
* Binds by default to the http://maven.apache.org/ref/current/maven-core/lifecycles.html[lifecycle phase]: `compile`.
.Required Parameters
[%autowidth.stretch]
|====
|Name|Type|Since|Description
|`<>`|`File`|`-`|The directory where the generated feature specs are written. +
*Default value is*: `${project.build.directory}/resources/features`. +
*Alias is*: `feature-specs-output`.
|`<>`|`File`|`-`|Used only for feature spec generation and points to a directory
where the module templates from the dependent feature packs are
gathered before they are transformed and copied under their default
destination `wildflyHome`/modules. Intended mainly for
debugging. +
*Default value is*: `${project.build.directory}/module-templates`. +
*User property is*: `wfgp.moduleTemplatesDir`. +
*Alias is*: `module-templates`.
|`<>`|`String`|`-`|Represents the directory containing child directories
`packages`, `feature_groups`,
`modules` etc. Either an absolute path or a path
relative to `configDir`. +
*Default value is*: `src/main/resources`. +
*User property is*: `wildfly.feature.pack.resourcesDir`. +
*Alias is*: `resources-dir`.
|`<>`|`File`|`-`|Used only for feature spec generation and points to a directory
from which the embedded WildFly instance will be started that is
used for exporting the meta-model. Intended mainly for debugging. +
*Default value is*: `${project.build.directory}/wildfly`. +
*User property is*: `wfgp.wildflyHome`. +
*Alias is*: `wildfly-home`.
|====
.Optional Parameters
[%autowidth.stretch]
|====
|Name|Type|Since|Description
|`<>`|`boolean`|`-`|Add any feature-pack dependency as a required manifest in the
manifest YAML definition. This parameter has no effect if
"generate-channel-manifest" is false. +
*Default value is*: `true`. +
*Alias is*: `add-feature-packs-as-required-manifests`.
|`<>`|`String`|`-`|The directory for the built artifact. +
*Default value is*: `${project.build.directory}`. +
*User property is*: `wildfly.feature.pack.buildName`. +
|`<>`|`File`|`-`|The feature-pack build configuration file directory +
*Default value is*: `${basedir}`. +
*User property is*: `wildfly.feature.pack.configDir`. +
*Alias is*: `config-dir`.
|`<>`|`String`|`-`|The feature-pack build configuration file. +
*Default value is*: `wildfly-feature-pack-build.xml`. +
*User property is*: `wildfly.feature.pack.configFile`. +
*Alias is*: `config-file`.
|`<>`|`boolean`|`-`|Used only for feature spec generation and indicates whether to
launch the embedded server to read feature descriptions in a
separate process +
*Alias is*: `fork-embedded`.
|`<>`|`String`|`-`|The artifactId for the generated feature-pack. +
*Default value is*: `${project.artifactId}`. +
*Alias is*: `feature-pack-artifact-id`.
|`<>`|`boolean`|`-`|Generates a channel manifest YAML definition when the feature-pack
is produced. Any dependency from the feature pack is declared as a
stream in the channel manifest. +
*Default value is*: `false`. +
*User property is*: `wildfly.feature.pack.generate-channel-manifest`. +
*Alias is*: `generate-channel-manifest`.
|`<>`|`String`|`-`|The name of the release the feature-pack represents which will be
stored in the feature-pack's
`resources/wildfly/wildfly-tasks.properties` as
`product.release.name` property. +
*Default value is*: `${product.release.name}`. +
*Alias is*: `release-name`.
|`<>`|`Map`|`-`|Various properties that will be added to feature-pack's
`resources/wildfly/wildfly-tasks.properties`. +
NOTE: values of this parameter will overwrite the corresponding
values from task-properties-file parameter, in case it's also
set. + +
*Alias is*: `task-properties`.
|`<>`|`File`|`-`|Path to a properties file content of which will be added to
feature-pack's `resources/wildfly/wildfly-tasks.properties` file
that is used as the source of properties during file copying tasks
with property replacement. +
*Alias is*: `task-properties-file`.
|`<>`|`WildFlyChannelResolutionMode`|`-`|Feature-pack WildFly channel resolution mode when WildFly channels
are configured in the provisioning tooling used to provision this
feature-pack. "NOT_REQUIRED" means that the feature-pack and
artifacts can be resolved without WildFly channels. "REQUIRED"
means that the feature-pack and all its artifacts must be only
resolved from WildFly channels. "REQUIRED_FP_ONLY" means that only
the feature-pack must be only resolved from WildFly channels.
Referenced artifacts can be resolved outside of configured WildFly
channels. +
*Default value is*: `NOT_REQUIRED`. +
*User property is*: `wildfly.feature.pack.require.channel.resolution`. +
*Alias is*: `wildfly-channel-resolution-mode`.
|====
#### Parameter Details
[[addFeaturePacksAsRequiredManifests]] *addFeaturePacksAsRequiredManifests* +
Add any feature-pack dependency as a required manifest in the
manifest YAML definition. This parameter has no effect if
"generate-channel-manifest" is false.
* *Type*: `boolean`
* *Required*: `No`
* *Default*: `true`
* *Alias*: `add-feature-packs-as-required-manifests`
[[buildName]] *buildName* +
The directory for the built artifact.
* *Type*: `java.lang.String`
* *Required*: `No`
* *User Property*: `wildfly.feature.pack.buildName`
* *Default*: `${project.build.directory}`
[[configDir]] *configDir* +
The feature-pack build configuration file directory
* *Type*: `java.io.File`
* *Required*: `No`
* *User Property*: `wildfly.feature.pack.configDir`
* *Default*: `${basedir}`
* *Alias*: `config-dir`
[[configFile]] *configFile* +
The feature-pack build configuration file.
* *Type*: `java.lang.String`
* *Required*: `No`
* *User Property*: `wildfly.feature.pack.configFile`
* *Default*: `wildfly-feature-pack-build.xml`
* *Alias*: `config-file`
[[featureSpecsOutput]] *featureSpecsOutput* +
The directory where the generated feature specs are written.
* *Type*: `java.io.File`
* *Required*: `Yes`
* *Default*: `${project.build.directory}/resources/features`
* *Alias*: `feature-specs-output`
[[forkEmbedded]] *forkEmbedded* +
Used only for feature spec generation and indicates whether to
launch the embedded server to read feature descriptions in a
separate process
* *Type*: `boolean`
* *Required*: `No`
* *Alias*: `fork-embedded`
[[fpArtifactId]] *fpArtifactId* +
The artifactId for the generated feature-pack.
* *Type*: `java.lang.String`
* *Required*: `No`
* *Default*: `${project.artifactId}`
* *Alias*: `feature-pack-artifact-id`
[[generateChannelManifest]] *generateChannelManifest* +
Generates a channel manifest YAML definition when the feature-pack
is produced. Any dependency from the feature pack is declared as a
stream in the channel manifest.
* *Type*: `boolean`
* *Required*: `No`
* *User Property*: `wildfly.feature.pack.generate-channel-manifest`
* *Default*: `false`
* *Alias*: `generate-channel-manifest`
[[moduleTemplatesDir]] *moduleTemplatesDir* +
Used only for feature spec generation and points to a directory
where the module templates from the dependent feature packs are
gathered before they are transformed and copied under their default
destination `wildflyHome`/modules. Intended mainly for
debugging.
* *Type*: `java.io.File`
* *Required*: `Yes`
* *User Property*: `wfgp.moduleTemplatesDir`
* *Default*: `${project.build.directory}/module-templates`
* *Alias*: `module-templates`
[[releaseName]] *releaseName* +
The name of the release the feature-pack represents which will be
stored in the feature-pack's
`resources/wildfly/wildfly-tasks.properties` as
`product.release.name` property.
* *Type*: `java.lang.String`
* *Required*: `No`
* *Default*: `${product.release.name}`
* *Alias*: `release-name`
[[resourcesDir]] *resourcesDir* +
Represents the directory containing child directories
`packages`, `feature_groups`,
`modules` etc. Either an absolute path or a path
relative to `configDir`.
* *Type*: `java.lang.String`
* *Required*: `Yes`
* *User Property*: `wildfly.feature.pack.resourcesDir`
* *Default*: `src/main/resources`
* *Alias*: `resources-dir`
[[taskProps]] *taskProps* +
Various properties that will be added to feature-pack's
`resources/wildfly/wildfly-tasks.properties`. +
NOTE: values of this parameter will overwrite the corresponding
values from task-properties-file parameter, in case it's also
set. +
* *Type*: `java.util.Map`
* *Required*: `No`
* *Alias*: `task-properties`
[[taskPropsFile]] *taskPropsFile* +
Path to a properties file content of which will be added to
feature-pack's `resources/wildfly/wildfly-tasks.properties` file
that is used as the source of properties during file copying tasks
with property replacement.
* *Type*: `java.io.File`
* *Required*: `No`
* *Alias*: `task-properties-file`
[[wildflyChannelResolutionMode]] *wildflyChannelResolutionMode* +
Feature-pack WildFly channel resolution mode when WildFly channels
are configured in the provisioning tooling used to provision this
feature-pack. "NOT_REQUIRED" means that the feature-pack and
artifacts can be resolved without WildFly channels. "REQUIRED"
means that the feature-pack and all its artifacts must be only
resolved from WildFly channels. "REQUIRED_FP_ONLY" means that only
the feature-pack must be only resolved from WildFly channels.
Referenced artifacts can be resolved outside of configured WildFly
channels.
* *Type*: `org.wildfly.galleon.plugin.WildFlyChannelResolutionMode`
* *Required*: `No`
* *User Property*: `wildfly.feature.pack.require.channel.resolution`
* *Default*: `NOT_REQUIRED`
* *Alias*: `wildfly-channel-resolution-mode`
[[wildflyHome]] *wildflyHome* +
Used only for feature spec generation and points to a directory
from which the embedded WildFly instance will be started that is
used for exporting the meta-model. Intended mainly for debugging.
* *Type*: `java.io.File`
* *Required*: `Yes`
* *User Property*: `wfgp.wildflyHome`
* *Default*: `${project.build.directory}/wildfly`
* *Alias*: `wildfly-home`