You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Nicola Musatti <Ni...@ObjectWay.it> on 2010/08/16 12:26:37 UTC

How do you name artifacts built from parallel development branches?

Hallo,
I need advice on how to handle naming/versioning for artifacts built 
from separate branches of the same project, which evolve in parallel.

Our product has a main, "standard" development line, but customers 
usually ask for customizations that make it necessary to spin off 
separate variants.When this happens each variant starts to follow its 
own time-line, with its own release schedule.

 From an SCM point of view - we use subversion - this translates to the 
standard product being developed on trunk while customer variants live 
in separate branches. Ideally the project's directory structure should 
be the same across variants, but resulting artifacts should be 
identifiable, e.g.:

project-x.y.z                    for the standard product
project-customer-m.n.o   for a customer variants

To further complicate things our product is actually made of several 
different Maven sub-projects and a customer variant is usually a 
combination of standard and customized sub-projects. We use an 
aggregator project to build the whole product. Different variants of 
this aggregator project combine the correct mix of standard and 
customized sub-projects.

Suggestions are very welcome!

Cheers,
Nicola Musatti


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: How do you name artifacts built from parallel development branches?

Posted by Wendy Smoak <ws...@gmail.com>.
On Mon, Aug 16, 2010 at 6:26 AM, Nicola Musatti
<Ni...@objectway.it> wrote:
> Hallo,
> I need advice on how to handle naming/versioning for artifacts built from
> separate branches of the same project, which evolve in parallel.
...
> project-x.y.z                    for the standard product
> project-customer-m.n.o   for a customer variants

project-X.Y.Z-customer-A

The digit on the end gives Maven something to increment during the
release process, and you preserve the info about what version of the
standard product it was branched from.

-- 
Wendy

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: How do you name artifacts built from parallel development branches?

Posted by Wendy Smoak <ws...@gmail.com>.
On Tue, Aug 17, 2010 at 10:23 AM, Nicola Musatti
<Ni...@objectway.it> wrote:
>> project-X.Y.Z-customer-A>>
>
> This looks like a sensible approach, but I'm not sure which part should be
> the artifactId and which should be the version, nor if a classifier is
> involved.

artifactId = project
version = X.Y.Z-customer-A
no classifier

This way all the different specialized versions are under one path in
the repository, and in the event that you get two different ones in
the dependency graph, Maven will choose only one.  If you start
changing the artifactId, Maven will see them as completely different
artifacts.

-- 
Wendy

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: How do you name artifacts built from parallel development branches?

Posted by Nicola Musatti <Ni...@ObjectWay.it>.
Wendy Smoak wrote:
> On Mon, Aug 16, 2010 at 6:26 AM, Nicola Musatti
> <Ni...@objectway.it>  wrote:
>    
>> Hallo,
>> I need advice on how to handle naming/versioning for artifacts built from
>> separate branches of the same project, which evolve in parallel.
>>      
> ...
>    
>> project-x.y.z                    for the standard product
>> project-customer-m.n.o   for a customer variants
>>      
> project-X.Y.Z-customer-A
>
> The digit on the end gives Maven something to increment during the
> release process, and you preserve the info about what version of the
> standard product it was branched from.
>    
This looks like a sensible approach, but I'm not sure which part should 
be the artifactId and which should be the version, nor if a classifier 
is involved.

Cheers,
Nicola Musatti



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org