All Downloads are FREE. Search and download functionalities are using the official Maven repository.

lugins.wildfly-jar-maven-plugin.5.0.1.Final.source-code.dev-mojo.adoc Maven / Gradle / Ivy

There is a newer version: 11.0.2.Final
Show newest version
### dev


#### wildfly-jar:dev
*Full name:*
org.wildfly.plugins:wildfly-jar-maven-plugin:5.0.1.Final:dev


#### Description
Build and start a bootable JAR for dev mode. In order to be able to
shutdown the server started in 'dev' mode, the 'management' Galleon
layer must have been included. If that is not the case, the server
would have to be killed.


#### 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`.

.Optional Parameters
[%autowidth.stretch]
|====
|Name|Type|Since|Description
|`<>`|`List`|`-`|Bootable JAR server arguments. +
*User property is*: `wildfly.bootable.arguments`. +

|`<>`|`File`|`-`|Overrides the default `logging.properties` the container
uses when booting.  +
In most cases this should not be required. The use-case is when the
generated `logging.properties` causes boot errors or you
do not use the logging subsystem and would like to use a custom
logging configuration.  +
An example of a boot error would be using a log4j appender as a
`custom-handler`. If the file is not absolute, it has to
be relative to the project base directory. +
*User property is*: `wildfly.bootable.logging.config`. +
*Alias is*: `boot-logging-config`.
|`<>`|`String`|`-`|By default, when building a bootable JAR, the plugin extracts build
artifacts in the directory 'bootable-jar-build-artifacts'. You can
use this property to change this directory name. In most cases this
should not be required. The use-case is when building multiple
bootable JARs in the same project on Windows Platform. In this
case, each execution should have its own directory, the plugin
being unable to delete the directory due to some references to
JBoss module files. +
*Default value is*: `bootable-jar-build-artifacts`. +
*User property is*: `wildfly.bootable.jar.build.artifacts`. +
*Alias is*: `bootable-jar-build-artifacts`.
|`<>`|`List`|`-`|List of CLI execution sessions. An embedded server is started for
each CLI session. If a script file is not absolute, it has to be
relative to the project base directory. CLI session are configured
in the following way:  +
<cli-sessions> +
<cli-session> +
<script-files> +
<script>../scripts/script1.cli</script> +
</script-files> +
<!-- Expressions resolved during server execution --> +
<resolve-expressions>false</resolve-expressions> +
</cli-session> +
<cli-session> +
<script-files> +
<script>../scripts/script2.cli</script> +
</script-files> +
<properties-file>../scripts/cli.properties</properties-file> +
</cli-session> +
</cli-sessions> +
*Alias is*: `cli-sessions`.
|`<>`|`CloudConfig`|`-`|To enable cloud support. When cloud support is enabled, the created
bootable JAR will operate properly in context such as openshift.
 +
