Baptiste, I totally agree with you but in this case will be very important to keep well-documented this parent-POM.
2016-01-18 18:00 GMT+01:00 Baptiste Mathus <[email protected]>: > +1 > > Interested by jenkins.version sure, but also (even more?) by the fact it > will be far easier to add things in that new parent that will be able to > propagate far far quicker than upgrading to a more recent Jenkins base a > like we have to do currently. (Example: upgrading the maven-hpi-plugin for > one, and so on). > > Le 18 janv. 2016 4:34 PM, "domi" <[email protected]> a écrit : >> >> +100 >> >> Am 18.01.2016 um 10:35 schrieb [email protected]: >> >> Hi all, >> >> >> Please find below a proposal for a new parent POM for Jenkins Plugins. >> >> >> Motivation >> >> >> The main driver to propose a revision of the parent plugin POM is to >> decouple this artifact from the Jenkins Core: >> >> Simplifying the mechanism to build and test a plugin against different >> core versions. >> >> Decoupling build-related aspects, such as static analysis tools, JRE >> signatures, etc. from the baseline core versions, as they are totally >> independent concerns, reducing the need to include otherwise common >> configuration in each plugin POM just because we want to support and older >> baseline. >> >> >> One use case that would greatly benefit from this change is for example, >> jenkins#1530, where it is necessary to propose API changes in core and >> matching plugin usages. The current plugins/pom.xml does not work if you mvn >> deploy a SNAPSHOT revision. Plugin Compatibility Testing can also benefit >> from this change. >> >> >> Approach >> >> >> As stated above the approach is based in making the plugin parent POM >> independent of the main Jenkins core project, and performing the following >> actions: >> >> Make the Jenkins Core version to use configurable via a property, so that >> a simple mvn -Djenkins.version=xxxx hpi:run is enough to compile and run a >> plugin with a different core version. >> >> Make the Jenkins Test Harness version to use also configurable (the >> default being the same Jenkins core version), for those cases that may need >> it, such as copyartifact#76. >> >> Reduce the number of Maven plugin pinned versions to those really used. >> >> Reduce the number of number of elements (versions, etc) overridable via >> properties to those that have a specific reason, setting the values to those >> intended to be used. There’s no reason to make everything overridable as the >> parent pom evolution is now independent of the baseline Jenkins Core >> versions. >> >> >> Other aspects included: >> >> Default configuration for findbugs, including the possibility of >> automatically activating exclusions, and a property to define if findbug >> errors should break the build (default true). >> >> JRE signature verification configured to the Java level defined for the >> build (using a property as well). >> >> Regarding releases: >> >> Launching javadoc:javadoc in the prepare phase, in order to avoid the >> inconvenience “stricter” Java 8 javadoc breaking builds in the release >> phase. >> >> Skipping tests in the release phase, cutting release build times for >> plugins with a great number of tests. >> >> General cleanup. >> >> >> Ok, show me the code >> >> >> The current proposal is being pushed to >> https://github.com/andresrc/plugin-pom. It is not deployed to any repository >> yet, so in order to test it a local install is required. The artifactId is >> intentionally changed to avoid confusion. JIRA issue [JENKINS-32493] has >> been filed. >> >> >> Some plugins have been used to verify the current proposal, including: >> >> Branch-API: https://github.com/jenkinsci/branch-api-plugin/pull/25 >> >> Copyartifact: https://github.com/jenkinsci/copyartifact-plugin/pull/78 >> >> Workflow: https://github.com/jenkinsci/workflow-plugin/pull/303 >> >> Script Security: >> https://github.com/jenkinsci/script-security-plugin/pull/36 >> >> Support Core: https://github.com/jenkinsci/support-core-plugin/pull/53 >> >> >> There is also an update on the Maven archetype at >> https://github.com/jenkinsci/maven-hpi-plugin/pull/27. >> >> >> Next Steps >> >> >> After collecting feedback from the community and if there’s certain >> consensus about going forward the next steps would be: >> >> Create a repository for the artifact in jenkinsci. >> >> Decide the final artifact maven coordinates. >> >> Perform a release. >> >> Update the documentation (wiki, etc.) >> >> Upgrade some plugins to use the new POM in order to drive adoption. >> >> Upgrade to PCT to support it. >> >> >> Thanks! >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Jenkins Developers" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/jenkinsci-dev/a0668ee9-908d-42c1-9b18-a98751869572%40googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Jenkins Developers" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/jenkinsci-dev/45406653-4295-4BD6-AC1B-B8624354F0A6%40fortysix.ch. >> For more options, visit https://groups.google.com/d/optout. > > -- > You received this message because you are subscribed to the Google Groups > "Jenkins Developers" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/jenkinsci-dev/CANWgJS6w7PF%3DY%3DvUE_%2B46-LOsPwP1Snt0n0nE0Ox3RX6fCHRcA%40mail.gmail.com. > > For more options, visit https://groups.google.com/d/optout. -- Manuel Recena Soto * manuelrecena.com [/blog] * linkedin.com/in/recena -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CABa-UofOZTw12mEVX3tej8VRofjYO83NoyarX_ax8HYUHuPmGA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
