Hi,

I want to deploy alternate artifacts from my branches so that other
developers can depend on them. Say, I have a product called

<groupId>com.mycompany.tool</groupId>
<artifactId>tool</artifactId>
<version>5.2-SNAPSHOT</version>

Now, I'd like to create a branch of this one where I add a new feature. And
this early adopter developer here wants to already build on my new feature,
even before I merge it back to trunk, so I deploy my artifacts to Nexus.
Now, I obviously can't deploy them under the same GAV coordinates, otherwise
they'd overwrite the ones generated from trunk. I can think of two different
options:

1) Changing the version number

<groupId>com.mycompany.tool</groupId>
<artifactId>tool</artifactId>
<version>5.2-MYBRANCH-SNAPSHOT</version>

The good thing about this is that I can use the Versions plugin to set
change the version number even in a multi-module project. The bad thing is
that whenever a release happens on trunk, or when I merge the branch back to
trunk, I get conflicts in all my POMs about the version number.

2) Changing the group ID

<groupId>com.mycompany.tool.mybranch</groupId>
<artifactId>tool</artifactId>
<version>5.2-SNAPSHOT</version>

This looks a bit better, but I can't use the versions plugin, and updating
the groupId in many places in a big multi-module project is quite
troublesome. Also, it doesn't seem correct semantically.

Do you have any advice on this?

Thanks,
Lorant

Reply via email to