In order to enable authenticated cluster jgroups protocol, set
<enable-jgroups-password>true</enable-jgroups-password>.
The environment variable JGROUPS_CLUSTER_PASSWORD must then be set
to the password value. +
*Alias is*: `cloud`.
|`<>`|`boolean`|`-`|To make the WAR deployment registered under root resource path
('/'). +
*Default value is*: `true`. +
*User property is*: `wildfly.bootable.context.root`. +
*Alias is*: `context-root`.
|`<>`|`boolean`|`-`|The plugin prints a warning when an overridden artifact is
downgraded (updated to an older version). The version comparison is
done based on Maven versioning. This warning can be disabled by
setting this parameter to true. +
*Default value is*: `false`. +
*User property is*: `bootable.jar.disable.warn.for.artifact.downgrade`. +
*Alias is*: `disable-warn-for-artifact-downgrade`.
|`<>`|`boolean`|`-`|By default executed CLI scripts output is not shown if execution is
successful. In order to display the CLI output, set this option to
true. +
*Alias is*: `display-cli-scripts-output`.
|`<>`|`boolean`|`-`|Set this parameter to true in order to retrieve the set of
artifacts that can be upgraded. The file
`target/bootable-jar-build-artifacts/bootable-jar-server-original-artifacts.xml`
is generated. It contains XML elements for the Galleon
feature-packs dependencies, JBoss Modules runtime and artifacts.
JBoss Modules modules artifacts are grouped by JBoss Modules name.
The generated file contains only the artifacts that are provisioned
by Galleon. Each artifact version is the one that would get
installed when building the Bootable JAR without upgrade. +
*Default value is*: `false`. +
*User property is*: `bootable.jar.dump.original.artifacts`. +
*Alias is*: `dump-original-artifacts`.
|`<>`|`List`|`-`|A list of Galleon layers to exclude. Can be used when
feature-pack-location or feature-packs are set. +
*Alias is*: `excluded-layers`.
|`<>`|`List`|`-`|A list of directories to copy content to the provisioned server. If
a directory is not absolute, it has to be relative to the project
base directory. +
*User property is*: `wildfly.bootable.package.extra.server.content.dirs`. +
*Alias is*: `extra-server-content-dirs`.
|`<>`|`String`|`-`|The WildFly Galleon feature-pack location to use if no
provisioning.xml file found. Can't be used in conjunction with
feature-packs. +
*User property is*: `wildfly.bootable.fpl`. +
*Alias is*: `feature-pack-location`.
|`<>`|`List`|`-`|A list of feature-pack configurations to install, can be combined
with layers. Overrides galleon/provisioning.xml file. Can't be used
in conjunction with feature-pack-location. +
*Alias is*: `feature-packs`.
|`<>`|`boolean`|`-`|Hollow JAR. Create a bootable JAR that doesn't contain application. +
*User property is*: `wildfly.bootable.hollow`. +
*Alias is*: `hollow-jar`.
|`<>`|`List`|`-`|Additional JVM options. +
*User property is*: `wildfly.bootable.jvmArguments`. +

|`<>`|`List`|`-`|A list of Galleon layers to provision. Can be used when
feature-pack-location or feature-packs are set. +
*Alias is*: `layers`.
|`<>`|`boolean`|`-`|Set to true to enable patch cleanup. When cleanup is enabled,
unused added modules, patched modules original directories, unused
overlay directories and .installation/patches directory are
deleted. +
*Default value is*: `false`. +
*Alias is*: `legacy-patch-clean-up`.
|`<>`|`String`|`-`|Path to a CLI script that applies legacy patches. Content of such
script should be composed of 'patch apply [path to zip file] [patch
apply options]' commands. Due to the nature of a bootable JAR
trimmed with Galleon, part of the content of the patch can be
missing. In order to force the patch to apply use the
'--override-all' option. The '--distribution' option is not needed,
System property 'jboss.home.dir' is automatically set to the server
that will be packaged in the bootable JAR. If the script file is
not absolute, it has to be relative to the project base directory.
NB: The server is patched with a legacy patch right after the
server has been provisioned with Galleon. +
*Alias is*: `legacy-patch-cli-script`.
|`<>`|`boolean`|`-`|Whether to log provisioning time at the end +
*Default value is*: `false`. +
*Alias is*: `log-time`.
|`<>`|`boolean`|`-`|Whether to use offline mode when the plugin resolves an artifact.
In offline mode the plugin will only use the local Maven repository
for an artifact resolution. +
*Default value is*: `false`. +
*Alias is*: `offline`.
|`<>`|`String`|`-`|By default the generated JAR is
${project.build.finalName}-bootable.jar +
*User property is*: `wildfly.bootable.package.output.file.name`. +
*Alias is*: `output-file-name`.
|`<>`|`List`|`-`|A list of artifacts that override the one referenced in the WildFly
Galleon feature-pack used to build the Bootable JAR. The artifacts
present in this list must exist in the project dependencies (with a
`provided` scope). GroupId and ArtifactId are mandatory.
Classifier is required if non null. Version and Type are optional
and are retrieved from the project dependencies. Dependencies on
Galleon feature-pack can also be referenced from this list.
`zip` type must be used for Galleon feature-packs. +
 Example of an override of the
`io.undertow:undertow-core` artifact: +
<overridden-server-artifacts> +
<artifact> +
<groupId>io.undertow</groupId> +
<artifactId>undertow-core</artifactId> +
</artifact> +
</overridden-server-artifacts> + +
*Alias is*: `overridden-server-artifacts`.
|`<>`|`Map`|`-`|Arbitrary Galleon options used when provisioning the server. In
case you are building a large amount of bootable JAR in the same
maven session, it is strongly advised to set 'jboss-fork-embedded'
option to 'true' in order to fork Galleon provisioning and CLI
scripts execution in dedicated processes. For example:  +
<plugin-options> +
<jboss-fork-embedded>true</jboss-fork-embedded> +
</plugin-options> +
*Alias is*: `plugin-options`.
|`<>`|`String`|`-`|Project build dir. +
*Default value is*: `${project.build.directory}`. +

