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

Reply via email to