Maven plugin to build Jenkins plugins. See the Extend Jenkins wiki page for details.
1.120 (2016 Sep 26)
hpi:runto pick up compiled classes & saved resources from core or plugin snapshot dependencies in addition to the plugin under test itself.
Plugin-Dependenciesappears in a consistent order from build to build.
1.119 and earlier
mvn -Prun-its clean install # Find some plugin using the 2.x parent POM and run: mvn -f ../some-plugin -Dhpi-plugin.version=1.XXX-SNAPSHOT -Denforcer.fail=false -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
src/it/parent-2x/pom.xml is the latest. To test a
SNAPSHOT version of the parent POM, set that version and then
mvn -f ../plugin-pom install rm -rf target/local-repo/org/jenkins-ci/plugins/plugin mvn -Prun-its mrm:start invoker:run mrm:stop -Dinvoker.test=parent-2x
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
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
git merge -X ignore-space-at-eol incoming. See diff between
master on these files to see the exact local patches.