+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.
