On Tue, Mar 24, 2015 at 5:59 PM, Marius Dumitru Florea <[email protected]> wrote: > On Thu, Mar 19, 2015 at 11:54 AM, [email protected] <[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? :) > > It's not used just for relocation. We use it whenever we want to > specify that an extension X bundles another extension Y, or that X > provides the features of extension Y, or simply put: X features Y. > From https://www.google.com/?#q=define:feature "the hotel features a > large lounge, a sauna, and a coin-operated solarium".
Exactly. The initial idea was to allow any extension to indicate a list of supported features (being the id of another extension or a totally "virtual" feature that would be implemented by several extensions). To add more detail the exact "features" wording comes from dpkg (deb packages). > > Thanks, > Marius > >> >>> 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 > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs -- Thomas Mortagne _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

