On Oct 1, 2010, at 11:25 AM, Phillip Hellewell wrote:

> On Fri, Oct 1, 2010 at 12:02 PM, David Jencks <[email protected]> wrote:
>>> Cool, that's what I was hoping to hear.  Even if I just had a plugin
>>> that would scan all the dependencies and print out their versions,
>>> that would suffice and I could do the checking out myself.
>> 
>> does mvn dependency:tree do what you want?
> 
> Yes, it looks like that will work!  Actually, a dependency:resolve
> will work too, maybe even easier.  Will dependency:resolve guarantee
> to print them out in an order such that each artifact comes after any
> artifacts it depends on?
> 
>> I still don't understand exactly what you are trying to do, but it looks to 
>> me like it might be like mvn scm:bootstrap
>> 
>> http://maven.apache.org/scm/plugins/bootstrap-mojo.html
> 
> Cool, thanks.  I looked at it real quick and it looks like it can be
> used to checkout and build a project for you, but it doesn't look like
> it will does anything fancy like checking out the dependencies for
> you.
> 
>> It seems to me that the scope of what you want could be hard to define.  
>> Many non-tiny projects come in multi module trees that are expected to be 
>> checked out at some root directory which is not the same as the scm root of 
>> any module you will be using.  So figuring out how much you want to check 
>> out automatically might be a challenge.  And if you really only want a 
>> particular submodule you'll have to do something to calculate the scm 
>> address from the chain of parent poms.  (of course you'll need to follow the 
>> parents until you find an scm tag anyway).
> 
> We are planning to make things consistent so that this automation will
> be possible, e.g.:
> 1. Each "component" will live in a specific place in SVN (e.g.,
> /components/COMPNAME).

How does this relate to your release process?  i.e. where are the "trunk", 
"tags", and "branches"?  Is each component going to be released separately, or 
all at once?
> 2. Each "component" will have a single pom.xml.  No multi-modules.
> 3. Before deploying, the SVN tag name will be appended to the artifact
> version number.

I think that could be tricky, but I'm not an expert on this.
> 4. The SVN base url will be defined globally in the user's settings.xml
> 
> 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.

if you release each component separately, each components pom needs to have an 
accurate <scm> tag.

Unless you have gigabytes of source code I would think you are making extra 
work for everyone here.  why not just ask all your developers to check out all 
of /components from svn and build the parts they want?  Disk space is usually 
cheaper and more reliable than anyones time :-)

If you want to automatically build dependency chains of modules you can put a 
parent pom in components that lists all the individual components as modules 
and use the really great maven options described here

http://www.sonatype.com/people/2009/10/maven-tips-and-tricks-advanced-reactor-options/

I haven't tried it but I think this might work even if each component does not 
use the aggregator pom as its parent.

david jencks

> 
> Phillip
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to