diff --git a/.dependabot/config.yml b/.dependabot/config.yml index 72265f5261..7987d3f32b 100644 --- a/.dependabot/config.yml +++ b/.dependabot/config.yml @@ -12,6 +12,10 @@ update_configs: ignored_updates: - match: dependency_name: "org.jenkins-ci.main:jenkins-core" + - match: + dependency_name: "org.jenkins-ci.main:jenkins-war" + - match: + dependency_name: "org.jenkins-ci.main:jenkins-bom" - match: dependency_name: "slf4j-api" - match: diff --git a/CONTRIBUTING.adoc b/CONTRIBUTING.adoc index 36ab93ba7c..f6c23bf8b3 100644 --- a/CONTRIBUTING.adoc +++ b/CONTRIBUTING.adoc @@ -13,7 +13,7 @@ For major changes we usually expect a reference implementation to be provided in To run and build the repository with integration tests, you can execute - mvn -Prun-plugin-pom-its clean verify + mvn clean verify ## Building and using snapshots @@ -21,8 +21,8 @@ Snapshots might be needed to provide reference implementations for Plugin POM pa If you are a plugin maintainer with account on Jenkins artifactory, you can deploy a Plugin POM snapshot using this command: - mvn clean deploy - + mvn clean deploy + Once the snapshot is deployed, you will see a timestamped snapshot version in Maven console output. Then you can just replace the Plugin POM version in your downstream PRs by this version so that you can demonstrate the build on ci.jenkins.io @@ -31,7 +31,7 @@ Then you can just replace the Plugin POM version in your downstream PRs by this ### Managing release notes * Changelog drafts are automatically by link:https://github.com/toolmantim/release-drafter[Release Drafter] -* See the documentation about Jenkins Release Drafter configuration link:https://github.com/jenkinsci/.github/blob/master/docs/release-drafter.adoc[here] +** See the documentation about Jenkins Release Drafter configuration link:https://github.com/jenkinsci/.github/blob/master/.github/release-drafter.adoc[here] * When merging pull requests... ** Make sure to modify pull request titles to make them user-friendly ** Set proper labels so the changelog is categorized diff --git a/Jenkinsfile b/Jenkinsfile index d205b5663d..e58a9d988e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,25 +1,11 @@ -pipeline { - options { - buildDiscarder(logRotator(numToKeepStr: '20')) - timeout(time: 1, unit: 'HOURS') - } - agent { - docker { - image 'maven:3.6.0-jdk-8' - label 'docker' - } - } - stages { - stage('main') { - steps { - sh 'mvn -B -Prun-plugin-pom-its clean verify' - } - post { - failure { - catchError { // JENKINS-42478: in case the failure occurred prior to getting the node - archiveArtifacts artifacts: 'target/its/*/build.log', allowEmptyArchive: true - } - } +properties([buildDiscarder(logRotator(numToKeepStr: '20'))]) +node('maven') { + checkout scm + timeout(time: 1, unit: 'HOURS') { + // TODO Azure mirror + ansiColor('xterm') { + withEnv(['MAVEN_OPTS=-Djansi.force=true']) { + sh 'mvn -B -Dstyle.color=always -ntp clean verify' } } } diff --git a/README.md b/README.md index a72d32528e..05a3698047 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,14 @@ -# plugin-pom -Parent POM for Jenkins Plugins +# Parent POM for Jenkins Plugins + +[![GitHub release](https://img.shields.io/github/release/jenkinsci/plugin-pom.svg?label=changelog)](https://github.com/jenkinsci/plugin-pom/releases/latest) +[![GitHub license](https://img.shields.io/github/license/jenkinsci/plugin-pom)](https://github.com/jenkinsci/plugin-pom/blob/master/LICENSE) ## Introduction This new parent POM is decoupled from the core Jenkins project, both from the Maven and repository perspectives. +Since version 4.0 the plugin pom supports Jenkins 2.200 and higher and a select few older LTS lines ([full list](https://repo.jenkins-ci.org/releases/org/jenkins-ci/main/jenkins-bom/)) + The main changes are: * Reduced number of overridable properties. All references (e.g. dependencies and plugin versions) not thought to be overridden are no longer based on properties. The main remaining overridable properties are: @@ -13,12 +17,11 @@ thought to be overridden are no longer based on properties. The main remaining o See [Java Support](#java-support) for more info. * `jenkins-test-harness.version`: The [JTH version](https://github.com/jenkinsci/jenkins-test-harness/releases) used to test plugin. Uses split test-harness (see [JENKINS-32478](https://issues.jenkins-ci.org/browse/JENKINS-32478)). - If the required Jenkins version is 1.580.1 or higher, JTH 2.1+ is recommended. * `hpi-plugin.version`: The HPI Maven Plugin version used by the plugin. (Generally you should not set this to a version _lower_ than that specified in the parent POM.) * `stapler-plugin.version`: The Stapler Maven plugin version required by the plugin. * `java.level.test`: The Java version to use to build the plugin tests. - * In order to make their versions the same as the used core version, `slf4jVersion`, `node.version` and `npm.version` + * In order to make their versions the same as the used core version, `node.version` and `npm.version` properties are provided. * Tests are skipped during the `perform` phase of a release (can be overridden by setting `release.skipTests` to false). * Javadoc has been set to _quiet_ by default in 2.20+, which means it will only log errors and warnings. @@ -58,27 +61,9 @@ If you had a `jar:test-jar` execution, delete it and add to `properties`: The plugin POM is designed for plugin builds with JDK 8 or above, but target `java.level` for a plugin may differ from a JDK version used for the build. -Starting from Plugin POM `3.44`, support of Java 7 targets in Plugin POM is deprecated, -`java.level=8` and `jenkins.version>2.59` are expected to be used for most plugins. - -### Using deprecated Java targets - -If recent plugin POM versions are required for a plugin with older baselines, -a developer can use dependency version system properties to downgrade components incompatible with Java 7. +Starting from Plugin POM `3.44`, support of Java 7 targets in Plugin POM is deprecated and has been removed in `4.0`, +`java.level=8` and `jenkins.version>2.204.1` are expected to be used for most plugins. -Example: - -```xml - - 2.32.3 - 7 - - 1.17 - -``` - -Such mode is no longer tested in the repository, -and the list of incompatible dependencies will expand without further notice in new releases. ## Incrementals @@ -90,121 +75,25 @@ See [Incrementals](https://github.com/jenkinsci/incrementals-tools) for details. To run JMH benchmarks from JUnit tests, you must run you must activate the `benchmark` profile. For example: ```bash -mvn -Dbenchmark test +mvn -P jmh-benchmark test ``` -When the `benchmark` property is set, no tests apart from JMH benchmarks will be run. +When the `jmh-benchmark` profile is enabled, no tests apart from JMH benchmarks will be run. The names of the classes containing the benchmark runners should either begin with or -end with the the word `Benchmark`. For example, `FooBenchmark` and `BenchmarkFoo` will +end with the word `Benchmark`. For example, `FooBenchmark` and `BenchmarkFoo` will be detected when using `-Dbenchmark`, however, `FooBar` will be ignored. See also: [documentation for JMH benchmarks](https://github.com/jenkinsci/jenkins-test-harness/blob/master/docs/jmh-benchmarks.adoc) -## Baselines - -It is handy to be able to select different Jenkins baselines with a Maven profile. -To set this up, you must edit your `~/.m2/settings.xml` to include some new entries in the `` section. -For example: - -```xml - - jenkins-289 - - 2.89.2 - - - - jenkins-273 - - 2.73.3 - - - - jenkins-260 - - 2.60.3 - - - - jenkins-246 - - 2.46.3 - - - - jenkins-232 - - 2.32.3 - - - - jenkins-219 - - 2.19.4 - - - - jenkins-27 - - 2.7.3 - - - - jenkins-651 - - 1.651.3 - - - - jenkins-642 - - 1.642.4 - - - - jenkins-625 - - 1.625.3 - - - - jenkins-609 - - 1.609.3 - - - - jenkins-596 - - 1.596.3 - - - - jenkins-580 - - 1.580.3 - - - - jenkins-565 - - 1.565.3 - 1.565.3 - - -``` - -Now for example if your plugin normally builds against 1.625.x, but you wish to test compatibility with 1.651.x, -there is no need to edit your POM. Just run: - - mvn -Pjenkins-651 clean test - -or - - mvn -Pjenkins-651 hpi:run - ## Setup Wizard By default, the setup wizard (Jenkins >= 2.0) is skipped when using `hpi:run`. If you want the wizard to be enabled just run: mvn -Dhudson.Main.development=false hpi:run +## Jenkins Core BOM + +Since version 2.195, Jenkins provides a [Maven Bill Of Materials (BOM)](https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Importing_Dependencies) +that centrally defines versions of various libraries used by Jenkins Core and should make it easier to update to newer Jenkins Core versions + +For more information, see the [Dependency Management](https://jenkins.io/doc/developer/plugin-development/dependency-management/) section of the +[plugin development guide](https://jenkins.io/doc/developer/plugin-development/). diff --git a/pom.xml b/pom.xml index f090ab8fa8..f8c34e21d3 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ org.jenkins-ci.plugins plugin - 3.48-SNAPSHOT + 4.2-SNAPSHOT pom Jenkins Plugin Parent POM @@ -38,6 +38,7 @@ scm:git:ssh://git@github.com/jenkinsci/plugin-pom.git scm:git:ssh://git@github.com/jenkinsci/plugin-pom.git + https://github.com/jenkinsci/plugin-pom HEAD @@ -47,56 +48,50 @@ UTF-8 - -Xmx768M -Djava.awt.headless=true - 2.138.4 - 2.52 - 3.6 + -Xms768M -Xmx768M -Djava.awt.headless=true -XX:+HeapDumpOnOutOfMemoryError -XX:+TieredCompilation -XX:TieredStopAtLevel=1 + + 2.204 + ${jenkins.version} + + 2.64 + + 3.14 1.17 you-must-override-the-java.level-property - 1.${java.level} ${java.level} - 1 - ${concurrency} - false - - true - Medium - default - - - ${findbugs.failOnError} + - ${findbugs.threshold} + Medium - ${findbugs.effort} + Default true true - 1.7.25 4.0.0 2.13.1 0.23.0 - 1.7.6 + 1.10.0 - - git - 1.11.2 + true + 1.16 ${access-modifier.version} ${access-modifier.version} - 1.17 + 1.18 + 2.0.7 + false https://repo.jenkins-ci.org/incrementals/ @@ -107,16 +102,12 @@ - - - com.github.spotbugs - spotbugs-annotations - 3.1.12 - - net.jcip - jcip-annotations - 1.0 + org.jenkins-ci.main + jenkins-bom + ${jenkins-bom.version} + pom + import org.jenkins-ci.main @@ -143,8 +134,9 @@ junit junit - 4.12 + 4.13 + javax.servlet javax.servlet-api @@ -155,71 +147,57 @@ animal-sniffer-annotations ${animal.sniffer.version} - - org.codehaus.mojo.signature - java15 - 1.0 - signature - - - org.codehaus.mojo.signature - java16 - 1.1 - signature - - - org.codehaus.mojo.signature - java17 - 1.0 - signature - org.codehaus.mojo.signature java18 1.0 signature - - - commons-logging - commons-logging - 1.2 - provided - - - log4j - log4j - 1.2.17 - provided - - - org.mockito mockito-core - 2.28.2 + 3.3.3 org.powermock powermock-module-junit4 - 2.0.2 + ${powermock.version} org.powermock powermock-api-mockito2 - 2.0.2 + ${powermock.version} org.objenesis objenesis - 3.0.1 + 3.1 + + + + org.jenkins-ci.main + jenkins-core + provided + + + + org.jenkins-ci.main + jenkins-war + executable-war + test + + + + + javax.servlet + javax.servlet-api + provided + + com.github.spotbugs @@ -233,6 +211,7 @@ provided true + org.codehaus.mojo @@ -240,34 +219,30 @@ provided true - - javax.servlet - javax.servlet-api + + + commons-logging + commons-logging provided - org.jenkins-ci.main - jenkins-core + org.kohsuke + access-modifier-annotation provided + + + + org.jenkins-ci + annotation-indexer + + - - - org.jenkins-ci.main - jenkins-war - executable-war - test - + org.jenkins-ci.main jenkins-test-harness test - - - junit - junit-dep - - org.jenkins-ci @@ -279,51 +254,8 @@ junit test - - org.slf4j - slf4j-api - ${slf4jVersion} - compile - - true - - - - org.slf4j - log4j-over-slf4j - ${slf4jVersion} - test - - - org.slf4j - jcl-over-slf4j - ${slf4jVersion} - test - - - org.slf4j - slf4j-jdk14 - ${slf4jVersion} - test - - - org.kohsuke - access-modifier-annotation - ${access-modifier-annotation.version} - provided - - - org.jenkins-ci - annotation-indexer - - - - - commons-logging - commons-logging - provided - + + 3.0.0-M3 maven-install-plugin @@ -374,12 +310,12 @@ maven-javadoc-plugin - 3.1.0 + 3.2.0 ${java.level} true - http://javadoc.jenkins.io/ + https://javadoc.jenkins.io/ @@ -389,7 +325,7 @@ maven-site-plugin - 3.7.1 + 3.9.0 maven-project-info-reports-plugin @@ -397,12 +333,7 @@ maven-source-plugin - 3.1.0 - - - InjectedTest.java - - + 3.2.1 maven-war-plugin @@ -424,14 +355,14 @@ - org.codehaus.gmaven - gmaven-plugin - 1.5-jenkins-3 + org.codehaus.gmavenplus + gmavenplus-plugin + 1.9.0 org.codehaus.mojo build-helper-maven-plugin - 3.0.0 + 3.1.0 add-source @@ -450,12 +381,7 @@ org.jacoco jacoco-maven-plugin - 0.8.4 - - - org.kohsuke.gmaven - gmaven-plugin - 1.0-rc-5-patch-2 + 0.8.5 org.kohsuke.stapler @@ -490,7 +416,7 @@ io.jenkins.tools.incrementals incrementals-maven-plugin - 1.0-beta-7 + 1.1 org.jenkins-ci.* @@ -500,6 +426,11 @@ false + + com.github.spotbugs + spotbugs-maven-plugin + 4.0.0 + @@ -609,6 +540,27 @@ + + no-snapshots-in-release + validate + + enforce + + + + + + No SNAPSHOT versions are allowed for releases + true + + false + + + + @@ -621,7 +573,6 @@ com.github.spotbugs spotbugs-maven-plugin - 3.1.12 ${spotbugs.failOnError} @@ -661,6 +612,7 @@ check check + test @@ -682,7 +634,7 @@ /jenkins - ${plugin.minimumJavaVersion} + 1.${java.level} ${hudson.Main.development} @@ -733,24 +685,23 @@ - org.codehaus.gmaven - gmaven-plugin + org.codehaus.gmavenplus + gmavenplus-plugin test-in-groovy + addTestSources generateTestStubs - testCompile + compileTests - - - ant - ant - 1.6.5 - - + + + ${project.build.directory}/generated-test-sources/groovy-stubs + + maven-antrun-plugin @@ -759,9 +710,9 @@ createTempDir generate-test-resources - + - + run @@ -772,6 +723,26 @@ maven-surefire-plugin + + false + + + hudson.udp + -1 + + + java.io.tmpdir + ${surefireTempDir} + + + alphabetical + + + + maven-failsafe-plugin + + + false hudson.udp @@ -828,6 +799,52 @@ + + + + org.codehaus.mojo + mrm-maven-plugin + 1.2.0 + false + + + + start + stop + + + repository.proxy.url + + + + + + + + + maven-invoker-plugin + 3.2.1 + false + + + integration-test + + install + run + + + true + true + ${project.build.directory}/its + ${basedir}/target/local-repo + src/it/settings.xml + + ${repository.proxy.url} + + + + + @@ -869,42 +886,12 @@ 8 - - deprecated-java.level-7 - - - java.level - 7 - - - - - - maven-antrun-plugin - - - initialize - warn-deprecated-java.level - - run - - - - WARNING: Plugin POM defines java.level=${java.level} which is deprecated in the current Plugin POM version. See https://github.com/jenkinsci/plugin-pom/blob/master/README.md#java-support - - - - - - - - jenkins-release ${release.skipTests} - ${release.skipTests} ${release.skipTests} + ${release.skipTests} @@ -980,11 +967,11 @@ - org.codehaus.gmaven - gmaven-plugin + org.codehaus.gmavenplus + gmavenplus-plugin [1.0,) - testCompile + compileTests generateTestStubs @@ -1006,29 +993,6 @@ always - - rerunFailingTests - - - !test - - - - 4 - - - - skip-spotbugs-with-tests - - - skipTests - true - - - - true - - skip-node-tests @@ -1103,7 +1067,6 @@ report - prepare-package report @@ -1293,50 +1256,6 @@ - - jgit-scm-provider - - - git.provider - jgit - - - - - - maven-release-plugin - - - ${git.provider} - - - - - org.apache.maven.scm - maven-scm-provider-jgit - ${maven-scm.version} - - - - - maven-scm-plugin - ${maven-scm.version} - - - ${git.provider} - - - - - org.apache.maven.scm - maven-scm-provider-jgit - ${maven-scm.version} - - - - - - consume-incrementals @@ -1366,7 +1285,7 @@ org.codehaus.mojo flatten-maven-plugin - 1.1.0 + 1.2.2 true @@ -1407,7 +1326,7 @@ io.jenkins.tools.incrementals incrementals-enforcer-rules - 1.0-beta-7 + 1.1 @@ -1471,63 +1390,9 @@ - - run-plugin-pom-its - - - - org.codehaus.mojo - mrm-maven-plugin - 1.2.0 - - - - start - stop - - - repository.proxy.url - - - - - - - - - maven-invoker-plugin - 3.2.0 - - - integration-test - - install - run - - - false - true - ${project.build.directory}/its - ${basedir}/target/local-repo - src/it/settings.xml - - ${repository.proxy.url} - - - - - - - - jmh-benchmark - - - benchmark - - @@ -1543,5 +1408,19 @@ + + + + quick-build + + + true + true + true + true + true + true + + diff --git a/src/it/benchmark/invoker.properties b/src/it/benchmark/invoker.properties index 85dbb8329f..06c07a105c 100644 --- a/src/it/benchmark/invoker.properties +++ b/src/it/benchmark/invoker.properties @@ -1 +1 @@ -invoker.goals=-Dbenchmark clean test +invoker.goals=-P jmh-benchmark -Dstyle.color=always -ntp clean test diff --git a/src/it/benchmark/pom.xml b/src/it/benchmark/pom.xml index e56be8c582..84a3b22fb6 100644 --- a/src/it/benchmark/pom.xml +++ b/src/it/benchmark/pom.xml @@ -13,7 +13,7 @@ 1.0-SNAPSHOT jar - 2.60.3 + 2.204 8 diff --git a/src/it/beta-fail/invoker.properties b/src/it/beta-fail/invoker.properties index d7458cf72a..2c033519e7 100644 --- a/src/it/beta-fail/invoker.properties +++ b/src/it/beta-fail/invoker.properties @@ -1,2 +1,2 @@ -invoker.goals=clean install +invoker.goals=-Dstyle.color=always -ntp clean install invoker.buildResult=failure diff --git a/src/it/beta-fail/pom.xml b/src/it/beta-fail/pom.xml index d8e8fb8064..153ab36869 100644 --- a/src/it/beta-fail/pom.xml +++ b/src/it/beta-fail/pom.xml @@ -13,7 +13,7 @@ 1.0-SNAPSHOT pom - 2.60.3 + 2.204 8 true diff --git a/src/it/beta-fail/postbuild.groovy b/src/it/beta-fail/postbuild.groovy index 1854c1268d..66b0092688 100644 --- a/src/it/beta-fail/postbuild.groovy +++ b/src/it/beta-fail/postbuild.groovy @@ -1,3 +1,3 @@ -assert new File(basedir, 'build.log').text.contains('[ERROR] downstream/Caller:5 upstream/Api.experimental()V is still in beta') +assert new File(basedir, 'build.log').text.replaceAll(/\e\[[\d;]*[^\d;]/, '').contains('[ERROR] downstream/Caller:5 upstream/Api.experimental()V is still in beta') return true diff --git a/src/it/beta-just-testing/invoker.properties b/src/it/beta-just-testing/invoker.properties index 4b89532743..de21ce6dfe 100644 --- a/src/it/beta-just-testing/invoker.properties +++ b/src/it/beta-just-testing/invoker.properties @@ -1 +1 @@ -invoker.goals=clean install +invoker.goals=-Dstyle.color=always -ntp clean install diff --git a/src/it/beta-just-testing/pom.xml b/src/it/beta-just-testing/pom.xml index 64d3d093d2..29d795760c 100644 --- a/src/it/beta-just-testing/pom.xml +++ b/src/it/beta-just-testing/pom.xml @@ -13,8 +13,8 @@ 1.0-SNAPSHOT pom - 2.7.3 - 7 + 2.204 + 8 true diff --git a/src/it/beta-pass/invoker.properties b/src/it/beta-pass/invoker.properties index 4b89532743..de21ce6dfe 100644 --- a/src/it/beta-pass/invoker.properties +++ b/src/it/beta-pass/invoker.properties @@ -1 +1 @@ -invoker.goals=clean install +invoker.goals=-Dstyle.color=always -ntp clean install diff --git a/src/it/beta-pass/pom.xml b/src/it/beta-pass/pom.xml index 53453574bd..9a32cd10b0 100644 --- a/src/it/beta-pass/pom.xml +++ b/src/it/beta-pass/pom.xml @@ -13,7 +13,7 @@ 1.0-SNAPSHOT pom - 2.107.1 + 2.204 8 true diff --git a/src/it/incrementals-and-plugin-bom/.mvn/extensions.xml b/src/it/incrementals-and-plugin-bom/.mvn/extensions.xml new file mode 100644 index 0000000000..40d8e14027 --- /dev/null +++ b/src/it/incrementals-and-plugin-bom/.mvn/extensions.xml @@ -0,0 +1,9 @@ + + + diff --git a/src/it/incrementals-and-plugin-bom/.mvn/maven.config b/src/it/incrementals-and-plugin-bom/.mvn/maven.config new file mode 100644 index 0000000000..2a0299c486 --- /dev/null +++ b/src/it/incrementals-and-plugin-bom/.mvn/maven.config @@ -0,0 +1,2 @@ +-Pconsume-incrementals +-Pmight-produce-incrementals diff --git a/src/it/incrementals-and-plugin-bom/invoker.properties b/src/it/incrementals-and-plugin-bom/invoker.properties new file mode 100644 index 0000000000..c7b8c3b82f --- /dev/null +++ b/src/it/incrementals-and-plugin-bom/invoker.properties @@ -0,0 +1,3 @@ +invoker.goals.1=-Dstyle.color=always -ntp clean install +# real extension will not work here due to its not being at the root of a repository, so fake it: +invoker.goals.2=-Dstyle.color=always -ntp -Dset.changelist -Dchangelist=-rc1234.deadbeef5678 clean install diff --git a/src/it/incrementals-and-plugin-bom/pom.xml b/src/it/incrementals-and-plugin-bom/pom.xml new file mode 100644 index 0000000000..70a3694cdf --- /dev/null +++ b/src/it/incrementals-and-plugin-bom/pom.xml @@ -0,0 +1,50 @@ + + + 4.0.0 + + org.jenkins-ci.plugins + plugin + @project.version@ + + + io.jenkins.plugins + incrementals-and-plugin-bom + ${revision}${changelist} + hpi + + 1.0 + -SNAPSHOT + 2.204 + 8 + + + + + repo.jenkins-ci.org + https://repo.jenkins-ci.org/public/ + + + + + repo.jenkins-ci.org + https://repo.jenkins-ci.org/public/ + + + + + + io.jenkins.tools.bom + bom-2.176.x + 4 + import + pom + + + + + + org.jenkins-ci.plugins.workflow + workflow-step-api + + + diff --git a/src/it/incrementals-and-plugin-bom/postbuild.groovy b/src/it/incrementals-and-plugin-bom/postbuild.groovy new file mode 100644 index 0000000000..d213f568db --- /dev/null +++ b/src/it/incrementals-and-plugin-bom/postbuild.groovy @@ -0,0 +1,3 @@ +assert new File(basedir, '../../local-repo/io/jenkins/plugins/incrementals-and-plugin-bom/1.0-SNAPSHOT/incrementals-and-plugin-bom-1.0-SNAPSHOT.hpi').file +assert new File(basedir, '../../local-repo/io/jenkins/plugins/incrementals-and-plugin-bom/1.0-rc1234.deadbeef5678/incrementals-and-plugin-bom-1.0-rc1234.deadbeef5678.hpi').file +return true diff --git a/src/it/incrementals-and-plugin-bom/src/main/java/io/jenkins/plugins/RandomClass.java b/src/it/incrementals-and-plugin-bom/src/main/java/io/jenkins/plugins/RandomClass.java new file mode 100644 index 0000000000..cc83b7d60a --- /dev/null +++ b/src/it/incrementals-and-plugin-bom/src/main/java/io/jenkins/plugins/RandomClass.java @@ -0,0 +1,6 @@ +package io.jenkins.plugins; +public class RandomClass { + public RandomClass() { + org.jenkinsci.plugins.workflow.steps.StepContext x = null; + } +} diff --git a/src/it/incrementals-and-plugin-bom/src/main/resources/index.jelly b/src/it/incrementals-and-plugin-bom/src/main/resources/index.jelly new file mode 100644 index 0000000000..bee66c6798 --- /dev/null +++ b/src/it/incrementals-and-plugin-bom/src/main/resources/index.jelly @@ -0,0 +1,4 @@ + +
+ etc. +
diff --git a/src/it/incrementals-and-plugin-bom/src/test/java/io/jenkins/plugins/RandomClassTest.java b/src/it/incrementals-and-plugin-bom/src/test/java/io/jenkins/plugins/RandomClassTest.java new file mode 100644 index 0000000000..c2a1bdb915 --- /dev/null +++ b/src/it/incrementals-and-plugin-bom/src/test/java/io/jenkins/plugins/RandomClassTest.java @@ -0,0 +1,5 @@ +package io.jenkins.plugins; +import org.junit.Test; +public class RandomClassTest { + @Test public void whatever() {} +} diff --git a/src/it/sample-plugin/invoker.properties b/src/it/sample-plugin/invoker.properties index ea319c9355..ccb70fca53 100644 --- a/src/it/sample-plugin/invoker.properties +++ b/src/it/sample-plugin/invoker.properties @@ -1,3 +1,3 @@ # install, not verify, because we want to check the artifact as we would be about to deploy it # release.skipTests normally set in jenkins-release profile since release:perform would do the tests -invoker.goals=-Pjenkins-release -Drelease.skipTests=false clean install +invoker.goals=-Dstyle.color=always -ntp -Pjenkins-release -Drelease.skipTests=false clean install diff --git a/src/it/sample-plugin/pom.xml b/src/it/sample-plugin/pom.xml index a93ae2429b..2eb60ee04d 100644 --- a/src/it/sample-plugin/pom.xml +++ b/src/it/sample-plugin/pom.xml @@ -13,7 +13,7 @@ 1.0-SNAPSHOT hpi - 2.60.3 + 2.204 8 diff --git a/src/it/undefined-java-level/invoker.properties b/src/it/undefined-java-level/invoker.properties index d7458cf72a..2c033519e7 100644 --- a/src/it/undefined-java-level/invoker.properties +++ b/src/it/undefined-java-level/invoker.properties @@ -1,2 +1,2 @@ -invoker.goals=clean install +invoker.goals=-Dstyle.color=always -ntp clean install invoker.buildResult=failure diff --git a/src/it/undefined-java-level/pom.xml b/src/it/undefined-java-level/pom.xml index 38736d5245..067bc56328 100644 --- a/src/it/undefined-java-level/pom.xml +++ b/src/it/undefined-java-level/pom.xml @@ -13,7 +13,7 @@ 1.0-SNAPSHOT hpi - 2.32.3 + 2.204 diff --git a/src/it/undefined-java-level/postbuild.groovy b/src/it/undefined-java-level/postbuild.groovy index 3d84add3c2..68c1448db5 100644 --- a/src/it/undefined-java-level/postbuild.groovy +++ b/src/it/undefined-java-level/postbuild.groovy @@ -1,3 +1,3 @@ -assert new File(basedir, 'build.log').text.contains('java.lang.IllegalArgumentException: Unknown JDK version given. Should be something like "1.7"') +assert new File(basedir, 'build.log').text.replaceAll(/\e\[[\d;]*[^\d;]/, '').contains('java.lang.IllegalArgumentException: Unknown JDK version given. Should be something like "1.7"') return true