Maven plugin for building Jenkins plugins
Java Groovy HTML
Switch branches/tags
maven-hpi-plugin-2.0 maven-hpi-plugin-1.122 maven-hpi-plugin-1.121 maven-hpi-plugin-1.120 maven-hpi-plugin-1.119 maven-hpi-plugin-1.118 maven-hpi-plugin-1.117 maven-hpi-plugin-1.116 maven-hpi-plugin-1.115 maven-hpi-plugin-1.114 maven-hpi-plugin-1.113 maven-hpi-plugin-1.112 maven-hpi-plugin-1.111 maven-hpi-plugin-1.110 maven-hpi-plugin-1.109 maven-hpi-plugin-1.108 maven-hpi-plugin-1.107 maven-hpi-plugin-1.106 maven-hpi-plugin-1.105 maven-hpi-plugin-1.104 maven-hpi-plugin-1.103 maven-hpi-plugin-1.102 maven-hpi-plugin-1.101 maven-hpi-plugin-1.100 maven-hpi-plugin-1.99 maven-hpi-plugin-1.98 maven-hpi-plugin-1.97 maven-hpi-plugin-1.96 maven-hpi-plugin-1.95 maven-hpi-plugin-1.94 maven-hpi-plugin-1.93 maven-hpi-plugin-1.92 maven-hpi-plugin-1.91 maven-hpi-plugin-1.90 maven-hpi-plugin-1.89 maven-hpi-plugin-1.88 maven-hpi-plugin-1.87 maven-hpi-plugin-1.86 maven-hpi-plugin-1.85 maven-hpi-plugin-1.84 maven-hpi-plugin-1.83 maven-hpi-plugin-1.82 maven-hpi-plugin-1.81 maven-hpi-plugin-1.80 maven-hpi-plugin-1.79 maven-hpi-plugin-1.78 maven-hpi-plugin-1.77 maven-hpi-plugin-1.76 maven-hpi-plugin-1.75 maven-hpi-plugin-1.74 maven-hpi-plugin-1.73 maven-hpi-plugin-1.72 maven-hpi-plugin-1.71.1 maven-hpi-plugin-1.71 maven-hpi-plugin-1.70 maven-hpi-plugin-1.69 maven-hpi-plugin-1.68 maven-hpi-plugin-1.67 maven-hpi-plugin-1.66 maven-hpi-plugin-1.65 maven-hpi-plugin-1.64 maven-hpi-plugin-1.63 maven-hpi-plugin-1.62 maven-hpi-plugin-1.61 maven-hpi-plugin-1.60 maven-hpi-plugin-1.59 maven-hpi-plugin-1.58 maven-hpi-plugin-1.57 maven-hpi-plugin-1.56 maven-hpi-plugin-1.55 maven-hpi-plugin-1.54 maven-hpi-plugin-1.53 maven-hpi-plugin-1.52 maven-hpi-plugin-1.51 maven-hpi-plugin-1.50 maven-hpi-plugin-1.49 maven-hpi-plugin-1.48 maven-hpi-plugin-1.47 maven-hpi-plugin-1.46 maven-hpi-plugin-1.45 maven-hpi-plugin-1.44 maven-hpi-plugin-1.43 maven-hpi-plugin-1.42 maven-hpi-plugin-1.41 maven-hpi-plugin-1.40 maven-hpi-plugin-1.39 maven-hpi-plugin-1.38 maven-hpi-plugin-1.37 maven-hpi-plugin-1.36 maven-hpi-plugin-1.35 maven-hpi-plugin-1.34 maven-hpi-plugin-1.33 maven-hpi-plugin-1.32 maven-hpi-plugin-1.31 maven-hpi-plugin-1.30 maven-hpi-plugin-1.29 maven-hpi-plugin-1.28 maven-hpi-plugin-1.27 maven-hpi-plugin-1.26 maven-hpi-plugin-1.25
Nothing to show
Latest commit 137e435 Jun 26, 2017 @jglick jglick committed on GitHub Merge pull request #67 from jglick/InjectedTest
Fixing unchecked/rawtypes warnings in InjectedTest

Maven plugin to build Jenkins plugins. See the developer guide for details.

Mojo documentation


2.0 (2017 May 25)

  • Updated integrated Jetty server to 9.x. This means that JDK 8 is now required at build time. (Plugins may continue to target older Java baselines using the java.level property in the 2.x parent POM.)
  • JENKINS-24064 Added executable-war artifact type, permitting Jenkins to stop deploying the wasteful jenkins-war-*-war-for-test.jar artifact, which was identical to jenkins-war-*.war.

1.122 (2017 Apr 12)

  • Fixed HTML escaping for Javadoc created for taglibs so it can be processed by JDK 8.
  • Logging the current artifact for InjectedTest.
  • More fixes to mojos that assumed that plugin artifacts used a short name identical to the artifactId.
  • Minor archetype updates.

1.121 (2016 Dec 16)

  • Fixing a problem with plugin dependency resolution affecting users of

1.120 (2016 Sep 26)

  • Allowing hpi:run to pick up compiled classes & saved resources from core or plugin snapshot dependencies in addition to the plugin under test itself.
  • Ensuring Plugin-Dependencies appears in a consistent order from build to build.

1.119 and earlier

Not recorded.

For maintainers

mvn -Prun-its clean install
# Find some plugin using the 2.x parent POM and run:
mvn -f ../some-plugin -Dhpi-plugin.version=2.XXX-SNAPSHOT -DskipTests -DjenkinsHome=/tmp/sanity-check-maven-hpi-plugin clean package hpi:run

You can also rerun one test:

mvn -Prun-its mrm:start invoker:run mrm:stop -Dinvoker.test=parent-2x

To rerun just the verification script:

groovy -e "basedir='$(pwd)/target/its/parent-2x'; evaluate new File('src/it/parent-2x/verify.groovy')"

Also make sure project.parent.version in src/it/parent-2x/pom.xml is the latest.

Updating Jetty

hpi:run mojo is a variant of jetty:run mojo, and because of the way plugin descriptor is generated, this module copies some code from Jetty Maven plugin, specifically and

To keep upstream tracking easier, prestine copies of these files are copied into incoming-x.y branch, then package renamed. This version specific incoming branch is then "theirs" merged into the incoming branch, which acts as the upstream tracking branch.

This branch is then merged into master via git merge -X ignore-space-at-eol incoming. See diff between incoming and master on these files to see the exact local patches.