OK, cool. Thanks to everyone. On 19/03/2015 11:17, Thomas Mortagne wrote: > Technically it should not cause any issue. The only think I can think > of is some people expecting this id to be a XAR and trying to installi > it. > > On Thu, Mar 19, 2015 at 11:15 AM, Jean SIMARD <[email protected]> wrote: >> OK, thank you for the precision. Just one last question on this topic: >> is this relocation will cause any problem since the module >> [application-forum] we are moving into a submodule >> [application-forum-ui] will still exists (because [application-forum] >> will be now the parent POM, not the XAR anymore). >> Another way of saying it, we transform the original XAR >> groupId/artifactId into a POM (and the sources of the XAR are moved into >> another groupId/artifactId). >> >> Thanks, >> >> On 19/03/2015 10:54, [email protected] wrote: >>> Hi Jean, >>> >>> On 19 Mar 2015 at 10:46:22, Jean SIMARD >>> ([email protected](mailto:[email protected])) wrote: >>> >>>> 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? >>> >>> Yes I wasn’t talking about Maven Relocation but about XWiki’s EM relocation >>> (aka alias or extension features). >>> >>> This is how to indicate a relocation in our pom.xml: >>> >>> <properties> >>> <xwiki.extension.features> >>> <!-- Old names of this module used for retro compatibility when >>> resolving dependencies of old extensions --> >>> org.xwiki.platform:xwiki-platform-workspace-template-features >>> </xwiki.extension.features> >>> </properties> >>> >>> Thanks >>> -Vincent >>> >>> PS: Side note: I’ve never understood why Thomas decided to use the >>> “features” terminology for relocation. Maybe you can explain what you had >>> in mind Thomas? :) >>> >>>> 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 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 >>>>>> ----- >>>>>> >>>>>> 4.0.0 >>>>>> org.xwiki.contrib.forum >>>>>> application-forum >>>>>> 1.9.3 >>>>>> >>>>>> >>>>>> application-forum-ui >>>>>> >>>>>> >>>>>> >>>>>> ----- >>>>>> >>>>>> 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.. >>>>>>> >>>>>>>> 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

