Fork me on GitHub

hpi:custom-war

Full name:

org.jenkins-ci.tools:maven-hpi-plugin:3.9:custom-war

Description:

Builds a custom Jenkins war that includes all the additional plugins referenced in this POM.

Attributes:

  • Requires a Maven project to be executed.
  • Requires dependency resolution of artifacts in scope: runtime.
  • Binds by default to the lifecycle phase: package.
  • Invokes the execution of the lifecycle phase compile prior to executing itself.

Required Parameters

Name Type Since Description
<minimumJavaVersion> String - Specify the minimum version of Java that this plugin requires.

Optional Parameters

Name Type Since Description
<addThisPluginToCustomWar> boolean - Add this plugin to custom war
Default value is: false.
User property is: addThisPluginToCustomWar.
<consoleForceReload> boolean - If true, the context will be restarted after a line feed on the input console. Disabled by default.
Default value is: true.
User property is: jetty.consoleForceReload.
<contextHandlers> ContextHandler[] - List of other contexts to set up. Consider using instead the <jettyXml> element to specify external jetty xml config file. Optional.
<contextXml> String - Location of a context xml configuration file whose contents will be applied to the webapp AFTER anything in <webApp>.Optional.
Alias is: webAppXml.
<defaultPort> int - Specifies the HTTP port number. If connectors are configured in the Mojo, that'll take precedence.
User property is: port.
<dependencyResolution> String - Decides the level of dependency resolution. This controls what plugins are made available to the running Jenkins.
Default value is: test.
<dumpOnStart> boolean - Use the dump() facility of jetty to print out the server configuration to logging
Default value is: false.
User property is: dumponStart.
<excludedGoals> String[] jetty-7.5.2 List of goals that are NOT to be used
<httpConnector> MavenServerConnector - A ServerConnector to use.
<hudsonHome> File - Path to $JENKINS_HOME. The launched Jenkins will use this directory as the workspace.
Default value is: ${HUDSON_HOME}.
User property is: hudsonHome.
<jenkinsCoreId> String 1.65 Optional string that represents "groupId:artifactId" of Jenkins core jar. If left unspecified, the default groupId/artifactId pair for Jenkins is looked for.
<jenkinsHome> File - Path to $JENKINS_HOME. The launched Jenkins will use this directory as the workspace.
Default value is: ${JENKINS_HOME}.
User property is: jenkinsHome.
<jenkinsWarId> String - Optional string that represents "groupId:artifactId" of Jenkins war. If left unspecified, the default groupId/artifactId pair for Jenkins is looked for.
<jettyXml> String - Comma separated list of a jetty xml configuration files whose contents will be applied before any plugin configuration. Optional.
Alias is: jettyConfig.
<localRepository> ArtifactRepository - (no description)
Default value is: ${localRepository}.
<loggers> Map 1.98 List of loggers to define. Keys are logger names (usually package or class names); values are level names (such as FINE).
<loginServices> LoginService[] - List of security realms to set up. Consider using instead the <jettyXml> element to specify external jetty xml config file. Optional.
<maskClasses> String - [ws|tab|CR|LF]+ separated list of package prefixes that your plugin doesn't want to see from the core.

Tokens in this list is prefix-matched against the fully-qualified class name, so add "." to the end of each package name, like "com.foo. com.bar."


