maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Phillip Hellewell <>
Subject Re: Dependencies, modules, and dependency plugin
Date Fri, 01 Oct 2010 19:16:37 GMT
On Fri, Oct 1, 2010 at 12:55 PM, Justin Edelson <> wrote:
> On 10/1/10 2:25 PM, Phillip Hellewell wrote:
>> So I'll know exactly what to check out for that component just from
>> its name and version, which I can get from dependency:resolve.
> You'll also need to create a branch from the tag when you check out,
> assuming it's a released version.
> For example, if Project A 1.0.0-SNAPSHOT depends Project B 1.0.0, you'll
> need to copy http://svn/projects/B/tags/1.0.0 to
> http://svn/projects/B/branches/1.0.0. You will also need to modify the
> Project B's pom when doing this branching to change the version from
> 1.0.0 to 1.0.1-SNAPSHOT. Finally, you need to change Project A's pom to
> reference version 1.0.1-SNAPSHOT of Project B.

Let me clarify a little more and see if it makes sense.  The pom.xml
files in SVN will all have a version like "1.0-SNAPSHOT".  The
official build machines will always creates a tag (svn copy) before
doing a build, and then replace "SNAPSHOT" with that tag name.  So in
the Maven repository the pom.xml will say "1.0-tag_whatever".

A developer who has checked out project A will be able to obtain the
source code for project B by checking out B using the tag name that is
part of B's version in its pom.xml.  Any changes to B can be made
locally and installed to the local repository, and yes the developer
will have to go into A's pom and change it to use a snapshot of B.

Since B is checked out as a tag, any change cannot be checked in
directly.  To make a permanent change to B in actual SVN the developer
must check out the trunk (or a branch) of B, or more simply just do a
svn switch.  Then the change can be checked in and once the official
build machine creates a new build (which also includes creating a new
tag), then if project A is ready its pom can be updated to reference
the new version (tag) of B.


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message