|`<>`|`File`|`-`|The path to the `provisioning.xml` file to use. Note
that this cannot be used with the `feature-packs` or
`layers` configuration parameters. If the provisioning
file is not absolute, it has to be relative to the project base
directory. +
*Default value is*: `${project.basedir}/galleon/provisioning.xml`. +
*User property is*: `wildfly.bootable.provisioning.file`. +
*Alias is*: `provisioning-file`.
|`<>`|`boolean`|`-`|Whether to record provisioned state in .galleon directory. +
*Default value is*: `false`. +
*Alias is*: `record-state`.
|`<>`|`boolean`|`-`|Set to `true` if you want the deployment to be skipped,
otherwise `false`. +
*Default value is*: `false`. +
*User property is*: `wildfly.bootable.package.skip`. +

|`<>`|`String`|`-`|Indicates how `stdout` and `stderr` should be
handled for the server process. A value of `inherit`
means that the standard output streams are inherited from the
current process. Any other value is assumed to be a path. In this
case both `stdout` and `stderr` will be
redirected to a file. +
*Default value is*: `${project.build.directory}/wildfly-jar-dev-stdout.log`. +
*User property is*: `wildfly.bootable.stdout`. +


|====


#### Parameter Details

[[arguments]] *arguments* +
Bootable JAR server arguments.

* *Type*: `java.util.List`
* *Required*: `No`
* *User Property*: `wildfly.bootable.arguments`



[[bootLoggingConfig]] *bootLoggingConfig* +
Overrides the default `logging.properties` the container
uses when booting.  +
In most cases this should not be required. The use-case is when the
generated `logging.properties` causes boot errors or you
do not use the logging subsystem and would like to use a custom
logging configuration.  +
An example of a boot error would be using a log4j appender as a
`custom-handler`. If the file is not absolute, it has to
be relative to the project base directory.

* *Type*: `java.io.File`
* *Required*: `No`
* *User Property*: `wildfly.bootable.logging.config`
* *Alias*: `boot-logging-config`



[[bootableJarBuildArtifacts]] *bootableJarBuildArtifacts* +
By default, when building a bootable JAR, the plugin extracts build
artifacts in the directory 'bootable-jar-build-artifacts'. You can
use this property to change this directory name. In most cases this
should not be required. The use-case is when building multiple
bootable JARs in the same project on Windows Platform. In this
case, each execution should have its own directory, the plugin
being unable to delete the directory due to some references to
JBoss module files.

* *Type*: `java.lang.String`
* *Required*: `No`
* *User Property*: `wildfly.bootable.jar.build.artifacts`
* *Default*: `bootable-jar-build-artifacts`
* *Alias*: `bootable-jar-build-artifacts`



[[cliSessions]] *cliSessions* +
List of CLI execution sessions. An embedded server is started for
each CLI session. If a script file is not absolute, it has to be
relative to the project base directory. CLI session are configured
in the following way:  +
<cli-sessions> +
<cli-session> +
<script-files> +
<script>../scripts/script1.cli</script> +
</script-files> +
<!-- Expressions resolved during server execution --> +
<resolve-expressions>false</resolve-expressions> +
</cli-session> +
<cli-session> +
<script-files> +
<script>../scripts/script2.cli</script> +
</script-files> +
<properties-file>../scripts/cli.properties</properties-file> +
</cli-session> +
</cli-sessions>

* *Type*: `java.util.List`
* *Required*: `No`
* *Alias*: `cli-sessions`



[[cloud]] *cloud* +
To enable cloud support. When cloud support is enabled, the created
bootable JAR will operate properly in context such as openshift.
 +
In order to enable authenticated cluster jgroups protocol, set
<enable-jgroups-password>true</enable-jgroups-password>.
The environment variable JGROUPS_CLUSTER_PASSWORD must then be set
to the password value.

* *Type*: `org.wildfly.plugins.bootablejar.maven.cloud.CloudConfig`
* *Required*: `No`
* *Alias*: `cloud`



