[xwiki-devs] Where do we put common build tools?

Vincent Massol vincent at massol.net
Fri Mar 4 13:24:22 UTC 2011


ok done for tools and pom.

now back to moving more platform/core modules to commons...

Thanks
-Vincent

On Mar 4, 2011, at 10:57 AM, Vincent Massol wrote:

> 
> On Mar 4, 2011, at 10:39 AM, Vincent Massol wrote:
> 
>> ok.... latest agreement after more discussion between thomas and I:
>> 
>> We propose to do as proposed in Solution 3 earlier with some small modifications:
>> 
>> commons/
>> |_ xwiki-commons-pom
>>  |_ tags
>>  |_ branches
>>  |_ trunk
>> |_ xwiki-commons-tools
>>  |_ tags
>>  |_ branches
>>  |_ trunk
>> |_ xwiki-common-core
>>  |_ tags
>>  |_ branches
>>  |_ trunk
>> 
>> with 4 JIRA projects:
>> - 1 for xwiki-common-core XCOMMONS
>> - 1 for xwiki-common-pom XPOM
>> - 1 for xwiki-common-tools/xwiki-common-tool-license XTLICENSE (we keep the exact same jira project for now)
>> - 1 for xwiki-common-tools/xwiki-common-tool-verifications XTVERIFICATIONS  (we keep the exact same jira project for now)
>> 
>> WDYT?
> 
> For all commons modules I'm proposing to have the groupId: org.xwiki.commons (ie no sub package).
> 
> For ex for commons/core/pom.xml:
> 
>  <groupId>org.xwiki.commons</groupId>
>  <artifactId>xwiki-commons-core</artifactId>
> 
> Thanks
> -Vincent
> 
>> 
>> Thanks
>> -Vincent
>> 
>> On Mar 4, 2011, at 10:03 AM, Vincent Massol wrote:
>> 
>>> 
>>> On Mar 4, 2011, at 9:53 AM, Vincent Massol wrote:
>>> 
>>>> ok after discussing with thomas we'd like to try solution 2 like this:
>>>> 
>>>> commons/
>>>> |_ branches
>>>> |_ tags
>>>> |_ trunk
>>>> |_ commons-pom/
>>> 
>>> doesn't work....
>>> 
>>> commons-pom need to be released first before commons/pom.xml can be released.
>>> 
>>> ....
>>> 
>>> thinking 
>>> 
>>> ....
>>> 
>>> -Vincent
>>> 
>>> 
>>>> |_ commons-tools/
>>>> |_ commons-component/
>>>> |_ ...
>>>> 
>>>> * 1 JIRA project only with jira components for each build module
>>>> 
>>>> Thanks
>>>> -Vincent
>>>> 
>>>> On Mar 4, 2011, at 9:23 AM, Vincent Massol wrote:
>>>> 
>>>>> 
>>>>> On Mar 4, 2011, at 9:16 AM, Jerome Velociter wrote:
>>>>> 
>>>>>> On Fri, Mar 4, 2011 at 8:45 AM, Vincent Massol <vincent at massol.net> wrote:
>>>>>>> 
>>>>>>> On Mar 4, 2011, at 8:37 AM, Vincent Massol wrote:
>>>>>>> 
>>>>>>>> Hi devs,
>>>>>>>> 
>>>>>>>> I've started creating the top level commons project and I started moving the top level pom module in there.
>>>>>>>> However that modules requires 2 build tools: license (adds copyright license info to jars) and verifications (checkstyle).
>>>>>>>> 
>>>>>>>> We need to decide where we put these 2 build tools.
>>>>>>>> 
>>>>>>>> I can think of 3 solutions:
>>>>>>>> 
>>>>>>>> Solution 1
>>>>>>>> ========
>>>>>>>> * Create a top level tools project in which each tool is released separately (and thus have a separate  jira project)
>>>>>>>> 
>>>>>>>> Solution 2
>>>>>>>> ========
>>>>>>>> * Put them in commons/trunk/xwiki-common-tools/
>>>>>>>> * Use the same JIRA project for everything in commons/ (ie same release cycles)
>>>>>>>> * Note: we'll have a JIRA component  for each module in commons/
>>>>>>>> 
>>>>>>>> Solution 3
>>>>>>>> ========
>>>>>>>> * Have commons/xwiki-common-tools/trunk(branches/tags) and commons/xwiki-common-modules/trunk(branches/tags)
>>>>>>>> * Use 1 JIRA for commons/xwiki-common-modules/ and one JIRA per tool in commons/xwiki-common-tools/
>>>>>>>> * Don't provide a commons/pom.xml file (since otherwise it would be unversionned)
>>>>>>>> * Note: for artifactIds I'd suggest to not show the "modules" part in the name, i.e. xwiki-commons--component-api, and not xwiki-commons-module-component-api
>>>>>>> 
>>>>>>> hmmm we have the same need for the top level pom actually if we want to version it.
>>>>>>> 
>>>>>>> So the best seems to be solution 3 with:
>>>>>>> 
>>>>>>> commons/
>>>>>>> |_ xwiki-commons-pom
>>>>>>> |_ tags
>>>>>>> |_ branches
>>>>>>> |_ trunk
>>>>>>> |_ xwiki-commons-tools
>>>>>>> |_ tags
>>>>>>> |_ branches
>>>>>>> |_ trunk
>>>>>>> |_ xwiki-common-modules
>>>>>>> |_ tags
>>>>>>> |_ branches
>>>>>>> |_ trunk
>>>>>>> 
>>>>>>> with 4 JIRA projects:
>>>>>>> - 1 for xwiki-common-modules XCMODULES
>>>>>>> - 1 for xwiki-common-pom XCPOM
>>>>>>> - 1 for xwiki-common-tools/xwiki-common-tool-license XCLICENSE
>>>>>>> - 1 for xwiki-common-tools/xwiki-common-tool-verifications XCVERIFICATIONS
>>>>>>> 
>>>>>>> WDYT?
>>>>>> 
>>>>>> +0 for this solution.
>>>>>> 
>>>>>> I don't understand why tools get indivudual JIRA modules while modules
>>>>>> don't, though. IMHO it should be one project XCTOOLS with 2
>>>>>> components, to be consistent with modules.
>>>>> 
>>>>> It has nothing to do with consistency: it's about release cycle and whether it makes sense to release stuff together or not.
>>>>> 
>>>>> But yes we could decide to release all tools together all the time if we want (that's not what we've been doing so far but we could do it).
>>>>> 
>>>>> Thanks
>>>>> -Vincent
>>>>> 
>>>>>> Jerome.
>>>>>> 
>>>>>>> 
>>>>>>> Thanks
>>>>>>> -Vincent
>>>>>>> 
>>>>>>>> 
>>>>>>>> I'm hesitating between solutions 2 and 3.
>>>>>>>> 
>>>>>>>> Solution 2 is the simplest of all. It just means all common is released together.
>>>>>>>> 
>>>>>>>> WDYT?
>>>>>>>> 
>>>>>>>> If you don't have any idea I'll just pick the one I think is best. We need to progress since the release is for Monday.
>>>>>>>> 
>>>>>>>> Thanks
>>>>>>>> -Vincent
>>>> 
>>> 
>> 
> 




More information about the devs mailing list