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

Vincent Massol vincent at massol.net
Fri Mar 4 08:53:15 UTC 2011


ok after discussing with thomas we'd like to try solution 2 like this:

commons/
  |_ branches
  |_ tags
  |_ trunk
    |_ commons-pom/
    |_ 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