<outputFile> File - (no description)
<pluginFirstClassLoader> boolean 1.94 (no description)
<projectArtifacts> Set - The artifacts for the project.
Default value is: ${project.artifacts}.
<reload> String - reload can be set to either 'automatic' or 'manual' if 'manual' then the context can be reloaded by a linefeed in the console if 'automatic' then traditional reloading on changed files is enabled.
Default value is: automatic.
User property is: jetty.reload.
<requestLog> RequestLog - A RequestLog implementation to use for the webapp at runtime. Consider using instead the <jettyXml> element to specify external jetty xml config file. Optional.
<scanIntervalSeconds> int - The interval in seconds to scan the webapp for changes and restart the context if necessary. Ignored if reload is enabled. Disabled by default.
Default value is: 0.
User property is: jetty.scanIntervalSeconds.
<skip> boolean - Skip this mojo execution.
Default value is: false.
User property is: jetty.skip.
<stopKey> String - Key to provide when stopping jetty on executing java -DSTOP.KEY=<stopKey> -DSTOP.PORT=<stopPort> -jar start.jar --stop
<stopPort> int - Port to listen to stop jetty on executing -DSTOP.PORT=<stopPort> -DSTOP.KEY=<stopKey> -jar start.jar --stop
<systemProperties> Map 1.85 List of additional System properties to set
<systemPropertiesFile> File - File containing system properties to be set before execution Note that these properties will NOT override System properties that have been set on the command line, by the JVM, or directly in the POM via systemProperties. Optional.
User property is: jetty.systemPropertiesFile.
<useProvidedScope> boolean jetty-7.5.2 Whether or not to include dependencies on the plugin's classpath with <scope>provided</scope> Use WITH CAUTION as you may wind up with duplicate jars/classes.
Default value is: false.
<warSourceDirectory> File - Single directory for extra files to include in the WAR.
Default value is: ${basedir}/src/main/webapp.
<webApp> JettyWebAppContext - An instance of org.eclipse.jetty.webapp.WebAppContext that represents the webapp. Use any of its setters to configure the webapp. This is the preferred and most flexible method of configuration, rather than using the (deprecated) individual parameters like "tmpDirectory", "contextPath" etc.
Alias is: webAppConfig.
<webAppFile> File - The location of the war file.

Normally this should be left empty, in which case the plugin loads it from the repository. But this parameter allows that to be overwritten.


User property is: webAppFile.

Parameter Details

<addThisPluginToCustomWar>

Add this plugin to custom war
  • Type: boolean
  • Required: No
  • User Property: addThisPluginToCustomWar
  • Default: false

<consoleForceReload>

If true, the context will be restarted after a line feed on the input console. Disabled by default.
  • Type: boolean
  • Required: No
  • User Property: jetty.consoleForceReload
  • Default: true

<contextHandlers>

List of other contexts to set up. Consider using instead the <jettyXml> element to specify external jetty xml config file. Optional.
  • Type: org.eclipse.jetty.server.handler.ContextHandler[]
  • Required: No

<contextXml>

Location of a context xml configuration file whose contents will be applied to the webapp AFTER anything in <webApp>.Optional.
  • Type: java.lang.String
  • Required: No
  • Alias: webAppXml

<defaultPort>

Specifies the HTTP port number. If connectors are configured in the Mojo, that'll take precedence.
  • Type: int
  • Required: No
  • User Property: port

<dependencyResolution>

Decides the level of dependency resolution. This controls what plugins are made available to the running Jenkins.
  • Type: java.lang.String
  • Required: No
  • Default: test

<dumpOnStart>

Use the dump() facility of jetty to print out the server configuration to logging
  • Type: boolean
  • Required: No
  • User Property: dumponStart
  • Default: false

<excludedGoals>

List of goals that are NOT to be used
  • Type: java.lang.String[]
  • Since: jetty-7.5.2
  • Required: No

<httpConnector>

A ServerConnector to use.
  • Type: org.eclipse.jetty.maven.plugin.MavenServerConnector
  • Required: No

<hudsonHome>

Path to $JENKINS_HOME. The launched Jenkins will use this directory as the workspace.
  • Type: java.io.File
  • Required: No
  • User Property: hudsonHome
  • Default: ${HUDSON_HOME}

<jenkinsCoreId>

Optional string that represents "groupId:artifactId" of Jenkins core jar. If left unspecified, the default groupId/artifactId pair for Jenkins is looked for.
  • Type: java.lang.String
  • Since: 1.65
  • Required: No

<jenkinsHome>

Path to $JENKINS_HOME. The launched Jenkins will use this directory as the workspace.
  • Type: java.io.File
  • Required: No
  • User Property: jenkinsHome
  • Default: ${JENKINS_HOME}

<jenkinsWarId>

Optional string that represents "groupId:artifactId" of Jenkins war. If left unspecified, the default groupId/artifactId pair for Jenkins is looked for.
  • Type: java.lang.String
  • Required: No

<jettyXml>

