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.

Reply via email to