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]
>
>


-- 
Cheers, Stuart

Reply via email to