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

Vincent Massol vincent at massol.net
Fri Mar 4 09:57:03 UTC 2011


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