I just tried this, and the problem is that the POM that contains the modules
becomes an aggregator project, and requires <packaging>pom</packaging>.
This precludes us (I think) from using w1 (or any "end result" artifact) as
the driving build. I will play with this some more.

My actual enterprise is quite a bit more complex than w1,w2,c1,c2,c3;
indeed, c1 actually uses c2-c4, and w1 might use c1,c5,c6.  It's getting
simpler, but there's always legacy code :)

The point is, any one of the artifacts might be the "interesting" one, i.e.,
the one which I'm attempting to create.  That project, whatever level it
might be at, would need to know not only whom he depends on, but how to
build the dependency.  It's almost as if we need another level past SNAPSHOT
-- something like SNAPSHOT_LOCAL, which says not only that we depend on the
most recent version, but we should freshen the artifact if it is dirty.  I
may be totally off base here, as I'm a Maven newbie, but I think the tool
has immense promise for even complex teams. (It's a real life saver for my
smaller projects).

I will have to look at the source and see if there's something I can glean
from all of this.  I'm glad to know I'm not alone in my venture!

To add another log to the fire, I'd also love for the Maven Eclipse plugin
(or the eclipse m2 plugin, heh) to keep my Eclipse environment up to date!

Cheers,

Chris

> -----Original Message-----
> From: Christopher Cobb [mailto:[EMAIL PROTECTED] 
> Sent: Thursday, January 19, 2006 9:41 AM
> To: 'Maven Users List'
> Subject: RE: Transitive "sibling" builds
> 
> 
> That's an interesting idea.  I'll give it a try.
> 
> But even if it works, it is less than ideal because then you 
> are putting the same information in twice:  once at the top 
> level to say what its children are, and once at the child 
> level to say what its siblings are.  This violates the 
> hallowed OnceAndOnlyOnce dictum.
> 
> It would be nice if you could just put the information in 
> (once) at the top level, and it would "just work" at the 
> sibling level.
> 
> > -----Original Message-----
> > From: Scokart Gilles [mailto:[EMAIL PROTECTED]
> > Sent: Thursday, January 19, 2006 8:47 AM
> > To: Maven Users List
> > Subject: RE: Transitive "sibling" builds
> > 
> > Isn't it possible to use something like that :
> > 
> > For example if w1 use c1 and c3, in the pom of w1 use : <modules>
> >     <module>../c1</module>
> >     <module>../c3</module>
> > </modules>
> > 
> > I think you could even put that into a profile in order to allow 
> > recursive build or not.
> > 
> > 
> > 
> > Gilles
> > 
> > > -----Original Message-----
> > > From: Chris Bredesen [mailto:[EMAIL PROTECTED]
> > > Sent: 19 January 2006 02:42
> > > To: [email protected]
> > > Cc: [EMAIL PROTECTED]
> > > Subject: Transitive "sibling" builds
> > >
> > > Hello All,
> > >
> > > Just subscribed, and I wanted to revisit the discussion that took 
> > > place regarding the above topic in this thread: 
> > > http://www.mail-archive.com/[email protected]/msg32502.html
> > >
> > > There seems to be a lot of resistance from the community (lack of 
> > > understanding, maybe) to implementing this sort of 
> transitive build 
> > > mechanism.  I, too, do exactly what the original poster does, and 
> > > the
> > lack
> > > of support for this is the only real reason I haven't 
> adopted Maven2 
> > > as
> > my
> > > build tool of choice.  I get closer each time, but since 
> there's no 
> > > way
> > to
> > > build an entire WAR file in one shot, I have to give it up.  I 
> > > realize
> > it
> > > CAN be done, but it seems that the WAR file has to be the 
> parent of 
> > > all its components.
> > >
> > > I wanted to add my own experience into this discussion, 
> and possibly
> > even
> > > spur enough information to contribute myself.  I have my 
> enterprise 
> > > laid out as such, made of webapps (w) and components (c):
> > >
> > > w1
> > > w2
> > > w3
> > > c1
> > > c2
> > > c3
> > > c4
> > > c5
> > >
> > > Each of the webapps may use any of the components as 
> dependencies, 
> > > along with a slew of off-the-shelf API's.  The problem for me is 
> > > that these components can have only one parent directory. 
>  I have no 
> > > way to separately build w1 and w2.  Unless I'm missing, 
> something, 
> > > we'd need sibling communication in order to make this work.
> > >
> > > Currently each Ant buildfile knows which components are 
> needed, but 
> > > has
> > no
> > > idea if they need to be built or not, thus causing me to build
> > everything
> > > each time I compile.  To avoid this, I also maintain Eclipse 
> > > projects
> > (one
> > > per app, not one big one) which have project-level 
> dependencies on 
> > > each other.  This makes the local development compilation 
> very fast, 
> > > but I
> > have
> > > to maintain both the Eclipse metadata AND the Ant buildfiles.
> > >
> > > Maven addresses all of this (I really love the Maven2 plugin for
> > Eclipse),
> > > but since there's no support for sibling transitive 
> builds, there is 
> > > no way to just grab all the source and compile w1 or w2 
> in one shot.
> > Eventually
> > > I'd like to use Continuum as well.
> > >
> > > If I'm missing something here, I'd sure like to know 
> about it.  If I 
> > > can contribute and make this happen, I'd love to, when 
> time permits.  
> > > I fear I'd have a lot of catching up to do, though.  
> Perhaps I can 
> > > work on some documentation at the very least.
> > >
> > > Thoughts?
> > 
> > 
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> -----------------------------------------
> Attention:
> Any views expressed in this message are those of the 
> individual sender, except where the message states otherwise 
> and the sender is authorized to state them to be the views of 
> any such entity. The information contained in this message 
> and or attachments is intended only for the person or entity 
> to which it is addressed and may contain confidential and/or 
> privileged material.  If you received this in error, please 
> contact the sender and delete the material from any system 
> and destroy any copies.
> 
> 
> ---------------------------------------------------------------------
> 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