Hi Vincent, I'd like to have more precision on the "relocation" you're talking about.
For example, we have this at the moment + application-forum | + pom.xml ->org.xwiki.contrib.forum:application-forum [xar] We'd like to transform the hierarchy of Maven modules/submodules into the following structure + application-forum | + pom.xml -> [pom] | + application-forum-ui/ | | + pom.xml -> [xar] | + application-forum-test/ | | + pom.xml -> [pom] | | + application-forum-test-pageobjects/ | | | + pom.xml -> [jar] | | | + src/ | | + application-forum-test-tests/ | | | + pom.xml -> [jar] | | | + src/ But now, I'm looking at relocation guide on Maven https://maven.apache.org/guides/mini/guide-relocation.html#How_to_relocate_a_Maven_2_artifact_to_a_different_groupId and I'm not sure of what I need to do. From the link, I understand that I should do another pom.xml for each old release. Let say I will take care only of the last release at the moment (1.9.3 for Forum App). Then I should add a submodule to the root that looks like the following? + application-forum | + pom.xml -> [pom] | ... | + application-forum-1.9.3 | | + pom.xml -> [xar?] (see below for the content) pom.xml ----- <project> <modelVersion>4.0.0</modelVersion> <groupId>org.xwiki.contrib.forum</groupId> <artifactId>application-forum</artifactId> <version>1.9.3</version> <distributionManagement> <relocation> <artifactId>application-forum-ui</artifactId> </relocation> </distributionManagement> </project> ----- Thanks, On 19/03/2015 09:08, [email protected] wrote: > Hi Caty, > > See below. > > On 18 Mar 2015 at 19:29:17, Ecaterina Moraru (Valica) > ([email protected](mailto:[email protected])) wrote: > >> Hi, >> >> I want to write automated tests for some contrib applications, but I need >> you help on some questions. >> >> == Prb 1. Folder Structure + Changing IDs == >> >> Currently the majority of applications don't have modules. > > You mean submodules I guess since they’re a module (maven module) themselves. > >> Also some applications have IDs that don't correspond with the contrib >> standard: sometimes wrong groupId like 'org.xwiki.contrib.forum', sometimes >> random artifactId. > > Why would ‘org.xwiki.contrib.forum’ be a wrong group id? > > The rule is defined here > http://contrib.xwiki.org/xwiki/bin/view/Main/WebHome#HHostingtools and a > module can have org.xwiki.contrib or org.xwiki.contrib.<shortprojetname>. > >> When wanting to change the groupId for 'org.xwiki.contrib.forum' I was told >> that we should change it only if we have a very good reason, otherwise >> changing the ID will resolve in upgrading problems within the Extension >> Manager. Unfortunately I don't remember exactly the problem with the >> changing of the ID, I just know I don't need to do it :) (//sorry Thomas) > > We support relocation so the extension id (groupId+artifactId) can change. > The only negative effect is that XWiki will not propose an upgrade > automatically when the new version comes out with a new extensionId. (I’d > love to brainstorm about finding ways to handle this with Thomas though). > >> Example: https://github.com/xwiki-contrib/application-forum >> Theoretically, wanting to add tests I would need to create two modules: >> - application-forum-test >> - application-forum-ui, and move the current sources here. >> Unfortunately this means a change in the ID. >> >> Are 'adding tests' a good reason to change the ID? >> Should I not change the ID, and just add a test module? >> - application-forum-test >> - src/main/resources > > I’m in favor of changing the extension id and add relocation (it was done for > this purpose). This is what we did in xwiki-platform for a lot of modules. > >> == Prb 2. Naming standards == >> >> We have some conventions on contrib.xwiki.org about name of the project. >> We should add maybe some more examples on groupId and artifactId. >> >> Also when looking at the test modules names, some applications have: >> - {{full-repository-name}}-tests >> - {{full-repository-name}}-test >> - {{partial-repository-name}}-test >> - {{random-repository-name}}-test >> - test > > Where? AFAIK I’ve been the one doing most of the tests relocation in > xwiki-platform and our naming rule has always been the same. For example: > > xwiki-platform-faq-test/ > |_ xwiki-platform-faq-test-tests/ > |_ … > >> Maybe we should agree also on this and document it. >> I guess the correct name would be: >> - {{full-repository-name}}-test >> -- {{full-repository-name}}-test-pageobjects >> -- {{full-repository-name}}-test-tests >> - {{full-repository-name}}-ui > > Yes. Some conventions are already documented here: > http://dev.xwiki.org/xwiki/bin/view/Community/DevelopmentPractices#HBuildBestPractices > >> Also if we are 'discovering' some applications that don't correspond to the >> standard, do we change them or do we let them be? Since changing means a >> change in the ID :P > > I’d say we change them. > >> Since in theory we should have automated tests for all our applications, >> should we add a convention to always create a >> - {{full-repository-name}}-ui ? > > Yes. This is what I do when I create a new "top level" module. > >> Additional question: Also when we will transfer from platform to contrib, >> are we going to rename the modules? > > I think we discussed this and we said we would change the id but not change > the package names for now to not break backward compat. Would need to read > again the mail thread. In any case we still have some decisions to make on > that. I’ve been wanting to do this move but first I wanted to implement the > cleanup/removal of xwiki-enterprise to make way for flavors. > > Thanks > -Vincent > > > > > > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs > -- Jean Simard [email protected] Research engineer at XWiki SAS http://www.xwiki.com Committer on the XWiki.org project http://www.xwiki.org _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