Comma separated list of a jetty xml configuration files whose contents will be applied before any plugin configuration. Optional.
  • Type: java.lang.String
  • Required: No
  • Alias: jettyConfig

<localRepository>

(no description)
  • Type: org.apache.maven.artifact.repository.ArtifactRepository
  • Required: No
  • Default: ${localRepository}

<loggers>

List of loggers to define. Keys are logger names (usually package or class names); values are level names (such as FINE).
  • Type: java.util.Map
  • Since: 1.98
  • Required: No

<loginServices>

List of security realms to set up. Consider using instead the <jettyXml> element to specify external jetty xml config file. Optional.
  • Type: org.eclipse.jetty.security.LoginService[]
  • Required: No

<maskClasses>

[ws|tab|CR|LF]+ separated list of package prefixes that your plugin doesn't want to see from the core.

Tokens in this list is prefix-matched against the fully-qualified class name, so add "." to the end of each package name, like "com.foo. com.bar."

  • Type: java.lang.String
  • Required: No

<minimumJavaVersion>

Specify the minimum version of Java that this plugin requires.
  • Type: java.lang.String
  • Required: Yes

<outputFile>

(no description)
  • Type: java.io.File
  • Required: No

<pluginFirstClassLoader>

(no description)
  • Type: boolean
  • Since: 1.94
  • Required: No

<projectArtifacts>

The artifacts for the project.
  • Type: java.util.Set
  • Required: No
  • Default: ${project.artifacts}

<reload>

reload can be set to either 'automatic' or 'manual' if 'manual' then the context can be reloaded by a linefeed in the console if 'automatic' then traditional reloading on changed files is enabled.
  • Type: java.lang.String
  • Required: No
  • User Property: jetty.reload
  • Default: automatic

<requestLog>

A RequestLog implementation to use for the webapp at runtime. Consider using instead the <jettyXml> element to specify external jetty xml config file. Optional.
  • Type: org.eclipse.jetty.server.RequestLog
  • Required: No

<scanIntervalSeconds>

The interval in seconds to scan the webapp for changes and restart the context if necessary. Ignored if reload is enabled. Disabled by default.
  • Type: int
  • Required: No
  • User Property: jetty.scanIntervalSeconds
  • Default: 0

<skip>

Skip this mojo execution.
  • Type: boolean
  • Required: No
  • User Property: jetty.skip
  • Default: false

<stopKey>

Key to provide when stopping jetty on executing java -DSTOP.KEY=<stopKey> -DSTOP.PORT=<stopPort> -jar start.jar --stop
  • Type: java.lang.String
  • Required: No

<stopPort>

Port to listen to stop jetty on executing -DSTOP.PORT=<stopPort> -DSTOP.KEY=<stopKey> -jar start.jar --stop
  • Type: int
  • Required: No

<systemProperties>

List of additional System properties to set
  • Type: java.util.Map
  • Since: 1.85
  • Required: No

<systemPropertiesFile>

File containing system properties to be set before execution Note that these properties will NOT override System properties that have been set on the command line, by the JVM, or directly in the POM via systemProperties. Optional.
  • Type: java.io.File
  • Required: No
  • User Property: jetty.systemPropertiesFile

<useProvidedScope>

Whether or not to include dependencies on the plugin's classpath with <scope>provided</scope> Use WITH CAUTION as you may wind up with duplicate jars/classes.
  • Type: boolean
  • Since: jetty-7.5.2
  • Required: No
  • Default: false

<warSourceDirectory>

Single directory for extra files to include in the WAR.
  • Type: java.io.File
  • Required: No
  • Default: ${basedir}/src/main/webapp

<webApp>

An instance of org.eclipse.jetty.webapp.WebAppContext that represents the webapp. Use any of its setters to configure the webapp. This is the preferred and most flexible method of configuration, rather than using the (deprecated) individual parameters like "tmpDirectory", "contextPath" etc.
  • Type: org.eclipse.jetty.maven.plugin.JettyWebAppContext
  • Required: No
  • Alias: webAppConfig

<webAppFile>

The location of the war file.

Normally this should be left empty, in which case the plugin loads it from the repository. But this parameter allows that to be overwritten.

  • Type: java.io.File
  • Required: No
  • User Property: webAppFile