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

Vincent Massol vincent at massol.net
Fri Mar 4 08:23:06 UTC 2011


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