[xwiki-devs] [Proposal] Having XWiki repositories in pom for extensions
Hi devs, I'm kind of annoyed that to build an extension, you need to clone it (ok, every dev can do it), launch Maven (devs can do it too) and... it breaks! It breaks because the ~/.m2/settings.xml file has not been configured. Of course, ideal would be to push everything to Maven Central but as far as I know, there is a lot of work to do before being able to that for XWiki platform. However, for extensions, it's another story. We could define repositories directly into the root POM of the extension. I'm not a Maven expert, but I already tried the following who seems to work, WDYT? ----- <repositories> <repository> <id>xwiki-snapshots</id> <name>XWiki Nexus Snapshot Repository Proxy</name> <url>http://nexus.xwiki.org/nexus/content/groups/public-snapshots</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> <repository> <id>xwiki-releases</id> <name>XWiki Nexus Releases Repository Proxy</name> <url>http://nexus.xwiki.org/nexus/content/groups/public</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>xwiki-plugins-snapshots</id> <name>XWiki Nexus Plugin Snapshot Repository Proxy</name> <url>http://nexus.xwiki.org/nexus/content/groups/public-snapshots</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> <pluginRepository> <id>xwiki-plugins-releases</id> <name>XWiki Nexus Plugin Releases Repository Proxy</name> <url>http://nexus.xwiki.org/nexus/content/groups/public</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> </pluginRepositories> ----- -- Jean Simard jean.simard@xwiki.com Research engineer at XWiki SAS http://www.xwiki.com Committer on the XWiki.org project http://www.xwiki.org
Hi Jean, I have no strong opinion on my side about this, let say that I am -0. Personally, I am using mirrors of the XWiki repos, but I imagine there are not a lot of people working like me. However, I see more issue than benefit in adding the repositories, see this very well written blog post about the cons: http://blog.sonatype.com/2009/02/why-putting-repositories-in-your-poms-is-a-... . Regards, On Thu, Apr 9, 2015 at 4:51 PM, Jean SIMARD <jean.simard@xwiki.com> wrote:
Hi devs,
I'm kind of annoyed that to build an extension, you need to clone it (ok, every dev can do it), launch Maven (devs can do it too) and... it breaks! It breaks because the ~/.m2/settings.xml file has not been configured.
Of course, ideal would be to push everything to Maven Central but as far as I know, there is a lot of work to do before being able to that for XWiki platform.
However, for extensions, it's another story. We could define repositories directly into the root POM of the extension.
I'm not a Maven expert, but I already tried the following who seems to work, WDYT?
----- <repositories> <repository> <id>xwiki-snapshots</id> <name>XWiki Nexus Snapshot Repository Proxy</name>
<url>http://nexus.xwiki.org/nexus/content/groups/public-snapshots</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> <repository> <id>xwiki-releases</id> <name>XWiki Nexus Releases Repository Proxy</name> <url>http://nexus.xwiki.org/nexus/content/groups/public</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories>
<pluginRepositories> <pluginRepository> <id>xwiki-plugins-snapshots</id> <name>XWiki Nexus Plugin Snapshot Repository Proxy</name>
<url>http://nexus.xwiki.org/nexus/content/groups/public-snapshots</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> <pluginRepository> <id>xwiki-plugins-releases</id> <name>XWiki Nexus Plugin Releases Repository Proxy</name> <url>http://nexus.xwiki.org/nexus/content/groups/public</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> </pluginRepositories> -----
-- Jean Simard jean.simard@xwiki.com Research engineer at XWiki SAS http://www.xwiki.com Committer on the XWiki.org project http://www.xwiki.org _______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
-- Denis Gervalle SOFTEC sa - CEO
Interesting article... and it seems that it goes more into my proposition than to rely on the settings.xml file, the main problem being a potential change of our Nexus URI (or did I missed something?). Regards, On 10/04/2015 10:29, Denis Gervalle wrote:
Hi Jean,
I have no strong opinion on my side about this, let say that I am -0. Personally, I am using mirrors of the XWiki repos, but I imagine there are not a lot of people working like me. However, I see more issue than benefit in adding the repositories, see this very well written blog post about the cons: http://blog.sonatype.com/2009/02/why-putting-repositories-in-your-poms-is-a-... .
Regards,
On Thu, Apr 9, 2015 at 4:51 PM, Jean SIMARD <jean.simard@xwiki.com> wrote:
Hi devs,
I'm kind of annoyed that to build an extension, you need to clone it (ok, every dev can do it), launch Maven (devs can do it too) and... it breaks! It breaks because the ~/.m2/settings.xml file has not been configured.
Of course, ideal would be to push everything to Maven Central but as far as I know, there is a lot of work to do before being able to that for XWiki platform.
However, for extensions, it's another story. We could define repositories directly into the root POM of the extension.
I'm not a Maven expert, but I already tried the following who seems to work, WDYT?
----- <repositories> <repository> <id>xwiki-snapshots</id> <name>XWiki Nexus Snapshot Repository Proxy</name>
<url>http://nexus.xwiki.org/nexus/content/groups/public-snapshots</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> <repository> <id>xwiki-releases</id> <name>XWiki Nexus Releases Repository Proxy</name> <url>http://nexus.xwiki.org/nexus/content/groups/public</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories>
<pluginRepositories> <pluginRepository> <id>xwiki-plugins-snapshots</id> <name>XWiki Nexus Plugin Snapshot Repository Proxy</name>
<url>http://nexus.xwiki.org/nexus/content/groups/public-snapshots</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> <pluginRepository> <id>xwiki-plugins-releases</id> <name>XWiki Nexus Plugin Releases Repository Proxy</name> <url>http://nexus.xwiki.org/nexus/content/groups/public</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> </pluginRepositories> -----
-- Jean Simard jean.simard@xwiki.com Research engineer at XWiki SAS http://www.xwiki.com Committer on the XWiki.org project http://www.xwiki.org _______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
-- Jean Simard jean.simard@xwiki.com Research engineer at XWiki SAS http://www.xwiki.com Committer on the XWiki.org project http://www.xwiki.org
I don't understand the problem. The same Maven configuration that works for building the XWiki platform works for building the XWiki extensions. The configuration is documented here http://dev.xwiki.org/xwiki/bin/view/Community/Building#HInstallingMaven . Are you suggesting to duplicate the repo configuration on all extensions poms? Thanks, Marius On Thu, Apr 9, 2015 at 5:51 PM, Jean SIMARD <jean.simard@xwiki.com> wrote:
Hi devs,
I'm kind of annoyed that to build an extension, you need to clone it (ok, every dev can do it), launch Maven (devs can do it too) and... it breaks! It breaks because the ~/.m2/settings.xml file has not been configured.
Of course, ideal would be to push everything to Maven Central but as far as I know, there is a lot of work to do before being able to that for XWiki platform.
However, for extensions, it's another story. We could define repositories directly into the root POM of the extension.
I'm not a Maven expert, but I already tried the following who seems to work, WDYT?
----- <repositories> <repository> <id>xwiki-snapshots</id> <name>XWiki Nexus Snapshot Repository Proxy</name>
<url>http://nexus.xwiki.org/nexus/content/groups/public-snapshots</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> <repository> <id>xwiki-releases</id> <name>XWiki Nexus Releases Repository Proxy</name> <url>http://nexus.xwiki.org/nexus/content/groups/public</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories>
<pluginRepositories> <pluginRepository> <id>xwiki-plugins-snapshots</id> <name>XWiki Nexus Plugin Snapshot Repository Proxy</name>
<url>http://nexus.xwiki.org/nexus/content/groups/public-snapshots</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> <pluginRepository> <id>xwiki-plugins-releases</id> <name>XWiki Nexus Plugin Releases Repository Proxy</name> <url>http://nexus.xwiki.org/nexus/content/groups/public</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> </pluginRepositories> -----
-- Jean Simard jean.simard@xwiki.com Research engineer at XWiki SAS http://www.xwiki.com Committer on the XWiki.org project http://www.xwiki.org _______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
He want setting.xml file to not be needed. On Fri, Apr 10, 2015 at 10:38 AM, Marius Dumitru Florea <mariusdumitru.florea@xwiki.com> wrote:
I don't understand the problem. The same Maven configuration that works for building the XWiki platform works for building the XWiki extensions. The configuration is documented here http://dev.xwiki.org/xwiki/bin/view/Community/Building#HInstallingMaven . Are you suggesting to duplicate the repo configuration on all extensions poms?
Thanks, Marius
On Thu, Apr 9, 2015 at 5:51 PM, Jean SIMARD <jean.simard@xwiki.com> wrote:
Hi devs,
I'm kind of annoyed that to build an extension, you need to clone it (ok, every dev can do it), launch Maven (devs can do it too) and... it breaks! It breaks because the ~/.m2/settings.xml file has not been configured.
Of course, ideal would be to push everything to Maven Central but as far as I know, there is a lot of work to do before being able to that for XWiki platform.
However, for extensions, it's another story. We could define repositories directly into the root POM of the extension.
I'm not a Maven expert, but I already tried the following who seems to work, WDYT?
----- <repositories> <repository> <id>xwiki-snapshots</id> <name>XWiki Nexus Snapshot Repository Proxy</name>
<url>http://nexus.xwiki.org/nexus/content/groups/public-snapshots</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> <repository> <id>xwiki-releases</id> <name>XWiki Nexus Releases Repository Proxy</name> <url>http://nexus.xwiki.org/nexus/content/groups/public</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories>
<pluginRepositories> <pluginRepository> <id>xwiki-plugins-snapshots</id> <name>XWiki Nexus Plugin Snapshot Repository Proxy</name>
<url>http://nexus.xwiki.org/nexus/content/groups/public-snapshots</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> <pluginRepository> <id>xwiki-plugins-releases</id> <name>XWiki Nexus Plugin Releases Repository Proxy</name> <url>http://nexus.xwiki.org/nexus/content/groups/public</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> </pluginRepositories> -----
-- Jean Simard jean.simard@xwiki.com Research engineer at XWiki SAS http://www.xwiki.com Committer on the XWiki.org project http://www.xwiki.org _______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
-- Thomas Mortagne
Yes, that was the idea, getting rid of the settings.xml. On 10/04/2015 10:41, Thomas Mortagne wrote:
He want setting.xml file to not be needed.
On Fri, Apr 10, 2015 at 10:38 AM, Marius Dumitru Florea <mariusdumitru.florea@xwiki.com> wrote:
I don't understand the problem. The same Maven configuration that works for building the XWiki platform works for building the XWiki extensions. The configuration is documented here http://dev.xwiki.org/xwiki/bin/view/Community/Building#HInstallingMaven . Are you suggesting to duplicate the repo configuration on all extensions poms?
Thanks, Marius
On Thu, Apr 9, 2015 at 5:51 PM, Jean SIMARD <jean.simard@xwiki.com> wrote:
Hi devs,
I'm kind of annoyed that to build an extension, you need to clone it (ok, every dev can do it), launch Maven (devs can do it too) and... it breaks! It breaks because the ~/.m2/settings.xml file has not been configured.
Of course, ideal would be to push everything to Maven Central but as far as I know, there is a lot of work to do before being able to that for XWiki platform.
However, for extensions, it's another story. We could define repositories directly into the root POM of the extension.
I'm not a Maven expert, but I already tried the following who seems to work, WDYT?
----- <repositories> <repository> <id>xwiki-snapshots</id> <name>XWiki Nexus Snapshot Repository Proxy</name>
<url>http://nexus.xwiki.org/nexus/content/groups/public-snapshots</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> <repository> <id>xwiki-releases</id> <name>XWiki Nexus Releases Repository Proxy</name> <url>http://nexus.xwiki.org/nexus/content/groups/public</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories>
<pluginRepositories> <pluginRepository> <id>xwiki-plugins-snapshots</id> <name>XWiki Nexus Plugin Snapshot Repository Proxy</name>
<url>http://nexus.xwiki.org/nexus/content/groups/public-snapshots</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> <pluginRepository> <id>xwiki-plugins-releases</id> <name>XWiki Nexus Plugin Releases Repository Proxy</name> <url>http://nexus.xwiki.org/nexus/content/groups/public</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> </pluginRepositories> -----
-- Jean Simard jean.simard@xwiki.com Research engineer at XWiki SAS http://www.xwiki.com Committer on the XWiki.org project http://www.xwiki.org _______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
-- Jean Simard jean.simard@xwiki.com Research engineer at XWiki SAS http://www.xwiki.com Committer on the XWiki.org project http://www.xwiki.org
Yes, indeed. Of course, we could do the same on XWiki platform too. However, as Thomas explained to me, we would need to configure repositories directly in the xwiki-commons Parent POM (which I believe is the one from which platform and extensions depends). But since everything in Commons is pushed to Maven Central and they do not allow to add other repositories, this is a blocking point. Of course, we could also add the repositories in each platform element but it doesn't seems reasonable. For people who wants to build XWiki, it's more probable that they will consult the documentation (and see about the settings.xml). But for people who want to do simpler stuff like contributing to an extension, I think (but maybe only me!) that clone and build should work without any other constraint. The idea behind: a potential contributor that reach a problem within less than 5 minutes is likely to not contribute (at least, that's usually how I react unless I really, really want the stuff). I hope this helps to understand my point-of-view. On 10/04/2015 10:38, Marius Dumitru Florea wrote:
I don't understand the problem. The same Maven configuration that works for building the XWiki platform works for building the XWiki extensions. The configuration is documented here http://dev.xwiki.org/xwiki/bin/view/Community/Building#HInstallingMaven . Are you suggesting to duplicate the repo configuration on all extensions poms?
Thanks, Marius
On Thu, Apr 9, 2015 at 5:51 PM, Jean SIMARD <jean.simard@xwiki.com> wrote:
Hi devs,
I'm kind of annoyed that to build an extension, you need to clone it (ok, every dev can do it), launch Maven (devs can do it too) and... it breaks! It breaks because the ~/.m2/settings.xml file has not been configured.
Of course, ideal would be to push everything to Maven Central but as far as I know, there is a lot of work to do before being able to that for XWiki platform.
However, for extensions, it's another story. We could define repositories directly into the root POM of the extension.
I'm not a Maven expert, but I already tried the following who seems to work, WDYT?
----- <repositories> <repository> <id>xwiki-snapshots</id> <name>XWiki Nexus Snapshot Repository Proxy</name>
<url>http://nexus.xwiki.org/nexus/content/groups/public-snapshots</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> <repository> <id>xwiki-releases</id> <name>XWiki Nexus Releases Repository Proxy</name> <url>http://nexus.xwiki.org/nexus/content/groups/public</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories>
<pluginRepositories> <pluginRepository> <id>xwiki-plugins-snapshots</id> <name>XWiki Nexus Plugin Snapshot Repository Proxy</name>
<url>http://nexus.xwiki.org/nexus/content/groups/public-snapshots</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> <pluginRepository> <id>xwiki-plugins-releases</id> <name>XWiki Nexus Plugin Releases Repository Proxy</name> <url>http://nexus.xwiki.org/nexus/content/groups/public</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> </pluginRepositories> -----
-- Jean Simard jean.simard@xwiki.com Research engineer at XWiki SAS http://www.xwiki.com Committer on the XWiki.org project http://www.xwiki.org _______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
-- Jean Simard jean.simard@xwiki.com Research engineer at XWiki SAS http://www.xwiki.com Committer on the XWiki.org project http://www.xwiki.org
Hi Jean, 1) We’ve indeed followed the general best practice of not putting your Maven Remote repos in the poms. The http://blog.sonatype.com/2009/02/why-putting-repositories-in-your-poms-is-a-... URL provides some good explanation. Actually, initially we have it in our POMs and we remove it. 2) For XWiki Platform/Enterprise, we could imagine doing what you suggest and putting them in the XWiki Platform/Enteprise top level poms. I’m not that fond of it. I’d rather we start trying to publish XWiki Platform in Maven Central actually by trying to reduce the size of our Externals Maven Repo. 3) For XWiki Contrib projects, I’ve worked in the past in creating a top level Contrib POM but it didn’t work out. I don’t remember what were the issues unfortunately and right now I don’t see any problem of having that in theory. Maybe the issue was that it would need to be maintained to point to the correct versions of XWiki commons/rendering/platform. But now that we’ve introduced the concept of LTS it could be manageable and we could point to the latest LTS by default. Once we have that Contrib top level POM, we could imagine putting our Maven Remote Repo in that POM. 4) In order to improve developer onboarding, I’ve just sent a mail with 2 ideas at: http://xwiki.markmail.org/thread/no6firosmj36i36z Thanks -Vincent On 10 Apr 2015 at 14:09:30, Jean SIMARD (jean.simard@xwiki.com(mailto:jean.simard@xwiki.com)) wrote:
Yes, indeed. Of course, we could do the same on XWiki platform too. However, as Thomas explained to me, we would need to configure repositories directly in the xwiki-commons Parent POM (which I believe is the one from which platform and extensions depends). But since everything in Commons is pushed to Maven Central and they do not allow to add other repositories, this is a blocking point.
Of course, we could also add the repositories in each platform element but it doesn't seems reasonable.
For people who wants to build XWiki, it's more probable that they will consult the documentation (and see about the settings.xml).
But for people who want to do simpler stuff like contributing to an extension, I think (but maybe only me!) that clone and build should work without any other constraint. The idea behind: a potential contributor that reach a problem within less than 5 minutes is likely to not contribute (at least, that's usually how I react unless I really, really want the stuff).
I hope this helps to understand my point-of-view.
On 10/04/2015 10:38, Marius Dumitru Florea wrote:
I don't understand the problem. The same Maven configuration that works for building the XWiki platform works for building the XWiki extensions. The configuration is documented here http://dev.xwiki.org/xwiki/bin/view/Community/Building#HInstallingMaven . Are you suggesting to duplicate the repo configuration on all extensions poms?
Thanks, Marius
On Thu, Apr 9, 2015 at 5:51 PM, Jean SIMARD wrote:
Hi devs,
I'm kind of annoyed that to build an extension, you need to clone it (ok, every dev can do it), launch Maven (devs can do it too) and... it breaks! It breaks because the ~/.m2/settings.xml file has not been configured.
Of course, ideal would be to push everything to Maven Central but as far as I know, there is a lot of work to do before being able to that for XWiki platform.
However, for extensions, it's another story. We could define repositories directly into the root POM of the extension.
I'm not a Maven expert, but I already tried the following who seems to work, WDYT?
-----
xwiki-snapshots XWiki Nexus Snapshot Repository Proxy
http://nexus.xwiki.org/nexus/content/groups/public-snapshots
false
true
xwiki-releases XWiki Nexus Releases Repository Proxy http://nexus.xwiki.org/nexus/content/groups/public
true
false
xwiki-plugins-snapshots XWiki Nexus Plugin Snapshot Repository Proxy
http://nexus.xwiki.org/nexus/content/groups/public-snapshots
false
true
xwiki-plugins-releases XWiki Nexus Plugin Releases Repository Proxy http://nexus.xwiki.org/nexus/content/groups/public
true
false
-----
-- Jean Simard jean.simard@xwiki.com Research engineer at XWiki SAS http://www.xwiki.com Committer on the XWiki.org project http://www.xwiki.org _______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
-- Jean Simard jean.simard@xwiki.com Research engineer at XWiki SAS http://www.xwiki.com Committer on the XWiki.org project http://www.xwiki.org _______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
On Sat, Apr 11, 2015 at 3:21 PM, vincent@massol.net <vincent@massol.net> wrote:
Hi Jean,
1) We’ve indeed followed the general best practice of not putting your Maven Remote repos in the poms. The http://blog.sonatype.com/2009/02/why-putting-repositories-in-your-poms-is-a-... URL provides some good explanation. Actually, initially we have it in our POMs and we remove it.
2) For XWiki Platform/Enterprise, we could imagine doing what you suggest and putting them in the XWiki Platform/Enteprise top level poms. I’m not that fond of it. I’d rather we start trying to publish XWiki Platform in Maven Central actually by trying to reduce the size of our Externals Maven Repo.
3) For XWiki Contrib projects, I’ve worked in the past in creating a top level Contrib POM but it didn’t work out. I don’t remember what were the issues unfortunately and right now I don’t see any problem of having that in theory. Maybe the issue was that it would need to be maintained to point to the correct versions of XWiki commons/rendering/platform. But now that we’ve introduced the concept of LTS it could be manageable and we could point to the latest LTS by default. Once we have that Contrib top level POM, we could imagine putting our Maven Remote Repo in that POM.
That would not really change anything, you have to find this pom itself when you build your extension. If it's on Maven central it's not allowed to have repositories AFAIK.
4) In order to improve developer onboarding, I’ve just sent a mail with 2 ideas at: http://xwiki.markmail.org/thread/no6firosmj36i36z
Thanks -Vincent
On 10 Apr 2015 at 14:09:30, Jean SIMARD (jean.simard@xwiki.com(mailto:jean.simard@xwiki.com)) wrote:
Yes, indeed. Of course, we could do the same on XWiki platform too. However, as Thomas explained to me, we would need to configure repositories directly in the xwiki-commons Parent POM (which I believe is the one from which platform and extensions depends). But since everything in Commons is pushed to Maven Central and they do not allow to add other repositories, this is a blocking point.
Of course, we could also add the repositories in each platform element but it doesn't seems reasonable.
For people who wants to build XWiki, it's more probable that they will consult the documentation (and see about the settings.xml).
But for people who want to do simpler stuff like contributing to an extension, I think (but maybe only me!) that clone and build should work without any other constraint. The idea behind: a potential contributor that reach a problem within less than 5 minutes is likely to not contribute (at least, that's usually how I react unless I really, really want the stuff).
I hope this helps to understand my point-of-view.
On 10/04/2015 10:38, Marius Dumitru Florea wrote:
I don't understand the problem. The same Maven configuration that works for building the XWiki platform works for building the XWiki extensions. The configuration is documented here http://dev.xwiki.org/xwiki/bin/view/Community/Building#HInstallingMaven . Are you suggesting to duplicate the repo configuration on all extensions poms?
Thanks, Marius
On Thu, Apr 9, 2015 at 5:51 PM, Jean SIMARD wrote:
Hi devs,
I'm kind of annoyed that to build an extension, you need to clone it (ok, every dev can do it), launch Maven (devs can do it too) and... it breaks! It breaks because the ~/.m2/settings.xml file has not been configured.
Of course, ideal would be to push everything to Maven Central but as far as I know, there is a lot of work to do before being able to that for XWiki platform.
However, for extensions, it's another story. We could define repositories directly into the root POM of the extension.
I'm not a Maven expert, but I already tried the following who seems to work, WDYT?
-----
xwiki-snapshots XWiki Nexus Snapshot Repository Proxy
http://nexus.xwiki.org/nexus/content/groups/public-snapshots
false
true
xwiki-releases XWiki Nexus Releases Repository Proxy http://nexus.xwiki.org/nexus/content/groups/public
true
false
xwiki-plugins-snapshots XWiki Nexus Plugin Snapshot Repository Proxy
http://nexus.xwiki.org/nexus/content/groups/public-snapshots
false
true
xwiki-plugins-releases XWiki Nexus Plugin Releases Repository Proxy http://nexus.xwiki.org/nexus/content/groups/public
true
false
-----
-- Jean Simard jean.simard@xwiki.com Research engineer at XWiki SAS http://www.xwiki.com Committer on the XWiki.org project http://www.xwiki.org _______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
-- Jean Simard jean.simard@xwiki.com Research engineer at XWiki SAS http://www.xwiki.com Committer on the XWiki.org project http://www.xwiki.org _______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
-- Thomas Mortagne
participants (5)
-
Denis Gervalle -
Jean SIMARD -
Marius Dumitru Florea -
Thomas Mortagne -
vincent@massol.net