True. One question though: why do you use the 'relativePath'-attribute? This shouldn't be really necessary, or am I missing something here?
On Thursday 15 November 2007 14:35, Stuart McCulloch wrote: > On 15/11/2007, Roland Asmann <[EMAIL PROTECTED]> wrote: > > How about re-writing the plugin to Maven2? Then you can at least remove > > the 'modules'-part in your base-POM... > > > > Otherwise I'm afraid you're indeed stuck with the 2-way dependency. > > also note the parent doesn't have to be the same as the 'containing' POM > (ie. the one with the modules) > > for example, some projects place settings like dependencyManagement, > pluginManagement, etc. in a separate POM (say inside a 'poms' directory) > and have all sub-projects use this as their parent, and have module POMs > just to support building from the root, not for inheriting settings. > > ie: > > pom.xml (has modules: poms, A, B) > > \__ poms / pom.xml > > \__ A / pom.xml (has poms as parent, relativePath ../poms) > > \__ B / pom.xml (has poms as parent, relativePath ../poms) > > this can be really useful when you have various project types inside a > single > tree, because each sub-project can inherit settings from a different > parent, and they won't disturb each other. > > the only tricky part is keeping the relativePath up-to-date, so that builds > can > work from any part of a check-out project tree... (I use my own plugin for > this) > > On Thursday 15 November 2007 12:34, Aaron Zeckoski wrote: > > > > If you build the 'parent' and it does not contain the 'modules'-tag, > > > > the > > > > > > children DO NOT get build. > > > > > > Yeah, we want to be able to build from either the parent (and build > > > everything) or from the child (and just build the child) but we need > > > the information in the parent when the child is being built. As a > > > result, it looks like we are stuck with the 2-way dependency (at least > > > according to what I could understand from the maven site and the maven > > > book). > > > > > > In maven1 we created a plugin which would walk the source tree so that > > > the parents did not have to know about the children. The nice thing > > > about this is that you could drop a new project in the source tree and > > > it would get picked up and built automatically. All the children only > > > knew about one single master POM which provided them with a set of > > > properties and shared dependencies. > > > > > > I think we are going to have to just be stuck with the tight coupling > > > in maven 2 though. > > > I would be happy to know I am wrong on this though so feel free to > > > > correct > > > > > me. > > > > > > :-) > > > > > > -AZ > > > > > > > Just play around with it a bit, Maven is very flexible in this way. I > > > > do > > > > > > however believe it is described in the documentation, and pretty > > > > extensive if I recall correctly... > > > > > > > > On Wednesday 14 November 2007 23:51, Aaron Zeckoski wrote: > > > > > Is the 2-way parent/module dependency actually the right way to > > > > > link children and parent POMs? This is what we currently have: > > > > > > > > > > The parent includes definition of a module (or group of modules) > > > > like > > > > > > > so: ... > > > > > <groupId>org.sakaiproject</groupId> > > > > > <artifactId>base</artifactId> > > > > > <packaging>pom</packaging> > > > > > ... > > > > > <modules> > > > > > <module>alias</module> > > > > > </modules> > > > > > ... > > > > > > > > > > Then the child defines a parent like so: > > > > > ... > > > > > <parent> > > > > > <artifactId>base</artifactId> > > > > > <groupId>org.sakaiproject</groupId> > > > > > <version>M2</version> > > > > > <relativePath>../pom.xml</relativePath> > > > > > </parent> > > > > > ... > > > > > > > > > > As a result, we end up with this 2-way linkage bewteen these POMs > > > > > which ends up not being very flexible since all of the POMs have to > > > > > know about each other. > > > > > > > > > > This seems to be what the docs indicate but I might misunderstand. > > > > Are > > > > > > > we doing something dumb here? > > > > > > > > > > Sample parent here: > > > > > https://source.sakaiproject.org/contrib/caret/kernel/pom.xml Sample > > > > > child here: > > > > > https://source.sakaiproject.org/contrib/caret/kernel/alias/pom.xml > > > > > > > > > > Thanks for the help! > > > > > -AZ > > > > > > > > -- > > > > Roland Asmann > > > > > > > > CFC Informationssysteme Entwicklungsgesellschaft m.b.H > > > > Bäckerstrasse 1/2/7 > > > > A-1010 Wien > > > > FN 266155f, Handelsgericht Wien > > > > > > > > Tel.: +43/1/513 88 77 - 27 > > > > Fax.: +43/1/513 88 62 > > > > Email: [EMAIL PROTECTED] > > > > Web: www.cfc.at > > > > > > > > --------------------------------------------------------------------- > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > -- > > Roland Asmann > > > > CFC Informationssysteme Entwicklungsgesellschaft m.b.H > > Bäckerstrasse 1/2/7 > > A-1010 Wien > > FN 266155f, Handelsgericht Wien > > > > Tel.: +43/1/513 88 77 - 27 > > Fax.: +43/1/513 88 62 > > Email: [EMAIL PROTECTED] > > Web: www.cfc.at > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] -- Roland Asmann CFC Informationssysteme Entwicklungsgesellschaft m.b.H Bäckerstrasse 1/2/7 A-1010 Wien FN 266155f, Handelsgericht Wien Tel.: +43/1/513 88 77 - 27 Fax.: +43/1/513 88 62 Email: [EMAIL PROTECTED] Web: www.cfc.at --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]