[xwiki-devs] [Proposal] Adding a Contrib top level project in commons
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
+1 On Thu, Nov 7, 2013 at 4: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
-- Thomas Mortagne
On 11/07/2013 10:29 AM, Vincent Massol 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?
+1. Will this be a copy of xwiki-commons-pom, or an extension that overrides a few sections? Should it include the license check plugin, which currently enforces LGPL2.1? Should we make it easier to change the license being enforced? What do we put instead of the <developers>? Do we make it a generic "XWiki community", or leave it empty so that others can fill it in? We can use the enforcer's requireProperty rule to check that mandatory sections have been filled in. I'd like to have a single xwiki.version property instead of the current commons, rendering, platform.version, so that people don't have to think which one should they use for each module. Instead of deploy-file, why not actually release older versions? Since it's a separate repository, we can do that, we don't have to sync releases with the official XWiki releases. -- Sergiu Dumitriu http://purl.org/net/sergiu
On Thu, Nov 7, 2013 at 4:58 PM, Sergiu Dumitriu <[email protected]> wrote:
On 11/07/2013 10:29 AM, Vincent Massol 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?
+1.
Will this be a copy of xwiki-commons-pom, or an extension that overrides a few sections?
Should it include the license check plugin, which currently enforces LGPL2.1? Should we make it easier to change the license being enforced?
What do we put instead of the <developers>? Do we make it a generic "XWiki community", or leave it empty so that others can fill it in? We can use the enforcer's requireProperty rule to check that mandatory sections have been filled in.
See a first version at https://github.com/xwiki-contrib/contrib-pom/blob/master/pom.xml
I'd like to have a single xwiki.version property instead of the current commons, rendering, platform.version, so that people don't have to think which one should they use for each module.
I think that's orthogonal to this discussion.
Instead of deploy-file, why not actually release older versions? Since it's a separate repository, we can do that, we don't have to sync releases with the official XWiki releases.
It's not a separate repository, that's the point ;) I explained above why I think it's good to have it in xwiki-commons ;) Thanks -Vincent
-- Sergiu Dumitriu http://purl.org/net/sergiu _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
On 11/07/2013 11:10 AM, Vincent Massol wrote:
On Thu, Nov 7, 2013 at 4:58 PM, Sergiu Dumitriu <[email protected]> wrote:
On 11/07/2013 10:29 AM, Vincent Massol 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?
+1.
Will this be a copy of xwiki-commons-pom, or an extension that overrides a few sections?
Should it include the license check plugin, which currently enforces LGPL2.1? Should we make it easier to change the license being enforced?
What do we put instead of the <developers>? Do we make it a generic "XWiki community", or leave it empty so that others can fill it in? We can use the enforcer's requireProperty rule to check that mandatory sections have been filled in.
See a first version at https://github.com/xwiki-contrib/contrib-pom/blob/master/pom.xml
I'd like to have a single xwiki.version property instead of the current commons, rendering, platform.version, so that people don't have to think which one should they use for each module.
I think that's orthogonal to this discussion.
Instead of deploy-file, why not actually release older versions? Since it's a separate repository, we can do that, we don't have to sync releases with the official XWiki releases.
It's not a separate repository, that's the point ;) I explained above why I think it's good to have it in xwiki-commons ;)
Ah, right, somehow I missed that part. -- Sergiu Dumitriu http://purl.org/net/sergiu
+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
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
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
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
The first question is do we want it on maven central ?
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
-- Thomas Mortagne
On Fri, Nov 8, 2013 at 8:44 AM, Thomas Mortagne <[email protected]>wrote:
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
The first question is do we want it on maven central ?
Not sure it's needed since most contributions need platform and will need to add the XWiki Maven remote repo anyway to their settings. It would be useful only for extension authors creating Rendering extensions basically and that's very few people. Thanks -Vincent
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
-- Thomas Mortagne _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
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
participants (4)
-
Marius Dumitru Florea -
Sergiu Dumitriu -
Thomas Mortagne -
Vincent Massol