OK, but if we don't keep track of the relocation of groupId/artifactId, I wonder how you will be able to manage the upgrade (since it seems it is a topic you and Vincent are interested in). Am I missing something? Should I put this information in another way somewhere in the root POM or in another file?
Sincerely, On 19/03/2015 10:41, Thomas Mortagne wrote: > Vincent was not really talking about Maven relocation specifically but > simply how to EM can find the new version of an extension that changed > its id. > > On Thu, Mar 19, 2015 at 10:39 AM, Jean SIMARD <[email protected]> wrote: >> 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 > > > -- 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

