After more thinking my current POV is now: * No contrib top level project. Contrib projects extend commons top level POM if they want to benefit from dependencyManagement and others goodies in there. They're not forced to extend this POM though. * A Maven archetype to make it easy to create a contrib project with a valid POM skeleton * Some rules at the level of our Maven Repository Manager (Nexus ATM but I'm going to investigate using Artifactory since I believe it's a lot more customizable - More soon on that). The idea is that when a contrib author tries to release his project, it'll fail if it doesn't pass the rules.
Rules (might not be complete): * group id starts with "org.xwiki.contrib" * a <name> element is provided (not inherited) * a <version> element is provided (not inherited) * a <artifactId> element is provided (not inherited) * a valid <developers> section is provided (not inherited) and doesn't contain "XWiki Development Team" * a <description> element is provided (not inherited) * a <license> element is provided (not inherited) * a <inceptionYear> element is provided (not inherited) * a <issueManagement> element is provided (not inherited) * a <scm> element is provided (not inherited) * <name> shouldn't match <description> (to ensure valid data for e.x.o to display) Then we need to decide if we want additional rules such as the Sonatype OSS ones: * Sources are bundled * Javadoc are bundled * GPG signatures * No repo specified in the POM * etc Thanks -Vincent On Thu, Nov 7, 2013 at 6:49 PM, Vincent Massol <[email protected]> wrote: > hmm actually putting it in commons doesn't work... :( > > If it's in commons it needs to have valid content as a common POM. For > example it needs to have <groupId>org.xwiki.commons</groupId>. Same for > <scm>, etc. Thus it doesn't bring any value and is actually empty... > > So we have 2 options I believe: > - option 1: move it to xwiki-contrib on github so that it can have default > values which are the closest possible to what is needed > - option 2: don't use a contrib top level pom and instead create an > archetype to generate a valid project/POM > > WDYT? > > Thanks > -Vincent > > > On Thu, Nov 7, 2013 at 6:25 PM, Vincent Massol <[email protected]> wrote: > >> Done, I'll revert if someone doesn't agree. >> >> Now working on testing it more and documenting it. >> >> Thanks >> -Vincent >> >> >> On Thu, Nov 7, 2013 at 5:20 PM, Marius Dumitru Florea < >> [email protected]> wrote: >> >>> +1 >>> >>> Thanks, >>> Marius >>> >>> On Thu, Nov 7, 2013 at 5:29 PM, Vincent Massol <[email protected]> >>> wrote: >>> > Hi devs, >>> > >>> > We need to provide a contrib top level POM for extension contributors. >>> ATM >>> > we recommend to extend the commons top level pom on >>> > http://contrib.xwiki.orgbut it's a bad idea because contributors >>> > forget to override some pom.xml >>> > elements (such as the <developers> section) and thus the published >>> > extensions end up with wrong information (such as wrong author: "XWiki >>> > Development Team"). >>> > >>> > The reason to put it in commons: >>> > * We will have dependencyManagement in it and thus it needs to be in >>> sync >>> > with the commons version. It'll have the same version as commons top >>> level >>> > pom version. >>> > * Easy for us since it'll be released at the same time as commons >>> > * Easy for extension authors to choose the top level contrib version >>> they >>> > need: they'll pick the one corresponding to the xwiki version they >>> want to >>> > depend on >>> > >>> > Note that since some extensions may want to depend on versions of XWiki >>> > older than 5.3 we can deploy this contrib pom also for older versions >>> using >>> > mvn deploy:deploy-file >>> > >>> > WDYT? >>> > >>> > Thanks >>> > -Vincent >>> > _______________________________________________ >>> > devs mailing list >>> > [email protected] >>> > http://lists.xwiki.org/mailman/listinfo/devs >>> _______________________________________________ >>> devs mailing list >>> [email protected] >>> http://lists.xwiki.org/mailman/listinfo/devs >>> >> >> > _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

