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

Reply via email to