[[contextRoot]] *contextRoot* +
To make the WAR deployment registered under root resource path
('/').

* *Type*: `boolean`
* *Required*: `No`
* *User Property*: `wildfly.bootable.context.root`
* *Default*: `true`
* *Alias*: `context-root`



[[disableWarnForArtifactDowngrade]] *disableWarnForArtifactDowngrade* +
The plugin prints a warning when an overridden artifact is
downgraded (updated to an older version). The version comparison is
done based on Maven versioning. This warning can be disabled by
setting this parameter to true.

* *Type*: `boolean`
* *Required*: `No`
* *User Property*: `bootable.jar.disable.warn.for.artifact.downgrade`
* *Default*: `false`
* *Alias*: `disable-warn-for-artifact-downgrade`



[[displayCliScriptsOutput]] *displayCliScriptsOutput* +
By default executed CLI scripts output is not shown if execution is
successful. In order to display the CLI output, set this option to
true.

* *Type*: `boolean`
* *Required*: `No`
* *Alias*: `display-cli-scripts-output`



[[dumpOriginalArtifacts]] *dumpOriginalArtifacts* +
Set this parameter to true in order to retrieve the set of
artifacts that can be upgraded. The file
`target/bootable-jar-build-artifacts/bootable-jar-server-original-artifacts.xml`
is generated. It contains XML elements for the Galleon
feature-packs dependencies, JBoss Modules runtime and artifacts.
JBoss Modules modules artifacts are grouped by JBoss Modules name.
The generated file contains only the artifacts that are provisioned
by Galleon. Each artifact version is the one that would get
installed when building the Bootable JAR without upgrade.

* *Type*: `boolean`
* *Required*: `No`
* *User Property*: `bootable.jar.dump.original.artifacts`
* *Default*: `false`
* *Alias*: `dump-original-artifacts`



[[excludedLayers]] *excludedLayers* +
A list of Galleon layers to exclude. Can be used when
feature-pack-location or feature-packs are set.

* *Type*: `java.util.List`
* *Required*: `No`
* *Alias*: `excluded-layers`



[[extraServerContentDirs]] *extraServerContentDirs* +
A list of directories to copy content to the provisioned server. If
a directory is not absolute, it has to be relative to the project
base directory.

* *Type*: `java.util.List`
* *Required*: `No`
* *User Property*: `wildfly.bootable.package.extra.server.content.dirs`
* *Alias*: `extra-server-content-dirs`



[[featurePackLocation]] *featurePackLocation* +
The WildFly Galleon feature-pack location to use if no
provisioning.xml file found. Can't be used in conjunction with
feature-packs.

* *Type*: `java.lang.String`
* *Required*: `No`
* *User Property*: `wildfly.bootable.fpl`
* *Alias*: `feature-pack-location`



[[featurePacks]] *featurePacks* +
A list of feature-pack configurations to install, can be combined
with layers. Overrides galleon/provisioning.xml file. Can't be used
in conjunction with feature-pack-location.

* *Type*: `java.util.List`
* *Required*: `No`
* *Alias*: `feature-packs`



[[hollowJar]] *hollowJar* +
Hollow JAR. Create a bootable JAR that doesn't contain application.

* *Type*: `boolean`
* *Required*: `No`
* *User Property*: `wildfly.bootable.hollow`
* *Alias*: `hollow-jar`



[[jvmArguments]] *jvmArguments* +
Additional JVM options.

* *Type*: `java.util.List`
* *Required*: `No`
* *User Property*: `wildfly.bootable.jvmArguments`



[[layers]] *layers* +
A list of Galleon layers to provision. Can be used when
feature-pack-location or feature-packs are set.

* *Type*: `java.util.List`
* *Required*: `No`
* *Alias*: `layers`



[[legacyPatchCleanUp]] *legacyPatchCleanUp* +
Set to true to enable patch cleanup. When cleanup is enabled,
unused added modules, patched modules original directories, unused
overlay directories and .installation/patches directory are
deleted.

* *Type*: `boolean`
* *Required*: `No`
* *Default*: `false`
* *Alias*: `legacy-patch-clean-up`



