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]

Reply via email to