Maven plugin to build Jenkins plugins. See the developer guide for details.
- Bugs in the dependency copy of
mvn hpi:runcould lead to anomalies such aswork/plugins/null.jpi.
- Option to override a snapshot plugin version with a more informative string.
- Using a newer standard
VersionNumberthat precisely matches the behavior of the Jenkins plugin manager.
- Fix
mvn clean hpi:runand some similar special goal sequences.
- Jenkins plugin archetypes are no longer bundled with this Maven plugin. Instead use the new project.
- Making
-DwebAppFile=…work. - Fixing unchecked/rawtypes warnings in
InjectedTest. - No more special handling of artifacts with
-eain the version.
- 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.levelproperty in the 2.x parent POM.) - JENKINS-24064 Added
executable-warartifact type, permitting Jenkins to stop deploying the wastefuljenkins-war-*-war-for-test.jarartifact, which was identical tojenkins-war-*.war.
- 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.
- Fixing a problem with plugin dependency resolution affecting users of jitpack.io.
- Allowing
hpi:runto pick up compiled classes & saved resources from core or plugin snapshot dependencies in addition to the plugin under test itself. - Ensuring
Plugin-Dependenciesappears in a consistent order from build to build.
Not recorded.
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:runYou can also rerun one test:
mvn -Prun-its mrm:start invoker:run mrm:stop -Dinvoker.test=parent-2xTo 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.
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 AbstractJettyMojo.java and ConsoleScanner.java.
To keep upstream tracking easier, pristine 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.