Today I've updated my Jenkins plugin, to support latest LTS version.
This article will explain what we should do to support latest LTS Jenkins.
Write dependencies on other plugins explicitly
Previously some core features were bundled in Jenkins core, but now they are independent plugins. If you need features of them, you should write dependencies in pom.xml.
<dependencies> <dependency> <groupId>org.jenkins-ci.plugins</groupId> <artifactId>junit</artifactId> <version>1.3</version> </dependency> <dependency> <groupId>org.jenkins-ci.plugins</groupId> <artifactId>mailer</artifactId> <version>1.10</version> </dependency>
See also: Dependencies among plugins - Jenkins - Jenkins Wiki
Replace deprecated API
API which is annotated with @Deprecated
should be replaced with recommended API. Check Javadoc and implementation of deprecated method, then you can find how you should replace.
In my case, I had to replace following API:
Mailer.descriptor
->JenkinsLocationConfiguration.get
HudsonTestCase
->JenkinsRule
ChangeLogSet(build)
->ChangeLogSet(build, null)
(in test cases)AbstractBuild.getTestResultAction
->AbstractBuild.getAction
About how to use JenkinsRule
, please see Unit Test - Jenkins - Jenkins Wiki.
Add <repositories>
and <pluginRepositories>
to pom.xml
To pass build on buildhive, we need to add both of them to pom.xml.