- introduce separate unpacked war directories for
testandgeneratedJenkinsTestso they can use different plugins while retaining backwards compatibility - remove jenkins-war from
test's classpath - improve task dependencies:
testdepends ongenerateTestHpl(wastestClasses) - improve input modeling:
testandgeneratedJenkinsTestclasspaths includegenerateTestHpl - introduce
jenkinsTestGenerationsourceSet - dedicated configuration for generating the test class - introduce
generatedJenkinsTest- dedicated test task for running generated tests, allows for using other test frameworks in thetesttask without negatively impacting the generated tests - introduce
generateJenkinsTests- tested to ensure generated code is warning-free - deprecate
insertTesttask - usegenerateJenkinsTests - upgrade dependency
org.jenkins-ci.main:jenkins-test-harness:2.60->1529.v4fd5bafdcd33 - set
java.awt.headlessontestandgeneratedJenkinsTesttasks - deprecate
JpiExtension#getDisabledTestInjection()- usegenerateTestsproperty - deprecate
JpiExtension#setDisabledTestInjection(boolean)- usegenerateTestsproperty - deprecate
JpiExtension#getInjectedTestName()- usegeneratedTestClassNameproperty - deprecate
JpiExtension#setInjectedTestName(String)- usegeneratedTestClassNameproperty - deprecate
JpiExtension#getRequirePI()- userequireEscapeByDefaultInJellyproperty - deprecate
JpiExtension#setRequirePI(boolean)- userequireEscapeByDefaultInJellyproperty - updated to Gradle 6.8.3
- improves task avoidance by properly modeling manifest generation inputs #179 JENKINS-58205
- introduce
generateJenkinsManifesttask for creating the jar and jpi manifest - introduce
generateJenkinsSupportDynamicLoadingManifestfor aggregating the@Extensionannotations - introduce
generateJenkinsPluginDependenciesManifestfor building the plugin dependencies entry - introduce
generateJenkinsPluginClassManifestfor scanning built sources to find an optionalhudson.Pluginsubclass - fix hpl generation task input tracking by depending on
generateJenkinsManifest - fix problem where server would miss newly updated sources unless explicitly built first
- deprecate
configureManifesttask - deprecate
org.jenkinsci.gradle.plugins.jpi.JpiManifest- use the output ofGenerateJenkinsManifestTaskinstead - deprecate
org.jenkinsci.gradle.plugins.jpi.JpiHplManifest- use the output ofGenerateHplTaskinstead - deprecate
org.jenkinsci.gradle.plugins.jpi.JpiExtension#testSourceTree- resolve through Gradle - deprecate
org.jenkinsci.gradle.plugins.jpi.JpiExtension#mainSourceTree- resolve through Gradle - deprecate
org.jenkinsci.gradle.plugins.jpi.JpiExtension.Developers- see Gradle-managedorg.jenkinsci.gradle.plugins.jpi.core.PluginDeveloper - deprecate
org.jenkinsci.gradle.plugins.jpi.JpiExtension#developers- seeJpiExtension#getPluginDevelopers()
- introduce
checkAccessModifiertask as a dependency ofcheck- it will not fail the build by default - support
-PcheckAccessModifier.useBeta=trueto opt into beta APIs - add
:sourceJardependency on:localizerto fix Gradle 7.0 warning - fix cyclic dependency when using
java-test-fixturesplugin #175
- use
jenkinsPlugin.shortNameas base name of jar #163 - remove plugins from server work dir when removed from dependencies #165
- introduce
generateTestHplfor task name consistency (generate-test-hpldepends ongenerateTestHpl) - use same task class for
generateTestHplandgenerateJenkinsServerHpl - introduce
checkOverlappingSourcescacheable task (was part of JpiManifest creation) - introduce
generateJenkinsServerHplcacheable task (was part ofserver) - introduce
installJenkinsServerPluginscacheable task (was part ofserver) - rewrite
servertask to beJavaExec, fixing bug where server continues to run in background #151 - introduce
jenkinsServerRuntimeOnlyconfiguration, allowing dependencies to be added to theservertask's classpath - improve error message when
jenkinsPlugin.jenkinsVersionis not set #148 - remove
mavenLocal()declaration from project applying plugin #161 - remove dependency on
org.jenkins-ci:version-number - add reason to dependencies added by org.jenkins-ci.jpi plugin
- add sezpoz to
testAnnotationProcessorin project applying plugin #167 - updated to Gradle 6.7.1
- use variant-aware dependency management - PR #132, allowing publication of Gradle Module Metadata
- only configure sources and javadoc variants if
configurePublishingistrue- PR #140, enabling the use of opinionated publishing plugins without duplicate artifacts - requires Gradle 6.0 or later
- remove
jenkinsPluginsin favor of usingimplementation - remove
optionalJenkinsPluginsin favor of using Gradle feature variants - remove
jenkinsTestin favor of usingtestImplementation - updated to Gradle 6.3
- upgrade dependency
org.jenkins-ci.main:jenkins-test-harness:2.31 -> 2.60added to projects - PR #133 - updated to Gradle 6.1.1
- support version constraints, including platforms, when using Gradle 5.3+ - PR #128
- publish failed part of the way through
- disable module metadata generation because it does not contain all variants - PR #127
- fix testClasses task dependency so it runs generate-test-hpl - PR #125
- include plugin classes as a jar JENKINS-54064 - PR #123
- fix use of deprecated properties in Gradle 6.0 - PR #124
- configure tasks with lazy #named:
- compileJava
- processTestResources
- jar
- javadocJar
- sourcesJar
- war
- configure tasks with lazy #configureEach:
- GroovyCompile
- JavaCompile
- register existing tasks with lazy #register:
- configureManifest
- generate-test-hpl
- generateLicenseInfo
- insertTest
- javadocJar
- jpi
- localizer
- resolveTestDependencies
- server
- sourceJar
- let Gradle create JpiExtension instead of manually instantiating
- use of task avoidance APIs requires at least Gradle 4.9 (released: 2018-07-16)
- updated to Gradle 6.0.1
- updated to Gradle 6.0
- fix property annotation of
TestDependenciesTask#configurationin response to Gradle warning - make
GenerateTestHpl#hplDirpropertyfinalin response to Gradle warning - formatting consistency improvements to in-repo documentation
- updated implementation dependency org.jenkins-ci:version-number:1.0 -> 1.1
- updated implementation dependency org.jvnet.localizer:maven-localizer-plugin:1.13 -> 1.24
- updated test dependency org.apache.commons:commons-text:1.6 -> 1.8
- updated test dependency org.spockframework:spock-core:1.2-groovy-2.5 -> 1.3-groovy-2.5
- updated test dependency org.xmlunit:xmlunit-core:2.3.0 -> 2.6.3
- put work directory inside the project directory instead of at root level PR #113
- updated to Gradle 5.5
- Support publishing POMs with resolved versions when dependencies are declared with dynamic versions - PR #112
- updated to Gradle 5.4.1
- Use Gradle DSL for POM customization to allow multiple customizations to co-exist. For example, if you have multiple plugins that set the POM's description from the project description, they work OK together if both using the DSL. This plugin was creating another node, which resulted in duplicate elements. This feature has been available since Gradle 4.8 (released 2018-06-04).
- Enable publishing gradle metadata
-SNAPSHOTplugin version suffix format changed from1.0-SNAPSHOT (private-01/31/1997 11:35-auser)to1.0-SNAPSHOT (private-1997-01-31T11:35:00Z-auser). Previously the format was timezone-dependent, had no indication of which timezone it was from, and did not conflict resolve correctly. ISO8601 timestamps solve all three issues.jenkinsTestdependencies now have jars added totestImplementationinstead oftestCompile.testCompilehas been deprecated since Gradle 4.7 (released 2018-04-18).- Copy dependencies to desired configurations by using
Configuration#withDependenciesinstead of checking the hierarchy and state of configuration resolution before copying. The previous way ended up making the final result dependent on the order configurations were resolved in, which wasn't guaranteed by Gradle. This feature has been present since Gradle 4.4 (released 2017-12-06). - Include a reason on the copied jar dependencies, using the
becauseapi, present since Gradle 4.6 (released 2018-02-28). - updated to Gradle 5.3.1
- skip Jenkins setup wizard on server task (PR #109)
- fix deprecation warning when running on Gradle 5.0
- updated to Gradle 5.0
- add
org.jenkins-ci.main:jenkins-coretoannotationProcessorconfig if >= Gradle 4.6 - drop java 7 testing from CI - Jenkins and Gradle both have Java 8 minimum requirement now
- updated to Gradle 4.8.1
- plugin is now compatible with Gradle 4.8
- updated to Gradle 4.6
- bundle license and dependency information (JENKINS-27729)
- added
jenkinsServerconfiguration that can be used to install extra plugins for theservertask - the
junit:junit-dep:4.10dependency is no longer added tojenkinsTestconfiguration for core versions >= 1.505 (JENKINS-48353) - use Jenkins Test Harness 2.31 for core versions greater than 2.63 (JENKINS-47988)
- allow to override
repoUrlandsnapshotRepoUrlsettings from the command line (JENKINS-45588)
- fixed support for core versions >= 2.64 (JENKINS-46899)
- updated to Gradle 3.5.1
- fixed incremental build (JENKINS-45126)
- fixed transitive plugin dependency resolution, plugin dependencies must not longer be specified with artifact only notation (JENKINS-35412)
- fixed compatibility with Gradle 3.4
- removed the classes
org.jenkinsci.gradle.plugins.jpi.Jpiandorg.jenkinsci.gradle.plugins.jpi.JpiComponentas they are no longer used by the plugin - the
jpitask has been replaced by the standardwartask and changed to a no-op tasks that depends on thewartask, use thewartask to customize the JPI/HPI archive
- updated to Gradle 3.2.1
- strip version from plugin file names in
test-dependenciesdirectory to mimic the behavior of the Maven HPI plugin better - allow to configure licenses for the generated POM (#83)
- updated to Gradle 3.2
- dropped support for building with Java 6
- do not apply "maven-publish" plugin if
configurePublishingisfalse(#80) - fixed problem with missing
Plugin-Classattribute in generated manifest (JENKINS-38920)
- Fixed Servlet API dependency for Jenkins 2.0 and later (JENKINS-34945)
- removed reference to parent POM from generated POM and declare relevant dependencies directly (JENKINS-34874)
- updated Gradle to version 2.13
- copy plugin dependencies to
test-dependenciesdirectory instead ofpluginsdirectory to mimic the behavior of the Maven HPI plugin (#74)
- updated Gradle to version 2.8
- fixed a classpath problem in the
localizertask (#71) - allow to specify the HTTP port for the
servertask with thejenkins.httpPortproject or system property (JENKINS-31881) - changed default repository URL to
https://repo.jenkins-ci.org/releases - changed default snapshot repository URL to
https://repo.jenkins-ci.org/snapshots - use HTTPS URLs for
repo.jenkins-ci.org
- updated Gradle to version 2.5
- removed the
staplertask and thestaplerStubDirproperty, Gradle will generate stubs for annotation processors (see Support for “annotation processing” of Groovy code) - set outputs for
insertTestandgenerate-test-hpltasks to fix problems with incremental builds - fixed injected test suite to avoid compile time warnings
- make SezPoz quiet by default, use
--infoor--debugto get output
- use Jenkins Test Harness 2.0 for core versions greater than 1.644 (JENKINS-32478)
- added
Extension-Nameentry toMANIFEST.MF(JENKINS-31542)
- copy HPI/JPI dependencies from {{jenkinsTest}} configuration to {{plugin}} folder on test classpath (JENKINS-31451)
- removed install script
- fixed a regression introduced in 0.13.0 which causes the manifest to be empty (JENKINS-31426)
- fixed a problem with incremental builds (JENKINS-31186)
- fixed StackOverflowError when using Gradle 2.8 (JENKINS-31188)
- allow to override system properties for the embedded Jenkins instance which is started by the
servertask (JENKINS-29297)
- added a dependency from the
assembleto thejpitask to hook into the standard lifecycle
- allow JPI/HPI file extension and packaging type to be configured by the
fileExtensionproperty, which will default tohpi(JENKINS-28408)
- changed packaging in generated POM back to jpi to fix a regression bug (JENKINS-28305)
- add manifest to the plugin JAR file (JENKINS-27994)
- removed
jenkinsCoredependencies from generated POM because those are inherited from the parent POM - removed runtime scope from plugin and compile dependencies in generated POM
- mark optional plugins in generated POM
- changed packaging in generated POM to hpi for compatibility with maven-hpi-plugin
- copy plugin dependencies to test resources output directory to be able to use
@WithPluginin tests
- localize only
Message.propertiesfiles (JENKINS-27451)
- renamed the
localizerDestDiroption tolocalizerOutputDir, changed its type toObjectand fixed the configuration to recognize a non-default value - add a JAR dependency for each HPI/JPI dependency to the
testCompileconfiguration (JENKINS-17129) - added
configureRepositoriesoption to be able to skip configuration of repositories (JENKINS-17130) - added
configurePublishingoption to be able to skip configuration of publications or repositories for the Maven Publishing plugin
- use classpath from jpi task to build classpath for server task to allow customization in build scripts (JENKINS-26377)
- the
runtimeClasspathread-only property inorg.jenkinsci.gradle.plugins.jpi.JpiExtensionhas been removed
- added task to inject tests for checking the syntax of Jelly and other things (JENKINS-12193)
- updated Gradle to version 2.3
- publish the plugin JAR (JENKINS-25007)
- create
targetdirectory (for coreVersions >= 1.545 and < 1.592), cleantargetdirectory (for coreVersions < 1.598) and setbuildDirectorysystem property for Jenkins test harness (JENKINS-26331)
- support Java 8 (JENKINS-25643)
- updated Gradle to version 2.2.1
- migrated to the maven-publish plugin
- use the
publishandpublishToMavenLocaltasks for publishing, theinstall,deployanduploadArchivestasks are no longer available - all dependencies in the generated POM have the runtime scope
- use the
- re-added the SCM
connectionelement in the generated POM to fix a regression with Jenkins Update Center showing the wrong SCM URL
- fixed regression that caused libraries not to be included in the JPI file (JENKINS-25401)
- dependencies from the
groovyconfiguration are no longer excluded from the JPI archive, use theprovidedCompileconfiguration or the transitive dependencies from Jenkins core instead
- updated Gradle to version 1.12
- added support for
Plugin-Developersmanifest attribute - added support for
Support-Dynamic-Loadingmanifest attribute - set
stapler.jelly.noCachesystem property totruewhen runningservertask - removed
vattribute from manifest - copy plugin dependencies from
jenkinsPluginsconfiguration into working directory when runningservertask (JENKINS-25219) - ignore non-existing source directories in
localizertask - ignore non-existing library paths in
servertask - the value set for the
snapshotRepoUrloption is no longer ignored - added
findbugs:annotations:1.0.0tojenkinsCoreconfiguration to avoid compiler warnings (JENKINS-14400) - the Maven
connectionanddeveloperConnectionSCM information is no longer generated into the POM - removed
gitHubSCMConnectionandgitHubSCMDevConnectionread-only options - replaced usages of deprecated
groovyconfiguration bycompileconfiguration - added a missing setter for
shortName - added
org.jenkins-ci.jpias alternative qualified plugin id for Gradle plugin portal inclusion - removed
WEB_APP_GROUPconstant fromorg.jenkinsci.gradle.plugins.jpi.JpiPlugin - changed visibility of
org.jenkinsci.gradle.plugins.jpi.JpiPlugin.configureConfigurationsto private jpiDeployUserandjpiDeployPasswordproperties fromorg.jenkinsci.gradle.plugins.jpi.JpiExtensionwere not used and have been removedorg.jenkinsci.gradle.plugins.jpi.JpiPluginConventionwas not used and has been removed
- do not exclude org.jenkins-ci.modules:instance-identity from jenkinsTest configuration (JENKINS-23603)
- set up the build to use http://repo.jenkins-ci.org/public/ similar to the Maven POMs (JENKINS-19942)
- register input files for the localizer task to avoid that the task is skipped when the inputs change (JENKINS-24298)
- added pluginFirstClassLoader attribute (JENKINS-24808)
- removed deprecation warnings by using newer API which has been introduced in Gradle 1.6
- use ui-samples-plugin version 2.0 in jenkinsTests configuration when using Jenkins core 1.533 or later (JENKINS-21431)