├── src └── it │ ├── beta-pass │ ├── invoker.properties │ ├── downstream │ │ ├── src │ │ │ └── main │ │ │ │ └── java │ │ │ │ └── downstream │ │ │ │ └── Caller.java │ │ └── pom.xml │ ├── upstream │ │ ├── src │ │ │ └── main │ │ │ │ └── java │ │ │ │ └── upstream │ │ │ │ └── Api.java │ │ └── pom.xml │ └── pom.xml │ ├── sample-plugin │ ├── src │ │ ├── test │ │ │ ├── resources │ │ │ │ └── test │ │ │ │ │ └── expected.txt │ │ │ └── java │ │ │ │ └── test │ │ │ │ └── SampleRootActionTest.java │ │ └── main │ │ │ ├── resources │ │ │ └── index.jelly │ │ │ └── java │ │ │ └── test │ │ │ └── SampleRootAction.java │ ├── invoker.properties │ ├── postbuild.groovy │ └── pom.xml │ ├── beta-just-testing │ ├── invoker.properties │ ├── downstream │ │ ├── src │ │ │ ├── main │ │ │ │ └── java │ │ │ │ │ └── downstream │ │ │ │ │ └── NotCaller.java │ │ │ └── test │ │ │ │ └── java │ │ │ │ └── downstream │ │ │ │ └── ApiTest.java │ │ └── pom.xml │ ├── upstream │ │ ├── src │ │ │ └── main │ │ │ │ └── java │ │ │ │ └── upstream │ │ │ │ └── Api.java │ │ └── pom.xml │ └── pom.xml │ ├── not-newest-java-level │ ├── invoker.properties │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── test │ │ │ │ └── X.java │ │ │ └── resources │ │ │ └── index.jelly │ └── pom.xml │ ├── undefined-java-level │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── test │ │ │ │ └── X.java │ │ │ └── resources │ │ │ └── index.jelly │ ├── invoker.properties │ ├── postbuild.groovy │ └── pom.xml │ ├── beta-fail │ ├── invoker.properties │ ├── postbuild.groovy │ ├── downstream │ │ ├── src │ │ │ └── main │ │ │ │ └── java │ │ │ │ └── downstream │ │ │ │ └── Caller.java │ │ └── pom.xml │ ├── upstream │ │ ├── src │ │ │ └── main │ │ │ │ └── java │ │ │ │ └── upstream │ │ │ │ └── Api.java │ │ └── pom.xml │ └── pom.xml │ └── settings.xml ├── .github └── release-drafter.yml ├── .gitignore ├── .dependabot └── config.yml ├── Jenkinsfile ├── LICENSE ├── CONTRIBUTING.adoc ├── README.md ├── CHANGELOG.md └── pom.xml /src/it/beta-pass/invoker.properties: -------------------------------------------------------------------------------- 1 | invoker.goals=clean install 2 | -------------------------------------------------------------------------------- /src/it/sample-plugin/src/test/resources/test/expected.txt: -------------------------------------------------------------------------------- 1 | sample served -------------------------------------------------------------------------------- /src/it/beta-just-testing/invoker.properties: -------------------------------------------------------------------------------- 1 | invoker.goals=clean install 2 | -------------------------------------------------------------------------------- /src/it/not-newest-java-level/invoker.properties: -------------------------------------------------------------------------------- 1 | invoker.goals=clean install 2 | -------------------------------------------------------------------------------- /.github/release-drafter.yml: -------------------------------------------------------------------------------- 1 | _extends: .github 2 | tag-template: plugin-$NEXT_MINOR_VERSION 3 | -------------------------------------------------------------------------------- /src/it/undefined-java-level/src/main/java/test/X.java: -------------------------------------------------------------------------------- 1 | package test; 2 | 3 | public class X {} 4 | -------------------------------------------------------------------------------- /src/it/beta-fail/invoker.properties: -------------------------------------------------------------------------------- 1 | invoker.goals=clean install 2 | invoker.buildResult=failure 3 | -------------------------------------------------------------------------------- /src/it/not-newest-java-level/src/main/java/test/X.java: -------------------------------------------------------------------------------- 1 | package test; 2 | 3 | public class X {} 4 | -------------------------------------------------------------------------------- /src/it/sample-plugin/src/main/resources/index.jelly: -------------------------------------------------------------------------------- 1 | 2 |
3 | -------------------------------------------------------------------------------- /src/it/undefined-java-level/src/main/resources/index.jelly: -------------------------------------------------------------------------------- 1 | 2 |
3 | -------------------------------------------------------------------------------- /src/it/not-newest-java-level/src/main/resources/index.jelly: -------------------------------------------------------------------------------- 1 | 2 |
3 | -------------------------------------------------------------------------------- /src/it/undefined-java-level/invoker.properties: -------------------------------------------------------------------------------- 1 | invoker.goals=clean install 2 | invoker.buildResult=failure 3 | -------------------------------------------------------------------------------- /src/it/beta-just-testing/downstream/src/main/java/downstream/NotCaller.java: -------------------------------------------------------------------------------- 1 | package downstream; 2 | public class NotCaller { 3 | } 4 | -------------------------------------------------------------------------------- /src/it/beta-fail/postbuild.groovy: -------------------------------------------------------------------------------- 1 | assert new File(basedir, 'build.log').text.contains('[ERROR] downstream/Caller:5 upstream/Api.experimental()V is still in beta') 2 | 3 | return true 4 | -------------------------------------------------------------------------------- /src/it/beta-fail/downstream/src/main/java/downstream/Caller.java: -------------------------------------------------------------------------------- 1 | package downstream; 2 | import upstream.Api; 3 | public class Caller { 4 | static { 5 | Api.experimental(); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/it/beta-pass/downstream/src/main/java/downstream/Caller.java: -------------------------------------------------------------------------------- 1 | package downstream; 2 | import upstream.Api; 3 | public class Caller { 4 | static { 5 | Api.experimental(); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/it/beta-just-testing/downstream/src/test/java/downstream/ApiTest.java: -------------------------------------------------------------------------------- 1 | package downstream; 2 | import upstream.Api; 3 | public class ApiTest { 4 | static { 5 | Api.experimental(); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/it/undefined-java-level/postbuild.groovy: -------------------------------------------------------------------------------- 1 | assert new File(basedir, 'build.log').text.contains('java.lang.IllegalArgumentException: Unknown JDK version given. Should be something like "1.7"') 2 | 3 | return true 4 | -------------------------------------------------------------------------------- /src/it/beta-fail/upstream/src/main/java/upstream/Api.java: -------------------------------------------------------------------------------- 1 | package upstream; 2 | import org.kohsuke.accmod.Restricted; 3 | import org.kohsuke.accmod.restrictions.Beta; 4 | public class Api { 5 | @Restricted(Beta.class) 6 | public static void experimental() {} 7 | } 8 | -------------------------------------------------------------------------------- /src/it/beta-pass/upstream/src/main/java/upstream/Api.java: -------------------------------------------------------------------------------- 1 | package upstream; 2 | import org.kohsuke.accmod.Restricted; 3 | import org.kohsuke.accmod.restrictions.Beta; 4 | public class Api { 5 | @Restricted(Beta.class) 6 | public static void experimental() {} 7 | } 8 | -------------------------------------------------------------------------------- /src/it/beta-just-testing/upstream/src/main/java/upstream/Api.java: -------------------------------------------------------------------------------- 1 | package upstream; 2 | import org.kohsuke.accmod.Restricted; 3 | import org.kohsuke.accmod.restrictions.Beta; 4 | public class Api { 5 | @Restricted(Beta.class) 6 | public static void experimental() {} 7 | } 8 | -------------------------------------------------------------------------------- /src/it/sample-plugin/invoker.properties: -------------------------------------------------------------------------------- 1 | # install, not verify, because we want to check the artifact as we would be about to deploy it 2 | # release.skipTests normally set in jenkins-release profile since release:perform would do the tests 3 | invoker.goals=-Pjenkins-release -Drelease.skipTests=false clean install 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | work 3 | *.class 4 | 5 | # Mobile Tools for Java (J2ME) 6 | .mtj.tmp/ 7 | 8 | # Package Files # 9 | *.jar 10 | *.war 11 | *.ear 12 | 13 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 14 | hs_err_pid* 15 | 16 | # IntelliJ project files 17 | *.iml 18 | *.ipr 19 | *.iws 20 | .idea 21 | 22 | # eclipse project file 23 | .settings 24 | .classpath 25 | .project 26 | build 27 | -------------------------------------------------------------------------------- /.dependabot/config.yml: -------------------------------------------------------------------------------- 1 | version: 1 2 | update_configs: 3 | - package_manager: "java:maven" 4 | directory: "/" 5 | update_schedule: "weekly" 6 | 7 | default_reviewers: 8 | - "jglick" 9 | - "oleg-nenashev" 10 | - "batmat" 11 | 12 | ignored_updates: 13 | - match: 14 | dependency_name: "org.jenkins-ci.main:jenkins-core" 15 | - match: 16 | dependency_name: "slf4j-api" 17 | - match: 18 | dependency_name: "log4j-over-slf4j" 19 | - match: 20 | dependency_name: "jcl-over-slf4j" 21 | - match: 22 | dependency_name: "slf4j-jdk14" 23 | -------------------------------------------------------------------------------- /src/it/beta-fail/upstream/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.jenkins-ci.plugins.its 7 | beta-fail 8 | 1.0-SNAPSHOT 9 | 10 | org.jenkins-ci.plugins.its.beta-fail 11 | upstream 12 | hpi 13 | 14 | -------------------------------------------------------------------------------- /src/it/beta-pass/upstream/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.jenkins-ci.plugins.its 7 | beta-pass 8 | 1.0-SNAPSHOT 9 | 10 | org.jenkins-ci.plugins.its.beta-pass 11 | upstream 12 | hpi 13 | 14 | -------------------------------------------------------------------------------- /src/it/sample-plugin/src/test/java/test/SampleRootActionTest.java: -------------------------------------------------------------------------------- 1 | package test; 2 | 3 | import org.apache.commons.io.IOUtils; 4 | import org.junit.Test; 5 | import static org.junit.Assert.*; 6 | import org.junit.Rule; 7 | import org.jvnet.hudson.test.JenkinsRule; 8 | 9 | public class SampleRootActionTest { 10 | 11 | @Rule 12 | public JenkinsRule r = new JenkinsRule(); 13 | 14 | @Test 15 | public void smokes() throws Exception { 16 | assertEquals(IOUtils.toString(SampleRootActionTest.class.getResource("expected.txt")), 17 | r.createWebClient().goTo("sample", "text/plain").getWebResponse().getContentAsString().trim()); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/it/beta-just-testing/upstream/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.jenkins-ci.plugins.its 7 | beta-just-testing 8 | 1.0-SNAPSHOT 9 | 10 | org.jenkins-ci.plugins.its.beta-just-testing 11 | upstream 12 | hpi 13 | 14 | -------------------------------------------------------------------------------- /src/it/sample-plugin/src/main/java/test/SampleRootAction.java: -------------------------------------------------------------------------------- 1 | package test; 2 | 3 | import hudson.Extension; 4 | import hudson.model.InvisibleAction; 5 | import hudson.model.RootAction; 6 | import org.kohsuke.stapler.HttpResponse; 7 | import org.kohsuke.stapler.HttpResponses; 8 | 9 | @Extension 10 | public class SampleRootAction implements RootAction { 11 | @Override 12 | public String getUrlName() { 13 | return "sample"; 14 | } 15 | @Override 16 | public String getIconFileName() { 17 | return null; 18 | } 19 | @Override 20 | public String getDisplayName() { 21 | return null; 22 | } 23 | public HttpResponse doIndex() { 24 | return HttpResponses.plainText("sample served"); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Jenkinsfile: -------------------------------------------------------------------------------- 1 | pipeline { 2 | options { 3 | buildDiscarder(logRotator(numToKeepStr: '20')) 4 | timeout(time: 1, unit: 'HOURS') 5 | } 6 | agent { 7 | docker { 8 | image 'maven:3.6.0-jdk-8' 9 | label 'docker' 10 | } 11 | } 12 | stages { 13 | stage('main') { 14 | steps { 15 | sh 'mvn -B -Prun-plugin-pom-its clean verify' 16 | } 17 | post { 18 | failure { 19 | catchError { // JENKINS-42478: in case the failure occurred prior to getting the node 20 | archiveArtifacts artifacts: 'target/its/*/build.log', allowEmptyArchive: true 21 | } 22 | } 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/it/sample-plugin/postbuild.groovy: -------------------------------------------------------------------------------- 1 | import java.util.jar.JarFile 2 | 3 | assert new File(basedir, 'target/sample-plugin.hpi').exists() 4 | assert new File(basedir, 'target/sample-plugin.jar').exists() 5 | 6 | File installed = new File(basedir, '../../local-repo/org/jenkins-ci/plugins/its/sample-plugin/1.0-SNAPSHOT/') 7 | File f = new File(installed, 'sample-plugin-1.0-SNAPSHOT.hpi') 8 | assert f.file 9 | JarFile j = new JarFile(f) 10 | try { 11 | assert j.entries().toList().collect {it.name}.grep {it =~ 'WEB-INF/lib/.+[.]jar'} == ['WEB-INF/lib/sample-plugin.jar'] 12 | } finally { 13 | j.close() 14 | } 15 | 16 | assert !new File(basedir, 'target/surefire-reports/test.SampleRootActionTest-output.txt').text.contains('http://www.slf4j.org/codes.html#release') 17 | 18 | // TODO check no-test-jar=false (cf. maven-hpi-plugin/src/it/parent-2x) 19 | // TODO check npm usage 20 | 21 | return true 22 | -------------------------------------------------------------------------------- /src/it/beta-fail/downstream/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.jenkins-ci.plugins.its 7 | beta-fail 8 | 1.0-SNAPSHOT 9 | 10 | org.jenkins-ci.plugins.its.beta-fail 11 | downstream 12 | hpi 13 | 14 | 15 | org.jenkins-ci.plugins.its.beta-fail 16 | upstream 17 | 1.0-SNAPSHOT 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/it/beta-just-testing/downstream/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.jenkins-ci.plugins.its 7 | beta-just-testing 8 | 1.0-SNAPSHOT 9 | 10 | org.jenkins-ci.plugins.its.beta-just-testing 11 | downstream 12 | hpi 13 | 14 | 15 | org.jenkins-ci.plugins.its.beta-just-testing 16 | upstream 17 | 1.0-SNAPSHOT 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/it/beta-pass/downstream/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.jenkins-ci.plugins.its 7 | beta-pass 8 | 1.0-SNAPSHOT 9 | 10 | org.jenkins-ci.plugins.its.beta-pass 11 | downstream 12 | hpi 13 | 14 | true 15 | 16 | 17 | 18 | org.jenkins-ci.plugins.its.beta-pass 19 | upstream 20 | 1.0-SNAPSHOT 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 CloudBees, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /src/it/undefined-java-level/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.jenkins-ci.plugins 7 | plugin 8 | @project.version@ 9 | 10 | 11 | org.jenkins-ci.plugins.its 12 | undefined-java-level 13 | 1.0-SNAPSHOT 14 | hpi 15 | 16 | 2.32.3 17 | 18 | 19 | 20 | repo.jenkins-ci.org 21 | https://repo.jenkins-ci.org/public/ 22 | 23 | 24 | 25 | 26 | repo.jenkins-ci.org 27 | https://repo.jenkins-ci.org/public/ 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /src/it/not-newest-java-level/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.jenkins-ci.plugins 7 | plugin 8 | @project.version@ 9 | 10 | 11 | org.jenkins-ci.plugins.its 12 | not-newest-java-level 13 | 1.0-SNAPSHOT 14 | hpi 15 | 16 | 2.89 17 | 7 18 | 19 | 20 | 21 | repo.jenkins-ci.org 22 | https://repo.jenkins-ci.org/public/ 23 | 24 | 25 | 26 | 27 | repo.jenkins-ci.org 28 | https://repo.jenkins-ci.org/public/ 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /src/it/beta-fail/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.jenkins-ci.plugins 7 | plugin 8 | @project.version@ 9 | 10 | 11 | org.jenkins-ci.plugins.its 12 | beta-fail 13 | 1.0-SNAPSHOT 14 | pom 15 | 16 | 2.60.3 17 | 8 18 | true 19 | 20 | 21 | 22 | repo.jenkins-ci.org 23 | https://repo.jenkins-ci.org/public/ 24 | 25 | 26 | 27 | 28 | repo.jenkins-ci.org 29 | https://repo.jenkins-ci.org/public/ 30 | 31 | 32 | 33 | upstream 34 | downstream 35 | 36 | 37 | -------------------------------------------------------------------------------- /src/it/beta-pass/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.jenkins-ci.plugins 7 | plugin 8 | @project.version@ 9 | 10 | 11 | org.jenkins-ci.plugins.its 12 | beta-pass 13 | 1.0-SNAPSHOT 14 | pom 15 | 16 | 2.107.1 17 | 8 18 | true 19 | 20 | 21 | 22 | repo.jenkins-ci.org 23 | https://repo.jenkins-ci.org/public/ 24 | 25 | 26 | 27 | 28 | repo.jenkins-ci.org 29 | https://repo.jenkins-ci.org/public/ 30 | 31 | 32 | 33 | upstream 34 | downstream 35 | 36 | 37 | -------------------------------------------------------------------------------- /src/it/beta-just-testing/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.jenkins-ci.plugins 7 | plugin 8 | @project.version@ 9 | 10 | 11 | org.jenkins-ci.plugins.its 12 | beta-just-testing 13 | 1.0-SNAPSHOT 14 | pom 15 | 16 | 2.7.3 17 | 7 18 | true 19 | 20 | 21 | 22 | repo.jenkins-ci.org 23 | https://repo.jenkins-ci.org/public/ 24 | 25 | 26 | 27 | 28 | repo.jenkins-ci.org 29 | https://repo.jenkins-ci.org/public/ 30 | 31 | 32 | 33 | upstream 34 | downstream 35 | 36 | 37 | -------------------------------------------------------------------------------- /src/it/sample-plugin/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.jenkins-ci.plugins 7 | plugin 8 | @project.version@ 9 | 10 | 11 | org.jenkins-ci.plugins.its 12 | sample-plugin 13 | 1.0-SNAPSHOT 14 | hpi 15 | 16 | 2.32.3 17 | 7 18 | 19 | 20 | 21 | repo.jenkins-ci.org 22 | https://repo.jenkins-ci.org/public/ 23 | 24 | 25 | 26 | 27 | repo.jenkins-ci.org 28 | https://repo.jenkins-ci.org/public/ 29 | 30 | 31 | 32 | 33 | org.jenkins-ci.plugins 34 | structs 35 | 1.5 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /CONTRIBUTING.adoc: -------------------------------------------------------------------------------- 1 | Contributing 2 | ------------ 3 | 4 | :toc: 5 | 6 | ## Howto 7 | 8 | This repository operates via pull requests. 9 | Want to improve standard build flows for Jenkins? Just go forward and propose a patch! 10 | For major changes we usually expect a reference implementation to be provided in a downstream pull request. 11 | 12 | ## Building 13 | 14 | To run and build the repository with integration tests, you can execute 15 | 16 | mvn -Prun-plugin-pom-its clean verify 17 | 18 | ## Building and using snapshots 19 | 20 | Snapshots might be needed to provide reference implementations for Plugin POM patches. 21 | If you are a plugin maintainer with account on Jenkins artifactory, 22 | you can deploy a Plugin POM snapshot using this command: 23 | 24 | mvn clean deploy 25 | 26 | Once the snapshot is deployed, you will see a timestamped snapshot version in Maven console output. 27 | 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 28 | 29 | ## Information for maintainers 30 | 31 | ### Managing release notes 32 | 33 | * Changelog drafts are automatically by link:https://github.com/toolmantim/release-drafter[Release Drafter] 34 | * See the documentation about Jenkins Release Drafter configuration link:https://github.com/jenkinsci/.github/blob/master/docs/release-drafter.adoc[here] 35 | * When merging pull requests... 36 | ** Make sure to modify pull request titles to make them user-friendly 37 | ** Set proper labels so the changelog is categorized 38 | * Once Plugin POM is released, make sure to promote the draft changelog to a release associated with the label 39 | -------------------------------------------------------------------------------- /src/it/settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 21 | 22 | 25 | 26 | 27 | mrm-maven-plugin 28 | Mock Repository Manager 29 | @repository.proxy.url@ 30 | * 31 | 32 | 33 | 34 | 35 | it-repo 36 | 37 | true 38 | 39 | 40 | 41 | local.central 42 | @localRepositoryUrl@ 43 | 44 | true 45 | 46 | 47 | true 48 | 49 | 50 | 51 | 52 | 53 | local.central 54 | @localRepositoryUrl@ 55 | 56 | true 57 | 58 | 59 | true 60 | 61 | 62 | 63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # plugin-pom 2 | Parent POM for Jenkins Plugins 3 | 4 | ## Introduction 5 | 6 | This new parent POM is decoupled from the core Jenkins project, both from the Maven and repository perspectives. 7 | 8 | The main changes are: 9 | * Reduced number of overridable properties. All references (e.g. dependencies and plugin versions) not 10 | thought to be overridden are no longer based on properties. The main remaining overridable properties are: 11 | * `jenkins.version`: The Jenkins version required by the plugin. **Mandatory.** 12 | * `java.level`: The Java version to use to build the plugin. **Mandatory.** Should match the minimum Java version for the selected Jenkins version. 13 | * `jenkins-test-harness.version`: The [JTH version](https://github.com/jenkinsci/jenkins-test-harness/releases) used to test plugin. 14 | Uses split test-harness (see [JENKINS-32478](https://issues.jenkins-ci.org/browse/JENKINS-32478)). 15 | If the required Jenkins version is 1.580.1 or higher, JTH 2.1+ is recommended. 16 | * `hpi-plugin.version`: The HPI Maven Plugin version used by the plugin. 17 | (Generally you should not set this to a version _lower_ than that specified in the parent POM.) 18 | * `stapler-plugin.version`: The Stapler Maven plugin version required by the plugin. 19 | * `java.level.test`: The Java version to use to build the plugin tests. 20 | * In order to make their versions the same as the used core version, `slf4jVersion`, `node.version` and `npm.version` 21 | properties are provided. 22 | * Tests are skipped during the `perform` phase of a release (can be overridden by setting `release.skipTests` to false). 23 | * Javadoc has been set to _quiet_ by default in 2.20+, which means it will only log errors and warnings. 24 | If you really want it verbose, set `quiet` property to `false` for the plugin. 25 | * General clean up. 26 | 27 | Being able to specify the `jenkins.version` simplifies testing the plugin with different core versions, which is 28 | important, among others, for the Plugin Compatibility Testing. 29 | 30 | ## Usage 31 | 32 | In order to use the new POM: 33 | * Change the parent POM of your plugin: 34 | ```xml 35 | 36 | org.jenkins-ci.plugins 37 | plugin 38 | 2.29 39 | 40 | 41 | ``` 42 | * Override the needed properties, e.g.: 43 | ```xml 44 | 45 | 1.609.1 46 | 7 47 | 48 | ``` 49 | 50 | If you had a `jar:test-jar` execution, delete it and add to `properties`: 51 | 52 | ```xml 53 | false 54 | ``` 55 | 56 | ## Incrementals 57 | 58 | You can configure your plugin to treat every commit as a release candidate. 59 | See [Incrementals](https://github.com/jenkinsci/incrementals-tools) for details. 60 | 61 | ## Baselines 62 | 63 | It is handy to be able to select different Jenkins baselines with a Maven profile. 64 | To set this up, you must edit your `~/.m2/settings.xml` to include some new entries in the `` section. 65 | For example: 66 | 67 | ```xml 68 | 69 | jenkins-289 70 | 71 | 2.89.2 72 | 73 | 74 | 75 | jenkins-273 76 | 77 | 2.73.3 78 | 79 | 80 | 81 | jenkins-260 82 | 83 | 2.60.3 84 | 85 | 86 | 87 | jenkins-246 88 | 89 | 2.46.3 90 | 91 | 92 | 93 | jenkins-232 94 | 95 | 2.32.3 96 | 97 | 98 | 99 | jenkins-219 100 | 101 | 2.19.4 102 | 103 | 104 | 105 | jenkins-27 106 | 107 | 2.7.3 108 | 109 | 110 | 111 | jenkins-651 112 | 113 | 1.651.3 114 | 115 | 116 | 117 | jenkins-642 118 | 119 | 1.642.4 120 | 121 | 122 | 123 | jenkins-625 124 | 125 | 1.625.3 126 | 127 | 128 | 129 | jenkins-609 130 | 131 | 1.609.3 132 | 133 | 134 | 135 | jenkins-596 136 | 137 | 1.596.3 138 | 139 | 140 | 141 | jenkins-580 142 | 143 | 1.580.3 144 | 145 | 146 | 147 | jenkins-565 148 | 149 | 1.565.3 150 | 1.565.3 151 | 152 | 153 | ``` 154 | 155 | Now for example if your plugin normally builds against 1.625.x, but you wish to test compatibility with 1.651.x, 156 | there is no need to edit your POM. Just run: 157 | 158 | mvn -Pjenkins-651 clean test 159 | 160 | or 161 | 162 | mvn -Pjenkins-651 hpi:run 163 | 164 | ## Setup Wizard 165 | 166 | By default, the setup wizard (Jenkins >= 2.0) is skipped when using `hpi:run`. If you want the wizard to be enabled just run: 167 | 168 | mvn -Dhudson.Main.development=false hpi:run 169 | 170 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | Changelog for old versions 2 | ========= 3 | 4 | | WARNING: Changelogs have been moved to [GitHub Releases](https://github.com/jenkinsci/plugin-pom/releases) | 5 | | --- | 6 | 7 | ### Newer versions 8 | 9 | See [GitHub Releases](https://github.com/jenkinsci/plugin-pom/releases) 10 | 11 | ### 3.43 12 | 13 | Release date: 2019-04-30 14 | 15 | * [PR-196](https://github.com/jenkinsci/plugin-pom/pull/196): Javadoc fix in 3.40 did not work on JDK 11.0.3 16 | * Miscellaneous dependency & plugin updates frnom `dependabot` 17 | 18 | ### 3.42 19 | 20 | Release date: 2019-04-02 21 | 22 | * [PR-174](https://github.com/jenkinsci/plugin-pom/pull/174): Forbid usage of TestNG (since it does not work anyway) 23 | * [PR-188](https://github.com/jenkinsci/plugin-pom/pull/188): Pick up `jenkins-test-harness` changes to 24 | * add `JenkinsRule.showAgentLogs` 25 | * not clash with `jenkins-core` in a `version-number` library dependency 26 | 27 | ### 3.41 28 | 29 | Release date: 2019-03-31 30 | 31 | * [PR-170](https://github.com/jenkinsci/plugin-pom/pull/170): Bump frontend-maven-plugin from 1.6 to 1.7.5 32 | * [PR-178](https://github.com/jenkinsci/plugin-pom/pull/178): Bump maven-javadoc-plugin from 3.0.1 to 3.1.0 33 | * [PR-179](https://github.com/jenkinsci/plugin-pom/pull/179): Bump maven-invoker-plugin from 3.1.0 to 3.2.0 34 | * [PR-180](https://github.com/jenkinsci/plugin-pom/pull/180): Bump mockito-core from 2.24.5 to 2.25.1 35 | * [PR-184](https://github.com/jenkinsci/plugin-pom/pull/184): Bump maven-scm.version from 1.11.1 to 1.11.2 36 | 37 | ### 3.40 38 | 39 | Release date: 2019-03-08 40 | 41 | * [PR-173](https://github.com/jenkinsci/plugin-pom/pull/173): Fix Javadoc related crash when using a JDK 11.0.2 42 | * [PR-167](https://github.com/jenkinsci/plugin-pom/pull/167): Default value of `jenkins.version` changed to 2.138.4 (but *all* plugins should override this with an explicit value) 43 | * Various dependency and plugin updates (thanks `dependabot`) 44 | * flatten-maven-plugin from 1.0.1 to 1.1.0 45 | * maven-localizer-plugin from 1.24 to 1.26 46 | * spotbugs-annotations from 3.1.11 to 3.1.12 47 | 48 | ### 3.39 49 | 50 | Release date: 2019-02-28 51 | 52 | * Bulk update of Maven plugins in the Plugin POM 53 | ([Dependabot evaluation](https://groups.google.com/forum/#!topic/jenkinsci-dev/XMllKuWLO_8)) 54 | 55 | ### 3.38 56 | 57 | Release date: 2019-02-28 58 | 59 | * No changes included 60 | 61 | ### 3.37 62 | 63 | Release date: 2019-02-04 64 | 65 | * [JENKINS-55885](https://issues.jenkins-ci.org/browse/JENKINS-55885) - 66 | Add support of executing `hpi:run` when running with JDK 11 67 | * **WARNING**: This patch does not setup environment for the JAXB dependency removed from Java 11. 68 | If your plugin has a transitive dependency on JAXB, 69 | it is recommended to run with `jenkins.version` 2.163 or above 70 | ([JENKINS-55681](https://issues.jenkins-ci.org/browse/JENKINS-55681)) 71 | 72 | ### 3.36 73 | 74 | Release date: 2019-01-28 75 | 76 | * [PR-128](https://github.com/jenkinsci/plugin-pom/pull/128): Switch from FindBugs to SpotBugs 77 | 78 | ### 3.35 79 | 80 | Release date: 2019-01-28 81 | 82 | * [PR-148](https://github.com/jenkinsci/plugin-pom/pull/148): Update Powermock dependencies from `2.0.0-RC.4` to `2.0.0`. 83 | 84 | ### 3.34 85 | 86 | Release date: 2019-01-28 87 | 88 | * [PR-152](https://github.com/jenkinsci/plugin-pom/pull/152): Update access-modifier from 1.15 to 1.16 89 | * [PR-153](https://github.com/jenkinsci/plugin-pom/pull/153): Update jenkins-test-harness from `2.44` to `2.46`. 90 | 91 | ### 3.33 92 | 93 | Release date: 2019-01-16 94 | 95 | * [JENKINS-55562](https://issues.jenkins-ci.org/browse/JENKINS-55562) - 96 | Maven HPI Plugin 3.2: Introduce a new `hpi.compatibleSinceVersion` property to support 97 | [marking plugins as incompatible](https://wiki.jenkins.io/display/JENKINS/Marking+a+new+plugin+version+as+incompatible+with+older+versions) without the plugin configuration override 98 | * [JENKINS-54949](https://issues.jenkins-ci.org/browse/JENKINS-54949) - 99 | Maven HPI Plugin 3.2: Add support of adding the current pom.xml to the custom WAR in the `hpi:custom-war` mojo 100 | * [PR #149](https://github.com/jenkinsci/plugin-pom/pull/149) - 101 | Upgrade Maven Surefire and Failsafe plugins from 3.0.0-M1 to 3.0.0-M3 102 | ([SUREFIRE-1541](https://issues.apache.org/jira/browse/SUREFIRE-1541), 103 | [SUREFIRE-1588](https://issues.apache.org/jira/browse/SUREFIRE-1588), 104 | [SUREFIRE-1608](https://issues.apache.org/jira/browse/SUREFIRE-1608) 105 | ) 106 | * [PR #147](https://github.com/jenkinsci/plugin-pom/pull/147) - 107 | Fix warning about deprecated `contextPath` parameter when using hpi:run 108 | * [PR #146](https://github.com/jenkinsci/plugin-pom/pull/146) - 109 | Remove the JitPack support, 110 | it is replaced by Incrementals 111 | ([JEP-305](https://github.com/jenkinsci/jep/blob/master/jep/305/README.adoc)) 112 | 113 | ### 3.32 114 | 115 | Release date: 2018-12-21 116 | 117 | * [JENKINS-54631](https://issues.jenkins-ci.org/browse/JENKINS-54631) - 118 | Update the JaCoCo Maven Plugin to `0.8.2` to support running with `-Penable-jacoco` on JDK11 119 | * [JENKINS-55098](https://issues.jenkins-ci.org/browse/JENKINS-55098) - 120 | Fix the [objenesis](http://objenesis.org/) version suggested in dependency management, 121 | now it is `3.0.1` as required by PowerMock 122 | 123 | ### 3.31 124 | 125 | Release date: 2018-12-14 126 | 127 | * [PR #142](https://github.com/jenkinsci/plugin-pom/pull/142) - `mvn hpi:run` was broken as of 3.29. 128 | 129 | ### 3.30 130 | 131 | Release date: 2018-12-13 132 | 133 | * [PR #137](https://github.com/jenkinsci/plugin-pom/pull/137), 134 | [PR #138](https://github.com/jenkinsci/plugin-pom/pull/138), 135 | [PR #140](https://github.com/jenkinsci/plugin-pom/pull/140) - 136 | Bulk update of Maven plugins 137 | * [JENKINS-55098](https://issues.jenkins-ci.org/browse/JENKINS-55098) - 138 | Include Mockito and PowerMock to dependency management 139 | so that plugins can easily pick up versions with Java 11 support 140 | 141 | ### 3.29 142 | 143 | Release date: 2018-12-05 144 | 145 | * [JENKINS-20679](https://issues.jenkins-ci.org/browse/JENKINS-20679) - 146 | Plugin POM now produces `Minimum-Java-Version` entry in the plugin manifest 147 | * `java.level` property value is used by default 148 | * `plugin.minimumJavaVersion` property can be used to override the default value, e.g. for Java 11 experimental releases 149 | ([JEP-211](https://github.com/jenkinsci/jep/tree/master/jep/211)) 150 | * **WARNING:** The override should not be used to define higher versions than the Jenkins core requirement 151 | until [JENKINS-55048](https://issues.jenkins-ci.org/browse/JENKINS-55048) is released and widely adopted 152 | * [JENKINS-20679](https://issues.jenkins-ci.org/browse/JENKINS-20679) - 153 | Update to Maven HPI Plugin 3.0 154 | ([changelog](https://github.com/jenkinsci/maven-hpi-plugin#30-2018-12-05)) 155 | * [PR #136](https://github.com/jenkinsci/plugin-pom/pull/136) - 156 | Update to extra-enforcer-rules to `1.1` to support JDK 11 bytecode checks 157 | * [PR #132](https://github.com/jenkinsci/plugin-pom/pull/132) - 158 | Prevent warning about [missing SLF4J providers](http://www.slf4j.org/codes.html#release) during the build 159 | 160 | ### 3.28 161 | 162 | Release date: 2018-11-07 163 | 164 | * Backed out Surefire update in 3.27 due to some regressions, but adding an alternate workaround for the same bug. 165 | 166 | ### 3.27 167 | 168 | Release date: 2018-11-07 169 | 170 | * Surefire update to enable tests to be run on some Java versions, such as the current updates for Debian/Ubuntu. 171 | 172 | ### 3.26 173 | 174 | Release date: 2018-10-30 175 | 176 | * Update `maven-hpi-plugin` with a couple of bug fixes. 177 | 178 | ### 3.25 179 | 180 | Release date: 2018 Oct 05 181 | 182 | * Updated `jenkins-test-harness` with further fixes to the usage of temporary directories introduced in 3.22. 183 | 184 | ### 3.24 185 | 186 | Release date: 2018 Oct 02 187 | 188 | * Making sure the temporary directory introduced in 3.22 exists. 189 | * Updated `jenkins-test-harness`. 190 | 191 | ### 3.23 192 | 193 | Release date: 2018 Sep 21 194 | 195 | * Updated `jenkins-test-harness`. 196 | 197 | ### 3.22 198 | 199 | Release date: 2018 Sep 14 200 | 201 | * The temporary directory for Surefire tests (used for, among many other things, `$JENKINS_HOME` under test) now defaults to a location inside the `target` directory rather than a system default as before. The Maven property `surefireTempDir` can be used to override this location in case of trouble. 202 | 203 | ### 3.21 204 | 205 | Release date: 2018 Sep 05 206 | 207 | * `mvn incrementals:update` mishandled property expressions. 208 | 209 | ### 3.20 210 | 211 | Release date: 2018 Aug 27 212 | 213 | * [PR #120](https://github.com/jenkinsci/plugin-pom/pull/120) - 214 | Fix Maven site generation which was broken due to the dependency conflict (`mvn site`) 215 | 216 | ### 3.19 217 | 218 | Release date: 2018 Jul 20 219 | 220 | * [JENKINS-51869](https://issues.jenkins-ci.org/browse/JENKINS-51869): revision numbers for Incrementals now reflect the drop of a `--first-parent` argument, so typical numbers will be a few times larger. 221 | * Tweaking `completionGoals` configuration from 3.18. 222 | 223 | ### 3.18 224 | 225 | Release date: 2018 Jul 16 226 | 227 | * [PR #117](https://github.com/jenkinsci/plugin-pom/pull/117) - 228 | `incrementals:reincrementalify` is now invoked automatically 229 | in release completion goals 230 | * [PR #116](https://github.com/jenkinsci/plugin-pom/pull/116) - 231 | Repository now references up-to-date Incrementals documentation 232 | 233 | ### 3.17 234 | 235 | Release date: 2018 Jun 30 236 | 237 | * [PR #115](https://github.com/jenkinsci/plugin-pom/pull/115) - 238 | Update Animal Sniffer Plugin from 1.16 to 1.17 to support 239 | signature scanning with JDK 10 240 | ([JENKINS-52155](https://issues.jenkins-ci.org/browse/JENKINS-52155)) 241 | 242 | ### 3.16 243 | 244 | Release date: 2018 Jun 22 245 | 246 | * [PR #114](https://github.com/jenkinsci/plugin-pom/pull/114) - 247 | Update Animal Sniffer Plugin from 1.15 to 1.16 248 | * [PR #114](https://github.com/jenkinsci/plugin-pom/pull/114) - 249 | Make Animal Sniffer Version configurable via the 250 | `animal.sniffer.version` property 251 | 252 | ### 3.15 253 | 254 | Release date: 2018 Jun 12 255 | 256 | * Pick up a fix to the access modifier checker to ignore synthetic code, relevant particularly in some generics constructs. 257 | 258 | ### 3.14 259 | 260 | Release date: 2018 Jun 06 261 | 262 | * Another forked execution problem affecting plugins which both create a test JAR and use node/yarn to process JavaScript. 263 | 264 | ### 3.13 265 | 266 | Release date: 2018 Jun 01 267 | 268 | * Update HPI plugin [from 2.3 to 2.6](https://github.com/jenkinsci/maven-hpi-plugin/blob/master/README.md#26-2018-jun-01). 269 | * Simplify usage of the Javadoc plugin, running it only when in release mode. 270 | 271 | ### 3.12 272 | 273 | Release date: 2018 May 16 274 | 275 | * Analogously to the change in 3.11, use `test-jar-no-fork` rather than `test-jar`. 276 | 277 | ### 3.11 278 | 279 | Release date: 2018 May 15 280 | 281 | * Use `source:jar-no-fork` goal instead of `source:jar` to avoid a Maven bug. 282 | 283 | ### 3.10 284 | 285 | Release date: 2018 May 11 286 | 287 | * Preconfigure the `incrementals` Maven plugin, so you can run `incrementals:incrementalify` and more. 288 | * For Incrementals mode, configure `flatten-maven-plugin` to keep the generated POM in the `target` directory. 289 | 290 | ### 3.9 291 | 292 | Release date: 2018 Apr 27 293 | 294 | * Support for JEP-305 “Incrementals”. [Guide](https://github.com/jenkinsci/incrementals-tools/blob/master/README.md) 295 | * Skip FindBugs checks during `release:perform` to save time. 296 | * Minimum supported Maven version updated to 3.3.1 (higher if using Incrementals). 297 | 298 | ### 3.8 299 | 300 | Release date: 2018 Apr 10 301 | 302 | * Update Jenkins Test Harness from 2.34 to 2.38 303 | ([Changelog](https://github.com/jenkinsci/jenkins-test-harness/#changelog)) 304 | 305 | ### 3.7 306 | 307 | Release date: 2018 Apr 03 308 | 309 | * Access modifier checker plugin updated to 1.14 and synchronized with the annotation library; introduces `@Restricted(Beta.class)` which may be consumed in a downstream plugin by setting the POM property `useBeta` to `true`. 310 | 311 | ### 3.6 312 | 313 | Release date: 2018 Mar 09 314 | 315 | * Access modifier checker plugin updated, making checks more strict in some cases, such as `@Restricted(NoExternalUse.class)` on a type. You may pass `-Daccess-modifier-checker.failOnError=false` as a temporary workaround. 316 | * Animal Sniffer plugin updated, fixing errors in certain cases, such as use of Java 9-enabled libraries. 317 | 318 | ### 3.5 319 | 320 | Release date: 2018 Feb 19 321 | 322 | * [PR #95](https://github.com/jenkinsci/plugin-pom/pull/95) - extend bytecode rule fix made in 3.2 to `task-reactor`, needed for testing against Jenkins 2.105 and later. 323 | 324 | ### 3.4 325 | 326 | * [PR #94](https://github.com/jenkinsci/plugin-pom/pull/94) - update `jenkins-test-harness` and `maven-hpi-plugin`. 327 | 328 | ### 3.3 329 | 330 | * [PR #84](https://github.com/jenkinsci/plugin-pom/pull/84) - 331 | Make FindBugs effort and threshold options configurable. 332 | 333 | ### 3.2 334 | 335 | * Ignore Java 8 bytecode coming from Remoting and Stapler, permitting plugins with `java.level=7` to still build (for example from `Jenkinsfile`) with, for example, `jenkins.version=2.89`. 336 | * Run tests in alphabetical order. 337 | 338 | ### 3.1 339 | 340 | * Force `java.level` to be specified in each POM. 3.0 had changed the default value to `8`, causing plugins which had only overridden `jenkins.version` (to something older to 2.60.x) to not be runnable on older Jenkins installations using Java 7. 341 | * Fail early if using JDK 7 or earlier to build. (`java.level=7` is fine.) 342 | * `jenkins-test-harness` updated to [2.32](https://github.com/jenkinsci/jenkins-test-harness/#232-2017-oct-28). 343 | 344 | ### 3.0 345 | 346 | * [PR#83](https://github.com/jenkinsci/plugin-pom/pull/83) **DROP SUPPORT FOR JENKINS 1.x** 347 | * [PR#87](https://github.com/jenkinsci/plugin-pom/pull/87) Configure the _maven-javadoc-plugin_ to link back to the Jenkins Javadoc 348 | 349 | ### 2.37 350 | 351 | Release date: 2017, Oct 23 352 | 353 | * `jenkins-test-harness` updates to [2.31](https://github.com/jenkinsci/jenkins-test-harness/#231-2017-oct-17), important for testing against core 2.86+ 354 | * `concurrency` property deprecated; use `forkCount` instead 355 | * FindBugs Maven plugin update to 3.0.5 356 | 357 | ### 2.36 358 | 359 | Release date: 2017, Sep 27 360 | 361 | * `jenkins-test-harness` updated to [2.28](https://github.com/jenkinsci/jenkins-test-harness/#228-2017-sep-26) 362 | * `maven-hpi-plugin` updated to [2.1](https://github.com/jenkinsci/maven-hpi-plugin#21-2017-sep-26) 363 | 364 | ### 2.35 365 | 366 | Release date: 2017, Sep 20 367 | 368 | * JENKINS-45245: allow IntelliJ IDEA to run `JenkinsRule`-based tests, broken since 2.30 due to a mismatch with Maven’s idea of the test classpath. 369 | 370 | ### 2.34 371 | 372 | Release date: 2017, Sep 18 373 | 374 | * [PR #74](https://github.com/jenkinsci/plugin-pom/pull/74) - 375 | Annotate `Messages` classes generated by Localizer with `@Restricted(NoExternalUse.class)` 376 | * If the message is exposed intentionally, it is recommended to expose it via Java API class instead of a generated one. 377 | * [PR #71](https://github.com/jenkinsci/plugin-pom/pull/71) - 378 | Specify the default Max Memory for Maven Surefire Plugin (768MB). 379 | 380 | ### 2.33 381 | 382 | Release date: 2017, Aug 07 383 | 384 | * JENKINS-41631 amendment to work better on new cores. 385 | 386 | ### 2.32 387 | 388 | Release date: 2017, Jun 29 389 | 390 | * JENKINS-41631 amendment to support 1.585- core versions. 391 | 392 | ### 2.31 393 | 394 | Release date: 2017, Jun 26 395 | 396 | * JENKINS-41631: use `requireUpperBoundDeps` to prevent various common versioning problems, such as accidentally using incompatible plugin dependencies. 397 | * JENKINS-44453: JenkinsRule should ensure that Jenkins reaches the COMPLETED milestone. 398 | 399 | ### 2.30 400 | 401 | Release date: 2017, May 25 402 | 403 | * Integrated `maven-hpi-plugin` 2.0: 404 | * The `war-for-test` artifact is no longer needed for functional tests, saving download bandwidth. 405 | * Bundled Jetty was updated, so JDK 8 is required at build time. 406 | * Setup Wizard disabled by default when using `hpi:run`. To enable it use `-Dhudson.Main.development=false`. 407 | 408 | ### 2.29 409 | 410 | Release date: 2017, May 19 411 | 412 | * For plugins which use npm, load node and npm binaries from the Jenkins Artifactory rather than a third-party server; yarn-based plugins load just the node binary from Artifactory. 413 | 414 | ### 2.28 415 | 416 | Release date: 2017, May 04 417 | 418 | * Updated `access-modifier-checker` to fix a critical bug (lack of enforcement of any method calls). 419 | 420 | ### 2.27 421 | 422 | Release date: 2017, May 02 423 | 424 | * Updated `maven-hpi-plugin`, `jenkins-test-harness`, and more. 425 | * Support for building JavaScript libraries with yarn. 426 | * Ability to specify `jenkins-core.version` and `jenkins-war.version` separately so as to depend on timestamped snapshots of Jenkins core. 427 | 428 | ### 2.26 429 | 430 | * Update `frontend-maven-plugin` from `1.3` to `1.4` ([PR#53](https://github.com/jenkinsci/plugin-pom/pull/53)) 431 | * Update all maven plugins to latest ([PR#54](https://github.com/jenkinsci/plugin-pom/pull/54)) 432 | 433 | ### 2.25 434 | 435 | Release date: 2017, Mar 22 436 | 437 | * [JENKINS-42800](https://issues.jenkins-ci.org/browse/JENKINS-42800) - 438 | Bump JaCoCo version from `0.7.2.201409121644` to `0.7.9` to be compatible with [Jenkins JaCoCo plugin](https://plugins.jenkins.io/jacoco) data format. 439 | 440 | Compatibility notes: 441 | * The change introduces the new reporting format in JaCoCo. 442 | It may cause regressions in build flows which have the `enable-jacoco` profile enabled. 443 | 444 | ### 2.24 445 | 446 | Release date: 2017, Mar 08 447 | 448 | * Updated `frontend-maven-plugin` and `download-maven-plugin` for the benefit of plugins using npm. 449 | * Removed broken attempt to activate `enable-jacoco` profile by default. Now disabled unless selected. 450 | 451 | ### 2.23 452 | 453 | Release date: 2017, Feb 22 454 | 455 | * Using [version 2.18](https://github.com/jenkinsci/jenkins-test-harness#218-2016-dec-20) of the test harness. 456 | 457 | ### 2.22 458 | 459 | Release date: 2017, Feb 13 460 | 461 | * Updated `maven-hpi-plugin` for better snapshot behavior. 462 | 463 | ### 2.21 464 | 465 | Release date: 2017, Jan 19 466 | 467 | * Default to `concurrency=1`. To run faster tests locally, use for example 468 | ```xml 469 | 470 | faster 471 | 472 | true 473 | 474 | 475 | 1C 476 | 477 | 478 | ``` 479 | 480 | ### 2.20 481 | 482 | Release date: 2017, Jan 14 483 | 484 | * Default to non-verbose javadoc generation logs. 485 | ([PR #41](https://github.com/jenkinsci/plugin-pom/pull/41)) 486 | 487 | ### 2.19 488 | 489 | Release date: 2016, Nov 10 490 | 491 | * Fixed a critical regression in 2.18. 492 | 493 | ### 2.18 494 | 495 | This release is **BROKEN**, use 2.19 instead. 496 | 497 | Release date: 2016, Nov 08 498 | 499 | * Introduced `no-test-jar` property. 500 | 501 | This **Incompatible** for plugins declaring a `jar:test-jar` execution; you must use the new property instead. 502 | 503 | ### 2.17 and earlier 504 | 505 | Changes not recorded. 506 | -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 25 | 26 | 27 | 4.0.0 28 | 29 | org.jenkins-ci.plugins 30 | plugin 31 | 3.44-SNAPSHOT 32 | pom 33 | 34 | Jenkins Plugin Parent POM 35 | The Jenkins Plugins Parent POM Project 36 | 2016 37 | 38 | 39 | scm:git:ssh://git@github.com/jenkinsci/plugin-pom.git 40 | scm:git:ssh://git@github.com/jenkinsci/plugin-pom.git 41 | HEAD 42 | 43 | 44 | 45 | UTF-8 46 | UTF-8 47 | UTF-8 48 | 49 | 50 | -Xmx768M -Djava.awt.headless=true 51 | 2.138.4 52 | 53 | ${jenkins.version} 54 | ${jenkins.version} 55 | 2.49 56 | 3.5 57 | 1.17 58 | you-must-override-the-java.level-property 59 | 1.${java.level} 60 | 61 | 62 | ${java.level} 63 | 1 64 | ${concurrency} 65 | false 66 | 67 | true 68 | Medium 69 | default 70 | 71 | 72 | ${findbugs.failOnError} 73 | 76 | ${findbugs.threshold} 77 | 78 | ${findbugs.effort} 79 | 80 | 81 | true 82 | 83 | true 84 | 85 | 1.7.25 86 | 4.0.0 87 | 2.13.1 88 | 0.23.0 89 | 1.7.6 90 | 91 | 92 | 93 | 94 | git 95 | 1.11.2 96 | 97 | true 98 | 1.16 99 | 100 | ${access-modifier.version} 101 | ${access-modifier.version} 102 | 1.17 103 | 104 | false 105 | https://repo.jenkins-ci.org/incrementals/ 106 | HEAD 107 | 108 | ${project.build.directory}/tmp 109 | 110 | 111 | 112 | 113 | 114 | 115 | com.github.spotbugs 116 | spotbugs-annotations 117 | 3.1.12 118 | 119 | 120 | net.jcip 121 | jcip-annotations 122 | 1.0 123 | 124 | 125 | org.jenkins-ci.main 126 | jenkins-core 127 | ${jenkins-core.version} 128 | 129 | 130 | org.jenkins-ci.main 131 | jenkins-war 132 | ${jenkins-war.version} 133 | executable-war 134 | test 135 | 136 | 137 | org.jenkins-ci.main 138 | jenkins-test-harness 139 | ${jenkins-test-harness.version} 140 | 141 | 142 | org.jenkins-ci 143 | test-annotations 144 | 1.3 145 | 146 | 147 | junit 148 | junit 149 | 4.12 150 | 151 | 152 | javax.servlet 153 | javax.servlet-api 154 | 3.1.0 155 | 156 | 157 | org.codehaus.mojo 158 | animal-sniffer-annotations 159 | ${animal.sniffer.version} 160 | 161 | 162 | org.codehaus.mojo.signature 163 | java15 164 | 1.0 165 | signature 166 | 167 | 168 | org.codehaus.mojo.signature 169 | java16 170 | 1.1 171 | signature 172 | 173 | 174 | org.codehaus.mojo.signature 175 | java17 176 | 1.0 177 | signature 178 | 179 | 180 | org.codehaus.mojo.signature 181 | java18 182 | 1.0 183 | signature 184 | 185 | 186 | 187 | commons-logging 188 | commons-logging 189 | 1.2 190 | provided 191 | 192 | 193 | log4j 194 | log4j 195 | 1.2.17 196 | provided 197 | 198 | 199 | 203 | 204 | org.mockito 205 | mockito-core 206 | 2.27.0 207 | 208 | 209 | org.powermock 210 | powermock-module-junit4 211 | 2.0.2 212 | 213 | 214 | org.powermock 215 | powermock-api-mockito2 216 | 2.0.2 217 | 218 | 219 | org.objenesis 220 | objenesis 221 | 3.0.1 222 | 223 | 224 | 225 | 226 | 227 | 228 | com.github.spotbugs 229 | spotbugs-annotations 230 | provided 231 | true 232 | 233 | 234 | net.jcip 235 | jcip-annotations 236 | provided 237 | true 238 | 239 | 240 | 241 | org.codehaus.mojo 242 | animal-sniffer-annotations 243 | provided 244 | true 245 | 246 | 247 | 248 | javax.servlet 249 | javax.servlet-api 250 | provided 251 | 252 | 253 | org.jenkins-ci.main 254 | jenkins-core 255 | provided 256 | 257 | 258 | 259 | org.jenkins-ci.main 260 | jenkins-war 261 | executable-war 262 | test 263 | 264 | 265 | org.jenkins-ci.main 266 | jenkins-test-harness 267 | test 268 | 269 | 270 | junit 271 | junit-dep 272 | 273 | 274 | 275 | 276 | org.jenkins-ci 277 | test-annotations 278 | test 279 | 280 | 281 | junit 282 | junit 283 | test 284 | 285 | 286 | org.slf4j 287 | slf4j-api 288 | ${slf4jVersion} 289 | compile 290 | 291 | true 292 | 293 | 294 | 295 | org.slf4j 296 | log4j-over-slf4j 297 | ${slf4jVersion} 298 | test 299 | 300 | 301 | org.slf4j 302 | jcl-over-slf4j 303 | ${slf4jVersion} 304 | test 305 | 306 | 307 | org.slf4j 308 | slf4j-jdk14 309 | ${slf4jVersion} 310 | test 311 | 312 | 313 | org.kohsuke 314 | access-modifier-annotation 315 | ${access-modifier-annotation.version} 316 | provided 317 | 318 | 319 | org.jenkins-ci 320 | annotation-indexer 321 | 322 | 323 | 324 | 325 | commons-logging 326 | commons-logging 327 | provided 328 | 329 | 330 | 331 | 335 | ${project.artifactId} 336 | 337 | 338 | 339 | maven-clean-plugin 340 | 3.1.0 341 | 342 | 343 | maven-compiler-plugin 344 | 3.8.1 345 | 346 | 347 | maven-dependency-plugin 348 | 3.1.1 349 | 350 | 351 | maven-jar-plugin 352 | 3.1.2 353 | 354 | 355 | maven-resources-plugin 356 | 3.1.0 357 | 358 | 359 | maven-surefire-plugin 360 | 3.0.0-M3 361 | 362 | 363 | maven-failsafe-plugin 364 | 3.0.0-M3 365 | 366 | 367 | maven-deploy-plugin 368 | 2.8.2 369 | 370 | 371 | maven-enforcer-plugin 372 | 3.0.0-M2 373 | 374 | 375 | maven-install-plugin 376 | 3.0.0-M1 377 | 378 | 379 | maven-javadoc-plugin 380 | 3.1.0 381 | 382 | ${java.level} 383 | true 384 | 385 | http://javadoc.jenkins.io/ 386 | 387 | 388 | 389 | 390 | maven-release-plugin 391 | 2.5.3 392 | 393 | 394 | maven-site-plugin 395 | 3.7.1 396 | 397 | 398 | maven-project-info-reports-plugin 399 | 3.0.0 400 | 401 | 402 | maven-source-plugin 403 | 3.1.0 404 | 405 | 406 | InjectedTest.java 407 | 408 | 409 | 410 | 411 | maven-war-plugin 412 | 3.2.3 413 | 414 | 415 | maven-eclipse-plugin 416 | 2.10 417 | 421 | 422 | target/eclipse-classes 423 | 424 | 425 | org.eclipse.jdt.groovy.core.groovyNature 426 | 427 | 428 | 429 | 430 | org.codehaus.gmaven 431 | gmaven-plugin 432 | 1.5-jenkins-3 433 | 434 | 435 | org.codehaus.mojo 436 | build-helper-maven-plugin 437 | 3.0.0 438 | 439 | 440 | add-source 441 | generate-sources 442 | 443 | add-source 444 | 445 | 446 | 447 | ${project.build.directory}/generated-sources/localizer 448 | 449 | 450 | 451 | 452 | 453 | 454 | org.jacoco 455 | jacoco-maven-plugin 456 | 0.8.4 457 | 458 | 459 | org.kohsuke.gmaven 460 | gmaven-plugin 461 | 1.0-rc-5-patch-2 462 | 463 | 464 | org.kohsuke.stapler 465 | maven-stapler-plugin 466 | ${stapler-plugin.version} 467 | 468 | 469 | org.jenkins-ci.tools 470 | maven-hpi-plugin 471 | ${hpi-plugin.version} 472 | 473 | 474 | org.codehaus.mojo 475 | animal-sniffer-maven-plugin 476 | ${animal.sniffer.version} 477 | 478 | 479 | org.jvnet.localizer 480 | maven-localizer-plugin 481 | 1.26 482 | 483 | 484 | org.kohsuke 485 | access-modifier-checker 486 | ${access-modifier-checker.version} 487 | 488 | 489 | com.cloudbees 490 | maven-license-plugin 491 | 1.8 492 | 493 | 494 | io.jenkins.tools.incrementals 495 | incrementals-maven-plugin 496 | 1.0-beta-7 497 | 498 | 499 | org.jenkins-ci.* 500 | io.jenkins.* 501 | 502 | false 503 | false 504 | 505 | 506 | 507 | 508 | 509 | 510 | maven-jar-plugin 511 | 512 | 513 | maybe-test-jar 514 | 515 | test-jar 516 | 517 | 518 | 519 | the.hpl 520 | InjectedTest.class 521 | test-dependencies/ 522 | 523 | ${no-test-jar} 524 | 525 | 526 | 527 | 528 | 529 | maven-enforcer-plugin 530 | 531 | 532 | display-info 533 | validate 534 | 535 | display-info 536 | enforce 537 | 538 | 539 | 540 | 541 | [3.3.1,) 542 | 3.3.1 required to at least look at .mvn/ if it exists. 543 | 544 | 545 | [1.8.0,) 546 | 547 | 552 | 553 | 1.${java.level} 554 | 555 | test 556 | 557 | 558 | 559 | org.jenkins-ci.main:jenkins-core 560 | org.jenkins-ci.main:cli 561 | org.jenkins-ci.main:jenkins-test-harness 562 | org.jenkins-ci.main:remoting 563 | org.kohsuke.stapler:stapler 564 | org.kohsuke.stapler:stapler-groovy 565 | org.kohsuke.stapler:stapler-jelly 566 | org.kohsuke.stapler:stapler-jrebel 567 | org.jenkins-ci:task-reactor 568 | 569 | com.google.code.findbugs:annotations 570 | com.github.spotbugs:spotbugs-annotations 571 | 572 | 591 | 592 | 593 | 594 | javax.servlet:servlet-api 595 | org.sonatype.sisu:sisu-guice 596 | log4j:log4j:*:jar:compile 597 | log4j:log4j:*:jar:runtime 598 | commons-logging:commons-logging:*:jar:compile 599 | commons-logging:commons-logging:*:jar:runtime 600 | 601 | org.testng:testng 602 | 603 | 604 | 605 | 606 | com.google.guava:guava 607 | commons-logging:commons-logging 608 | com.google.code.findbugs:jsr305 609 | net.java.dev.jna:jna 610 | 611 | 612 | 613 | 614 | 615 | 616 | 617 | 618 | org.codehaus.mojo 619 | extra-enforcer-rules 620 | 1.2 621 | 622 | 623 | 624 | 625 | com.github.spotbugs 626 | spotbugs-maven-plugin 627 | 3.1.11 628 | 629 | ${spotbugs.failOnError} 630 | 631 | 632 | 633 | spotbugs 634 | 635 | check 636 | 637 | verify 638 | 639 | 640 | 641 | true 642 | false 643 | ${spotbugs.effort} 644 | ${spotbugs.threshold} 645 | 646 | 647 | 648 | 649 | 650 | maven-compiler-plugin 651 | 652 | 1.${java.level} 653 | 1.${java.level} 654 | 1.${java.level.test} 655 | 1.${java.level.test} 656 | 657 | 658 | 659 | org.codehaus.mojo 660 | animal-sniffer-maven-plugin 661 | 662 | 663 | 664 | check 665 | 666 | check 667 | 668 | 669 | 670 | 671 | org.codehaus.mojo.signature 672 | java1${java.level} 673 | 674 | 675 | 676 | 677 | maven-eclipse-plugin 678 | 679 | 680 | org.jenkins-ci.tools 681 | maven-hpi-plugin 682 | true 683 | 684 | true 685 | 686 | /jenkins 687 | 688 | ${plugin.minimumJavaVersion} 689 | 690 | ${hudson.Main.development} 691 | 692 | 693 | 694 | 695 | org.kohsuke.stapler 696 | maven-stapler-plugin 697 | true 698 | 699 | 700 | maven-release-plugin 701 | 702 | forked-path 703 | false 704 | clean install 705 | deploy 706 | ${arguments} 707 | jenkins-release,${releaseProfiles} 708 | 709 | 710 | 711 | org.jvnet.localizer 712 | maven-localizer-plugin 713 | 714 | 715 | 716 | generate 717 | 718 | 719 | Messages.properties 720 | target/generated-sources/localizer 721 | true 722 | 723 | 724 | 725 | 726 | 727 | org.kohsuke 728 | access-modifier-checker 729 | 730 | 731 | 732 | useBeta 733 | ${useBeta} 734 | 735 | 736 | 737 | 738 | 739 | org.codehaus.gmaven 740 | gmaven-plugin 741 | 742 | 743 | test-in-groovy 744 | 745 | generateTestStubs 746 | testCompile 747 | 748 | 749 | 750 | 751 | 752 | ant 753 | ant 754 | 1.6.5 755 | 756 | 757 | 758 | 759 | maven-antrun-plugin 760 | 761 | 762 | createTempDir 763 | generate-test-resources 764 | 765 | 766 | 767 | 768 | 769 | 770 | run 771 | 772 | 773 | 774 | 775 | 776 | maven-surefire-plugin 777 | 778 | 779 | 780 | hudson.udp 781 | -1 782 | 783 | 784 | java.io.tmpdir 785 | ${surefireTempDir} 786 | 787 | 788 | alphabetical 789 | 790 | 791 | 792 | com.cloudbees 793 | maven-license-plugin 794 | 795 | 796 | 797 | process 798 | 799 | prepare-package 800 | 801 | 802 | target/${project.artifactId}/WEB-INF/licenses.xml 803 | 809 | if (e.value.packaging=="hpi") 810 | plugins.add(e.key.id) 811 | } 812 | 813 | // filter out dependencies that don't belong to this plugin 814 | models.entrySet().removeAll(models.entrySet().findAll { e -> 815 | def a = e.key; 816 | 817 | if (a.dependencyTrail.size()>0 && plugins.contains(a.dependencyTrail[1])) 818 | return true; // ignore transitive dependencies through other plugins 819 | 820 | // if the dependency goes through jenkins core, we don't need to bundle it in the war 821 | // because jenkins-core comes in the scope, I think this is a bug in Maven that it puts such 822 | // dependencies into the artifact list. 823 | if (a.dependencyTrail.find { trail -> trail.contains(":hudson-core:") || trail.contains(":jenkins-core:") }) 824 | return true; 825 | 826 | return false; 827 | }) 828 | } 829 | ]]> 830 | 831 | 832 | 833 | 834 | 835 | 836 | 837 | 838 | 839 | repo.jenkins-ci.org 840 | https://repo.jenkins-ci.org/public/ 841 | 842 | 843 | 844 | 845 | 846 | repo.jenkins-ci.org 847 | https://repo.jenkins-ci.org/public/ 848 | 849 | 850 | 851 | 852 | 853 | false 854 | maven.jenkins-ci.org 855 | https://repo.jenkins-ci.org/releases/ 856 | 857 | 858 | maven.jenkins-ci.org 859 | https://repo.jenkins-ci.org/snapshots/ 860 | 861 | 862 | 863 | 864 | 865 | uninherited-java.level 866 | 867 | 868 | ${basedir}/src/it/undefined-java-level/pom.xml 869 | 870 | 871 | 872 | 8 873 | 874 | 875 | 876 | jenkins-release 877 | 878 | ${release.skipTests} 879 | ${release.skipTests} 880 | ${release.skipTests} 881 | 882 | 883 | 884 | 885 | maven-source-plugin 886 | 887 | 888 | attach-sources 889 | 890 | jar-no-fork 891 | 892 | 893 | 894 | attach-test-sources 895 | 896 | test-jar-no-fork 897 | 898 | 899 | ${no-test-jar} 900 | 901 | 902 | 903 | 904 | 905 | maven-javadoc-plugin 906 | 907 | 908 | attach-javadocs 909 | 910 | jar 911 | 912 | 913 | 914 | 915 | 916 | 917 | 918 | 919 | only-eclipse 920 | 921 | 922 | m2e.version 923 | 924 | 925 | 926 | 927 | 928 | 934 | 935 | org.eclipse.m2e 936 | lifecycle-mapping 937 | 1.0.0 938 | 939 | 940 | 941 | 942 | 943 | org.apache.maven.plugins 944 | maven-enforcer-plugin 945 | [1.0,) 946 | 947 | display-info 948 | 949 | 950 | 951 | 952 | 953 | 954 | 955 | 956 | org.codehaus.gmaven 957 | gmaven-plugin 958 | [1.0,) 959 | 960 | testCompile 961 | generateTestStubs 962 | 963 | 964 | 965 | 966 | 967 | 968 | 969 | 970 | 971 | 972 | 973 | 974 | 975 | 976 | 977 | always-check-remote-repositories 978 | 979 | always 980 | 981 | 982 | 983 | rerunFailingTests 984 | 985 | 986 | !test 987 | 988 | 989 | 990 | 4 991 | 992 | 993 | 994 | skip-spotbugs-with-tests 995 | 996 | 997 | skipTests 998 | true 999 | 1000 | 1001 | 1002 | true 1003 | 1004 | 1005 | 1006 | skip-node-tests 1007 | 1008 | 1009 | skipTests 1010 | true 1011 | 1012 | 1013 | 1014 | --skipTests --skipLint 1015 | 1016 | 1017 | 1018 | skip-node-lint 1019 | 1020 | 1021 | skipLint 1022 | true 1023 | 1024 | 1025 | 1026 | --skipLint 1027 | 1028 | 1029 | 1030 | spotbugs-exclusion-file 1031 | 1032 | 1033 | ${basedir}/src/spotbugs/excludesFilter.xml 1034 | 1035 | 1036 | 1037 | 1038 | 1039 | com.github.spotbugs 1040 | spotbugs-maven-plugin 1041 | 1042 | 1043 | spotbugs 1044 | 1045 | ${project.basedir}/src/spotbugs/excludesFilter.xml 1046 | 1047 | 1048 | 1049 | 1050 | 1051 | 1052 | 1053 | 1054 | all-tests 1055 | 1056 | 1057 | !test 1058 | 1059 | 1060 | 1061 | true 1062 | 1063 | 1064 | 1065 | enable-jacoco 1066 | 1067 | 1068 | 1069 | org.jacoco 1070 | jacoco-maven-plugin 1071 | 1072 | 1073 | 1074 | prepare-agent 1075 | 1076 | 1077 | 1078 | report 1079 | prepare-package 1080 | 1081 | report 1082 | 1083 | 1084 | 1085 | 1086 | 1087 | **/Messages.class 1088 | 1089 | 1090 | 1091 | 1092 | 1093 | 1094 | 1095 | node-execution 1096 | 1097 | 1098 | .mvn_exec_node 1099 | 1100 | 1101 | 1102 | 1103 | 1104 | com.github.eirslett 1105 | frontend-maven-plugin 1106 | ${frontend-version} 1107 | 1108 | 1109 | 1110 | 1111 | initialize 1112 | install node and npm 1113 | 1114 | install-node-and-npm 1115 | 1116 | 1117 | v${node.version} 1118 | ${npm.version} 1119 | https://repo.jenkins-ci.org/nodejs-dist/ 1120 | https://repo.jenkins-ci.org/npm-dist/ 1121 | 1122 | 1123 | 1124 | 1125 | initialize 1126 | npm install 1127 | 1128 | npm 1129 | 1130 | 1131 | 1132 | install ${npm.loglevel} 1133 | 1134 | 1135 | 1136 | 1137 | generate-sources 1138 | npm mvnbuild 1139 | 1140 | npm 1141 | 1142 | 1143 | 1144 | run mvnbuild 1145 | 1146 | 1147 | 1148 | 1149 | test 1150 | npm mvntest 1151 | 1152 | npm 1153 | 1154 | 1155 | 1156 | run mvntest 1157 | 1158 | 1159 | 1160 | 1161 | 1162 | 1163 | 1164 | 1165 | 1166 | 1167 | yarn-execution 1168 | 1169 | 1170 | .mvn_exec_yarn 1171 | 1172 | 1173 | 1174 | 1175 | 1176 | com.github.eirslett 1177 | frontend-maven-plugin 1178 | ${frontend-version} 1179 | 1180 | 1181 | 1182 | 1183 | initialize 1184 | install node and yarn 1185 | 1186 | install-node-and-yarn 1187 | 1188 | 1189 | v${node.version} 1190 | v${yarn.version} 1191 | https://repo.jenkins-ci.org/nodejs-dist/ 1192 | 1193 | 1194 | 1195 | 1196 | 1197 | initialize 1198 | yarn install 1199 | 1200 | yarn 1201 | 1202 | 1203 | 1204 | 1205 | --mutex network 1206 | 1207 | 1208 | 1209 | 1210 | generate-sources 1211 | yarn mvnbuild 1212 | 1213 | yarn 1214 | 1215 | 1216 | 1217 | run mvnbuild 1218 | 1219 | 1220 | 1221 | 1222 | test 1223 | yarn mvntest 1224 | 1225 | yarn 1226 | 1227 | 1228 | 1229 | run mvntest 1230 | 1231 | 1232 | 1233 | 1234 | 1235 | 1236 | 1237 | 1238 | 1239 | clean-node 1240 | 1241 | 1242 | package.json 1243 | 1244 | 1245 | cleanNode 1246 | 1247 | 1248 | 1249 | 1250 | 1251 | org.apache.maven.plugins 1252 | maven-clean-plugin 1253 | 1254 | 1255 | 1256 | node 1257 | false 1258 | 1259 | 1260 | node_modules 1261 | false 1262 | 1263 | 1264 | 1265 | 1266 | 1267 | 1268 | 1269 | 1270 | jgit-scm-provider 1271 | 1272 | 1273 | git.provider 1274 | jgit 1275 | 1276 | 1277 | 1278 | 1279 | 1280 | maven-release-plugin 1281 | 1282 | 1283 | ${git.provider} 1284 | 1285 | 1286 | 1287 | 1288 | org.apache.maven.scm 1289 | maven-scm-provider-jgit 1290 | ${maven-scm.version} 1291 | 1292 | 1293 | 1294 | 1295 | maven-scm-plugin 1296 | ${maven-scm.version} 1297 | 1298 | 1299 | ${git.provider} 1300 | 1301 | 1302 | 1303 | 1304 | org.apache.maven.scm 1305 | maven-scm-provider-jgit 1306 | ${maven-scm.version} 1307 | 1308 | 1309 | 1310 | 1311 | 1312 | 1313 | 1314 | 1315 | consume-incrementals 1316 | 1317 | 1318 | incrementals 1319 | ${incrementals.url} 1320 | 1321 | false 1322 | 1323 | 1324 | 1325 | 1326 | 1327 | incrementals 1328 | ${incrementals.url} 1329 | 1330 | false 1331 | 1332 | 1333 | 1334 | 1335 | 1336 | might-produce-incrementals 1337 | 1338 | 1339 | 1340 | org.codehaus.mojo 1341 | flatten-maven-plugin 1342 | 1.1.0 1343 | 1344 | true 1345 | 1346 | 1347 | 1348 | flatten 1349 | process-resources 1350 | 1351 | flatten 1352 | 1353 | 1354 | oss 1355 | ${project.build.directory} 1356 | ${project.artifactId}-${project.version}.pom 1357 | 1358 | 1359 | 1360 | 1361 | 1362 | maven-enforcer-plugin 1363 | 1364 | 1365 | display-info 1366 | 1367 | 1368 | 1369 | [3.5.0,) 1370 | 3.5.0+ required to use Incrementals. 1371 | 1372 | 1373 | [1.0-beta-4,) 1374 | 1375 | 1376 | 1377 | 1378 | 1379 | 1380 | 1381 | io.jenkins.tools.incrementals 1382 | incrementals-enforcer-rules 1383 | 1.0-beta-7 1384 | 1385 | 1386 | 1387 | 1388 | maven-release-plugin 1389 | 1390 | incrementals:reincrementalify 1391 | 1392 | 1393 | 1394 | 1395 | 1396 | 1397 | produce-incrementals 1398 | 1399 | 1400 | set.changelist 1401 | true 1402 | 1403 | 1404 | 1405 | 1406 | incrementals 1407 | ${incrementals.url} 1408 | 1409 | 1410 | 1411 | 1412 | 1413 | 1414 | maven-source-plugin 1415 | 1416 | 1417 | attach-sources 1418 | 1419 | jar-no-fork 1420 | 1421 | 1422 | 1423 | attach-test-sources 1424 | 1425 | test-jar-no-fork 1426 | 1427 | 1428 | ${no-test-jar} 1429 | 1430 | 1431 | 1432 | 1433 | 1434 | maven-javadoc-plugin 1435 | 1436 | 1437 | attach-javadocs 1438 | 1439 | jar 1440 | 1441 | 1442 | 1443 | 1444 | 1445 | 1446 | 1447 | 1448 | run-plugin-pom-its 1449 | 1450 | 1451 | 1452 | org.codehaus.mojo 1453 | mrm-maven-plugin 1454 | 1.2.0 1455 | 1456 | 1457 | 1458 | start 1459 | stop 1460 | 1461 | 1462 | repository.proxy.url 1463 | 1464 | 1465 | 1466 | 1467 | 1468 | 1469 | 1470 | 1471 | maven-invoker-plugin 1472 | 3.2.0 1473 | 1474 | 1475 | integration-test 1476 | 1477 | install 1478 | run 1479 | 1480 | 1481 | false 1482 | true 1483 | ${project.build.directory}/its 1484 | ${basedir}/target/local-repo 1485 | src/it/settings.xml 1486 | 1487 | ${repository.proxy.url} 1488 | 1489 | 1490 | 1491 | 1492 | 1493 | 1494 | 1495 | 1496 | 1497 | 1498 | --------------------------------------------------------------------------------