[[legacyPatchCliScript]] *legacyPatchCliScript* +
Path to a CLI script that applies legacy patches. Content of such
script should be composed of 'patch apply [path to zip file] [patch
apply options]' commands. Due to the nature of a bootable JAR
trimmed with Galleon, part of the content of the patch can be
missing. In order to force the patch to apply use the
'--override-all' option. The '--distribution' option is not needed,
System property 'jboss.home.dir' is automatically set to the server
that will be packaged in the bootable JAR. If the script file is
not absolute, it has to be relative to the project base directory.
NB: The server is patched with a legacy patch right after the
server has been provisioned with Galleon.

* *Type*: `java.lang.String`
* *Required*: `No`
* *Alias*: `legacy-patch-cli-script`



[[logTime]] *logTime* +
Whether to log provisioning time at the end

* *Type*: `boolean`
* *Required*: `No`
* *Default*: `false`
* *Alias*: `log-time`



[[offline]] *offline* +
Whether to use offline mode when the plugin resolves an artifact.
In offline mode the plugin will only use the local Maven repository
for an artifact resolution.

* *Type*: `boolean`
* *Required*: `No`
* *Default*: `false`
* *Alias*: `offline`



[[outputFileName]] *outputFileName* +
By default the generated JAR is
${project.build.finalName}-bootable.jar

* *Type*: `java.lang.String`
* *Required*: `No`
* *User Property*: `wildfly.bootable.package.output.file.name`
* *Alias*: `output-file-name`



[[overriddenServerArtifacts]] *overriddenServerArtifacts* +
A list of artifacts that override the one referenced in the WildFly
Galleon feature-pack used to build the Bootable JAR. The artifacts
present in this list must exist in the project dependencies (with a
`provided` scope). GroupId and ArtifactId are mandatory.
Classifier is required if non null. Version and Type are optional
and are retrieved from the project dependencies. Dependencies on
Galleon feature-pack can also be referenced from this list.
`zip` type must be used for Galleon feature-packs. +
 Example of an override of the
`io.undertow:undertow-core` artifact: +
<overridden-server-artifacts> +
<artifact> +
<groupId>io.undertow</groupId> +
<artifactId>undertow-core</artifactId> +
</artifact> +
</overridden-server-artifacts> +

* *Type*: `java.util.List`
* *Required*: `No`
* *Alias*: `overridden-server-artifacts`



[[pluginOptions]] *pluginOptions* +
Arbitrary Galleon options used when provisioning the server. In
case you are building a large amount of bootable JAR in the same
maven session, it is strongly advised to set 'jboss-fork-embedded'
option to 'true' in order to fork Galleon provisioning and CLI
scripts execution in dedicated processes. For example:  +
<plugin-options> +
<jboss-fork-embedded>true</jboss-fork-embedded> +
</plugin-options>

* *Type*: `java.util.Map`
* *Required*: `No`
* *Alias*: `plugin-options`



[[projectBuildDir]] *projectBuildDir* +
Project build dir.

* *Type*: `java.lang.String`
* *Required*: `No`
* *Default*: `${project.build.directory}`



[[provisioningFile]] *provisioningFile* +
The path to the `provisioning.xml` file to use. Note
that this cannot be used with the `feature-packs` or
`layers` configuration parameters. If the provisioning
file is not absolute, it has to be relative to the project base
directory.

* *Type*: `java.io.File`
* *Required*: `No`
* *User Property*: `wildfly.bootable.provisioning.file`
* *Default*: `${project.basedir}/galleon/provisioning.xml`
* *Alias*: `provisioning-file`



[[recordState]] *recordState* +
Whether to record provisioned state in .galleon directory.

* *Type*: `boolean`
* *Required*: `No`
* *Default*: `false`
* *Alias*: `record-state`



[[skip]] *skip* +
Set to `true` if you want the deployment to be skipped,
otherwise `false`.

* *Type*: `boolean`
* *Required*: `No`
* *User Property*: `wildfly.bootable.package.skip`
* *Default*: `false`



[[stdout]] *stdout* +
Indicates how `stdout` and `stderr` should be
handled for the server process. A value of `inherit`
means that the standard output streams are inherited from the
current process. Any other value is assumed to be a path. In this
case both `stdout` and `stderr` will be
redirected to a file.

* *Type*: `java.lang.String`
* *Required*: `No`
* *User Property*: `wildfly.bootable.stdout`
* *Default*: `${project.build.directory}/wildfly-jar-dev-stdout.log`







© 2015 - 2024 Weber Informatics LLC | Privacy Policy