Fork me on GitHub

Plugin Documentation

Goals available for this plugin:

Goal Description
hpi:assemble-dependencies Used to assemble transitive dependencies of plugins into one location.

Unlike other similar mojos in this plugin, this one traverses dependencies through its graph.

hpi:bundle-plugins Take the current project, list up all the transitive dependencies, then copy them into a specified directory.

Used to assemble jenkins.war by bundling all the necessary plugins.

hpi:create No description.
hpi:custom-war Builds a custom Jenkins war that includes all the additional plugins referenced in this POM.
hpi:generate-taglib-interface Generates the strongly-typed Java interfaces for Groovy taglibs.
hpi:help Display help information on maven-hpi-plugin.
Call mvn hpi:help -Ddetail=true -Dgoal=<goal-name> to display parameter details.
hpi:hpi Build a war/webapp.
hpi:hpl Generate .hpl file.
hpi:insert-test Insert default test suite.
hpi:jar Build a jar separate from the hpi goal. If you do not use this goal then the HpiMojo will generate a jar file anyway. Using this goal it is possible to customize the jar file that is built, e.g. shading dependencies, code signing, etc
hpi:list-plugin-dependencies List up all the plugin dependencies.
hpi:record-core-location Keeps track of where core was built from, so plugins depending on a snapshot version of core can pick up changes without reload.
hpi:resolve-test-dependencies Places test-dependency plugins into somewhere the test harness can pick up.

See TestPluginManager.loadBundledPlugins() where the test harness uses it.

hpi:run Runs Jenkins with the current plugin project.

This only needs the source files to be compiled, so run in the compile phase.

To specify the HTTP port, use -Djetty.port=PORT

hpi:test-hpl Generate .hpl file in the test class directory so that test harness can locate the plugin.
hpi:validate Make sure that we are running in the right environment.

System Requirements

The following specifies the minimum requirements to run this Maven plugin:

Maven 2.0
JDK 1.8
Memory No minimum requirement.
Disk Space No minimum requirement.

Usage

You should specify the version in your project's plugin configuration:

<project>
  ...
  <build>
    <!-- To define the plugin version in your parent POM -->
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.jenkins-ci.tools</groupId>
          <artifactId>maven-hpi-plugin</artifactId>
          <version>2.1</version>
        </plugin>
        ...
      </plugins>
    </pluginManagement>
    <!-- To use the plugin goals in your POM or parent POM -->
    <plugins>
      <plugin>
        <groupId>org.jenkins-ci.tools</groupId>
        <artifactId>maven-hpi-plugin</artifactId>
        <version>2.1</version>
      </plugin>
      ...
    </plugins>
  </build>
  ...
</project>

For more information, see "Guide to Configuring Plug-ins"