Understood, but if you have dependencies to you sibling-modules, you'd have 
the same problem...

So, I'd personally always build from the root-project after a fresh 
check-out... And from then on it wouldn't be necessary to use the 
relativePath.

Still, I understand your reasoning and I agree it's probably the best solution 
in your scenario.


On Thursday 15 November 2007 15:25, Stuart McCulloch wrote:
> On 15/11/2007, Roland Asmann <[EMAIL PROTECTED]> wrote:
> > True. One question though: why do you use the 'relativePath'-attribute?
> > This
> > shouldn't be really necessary, or am I missing something here?
>
> say you've just checked out a fresh project tree from svn - it's not yet
> been
> released to any remote repository, and you have a clean local repository.
>
> if you went to a sub-folder and tried "mvn install" it would complain about
> not
> finding the parent POM (because it's not the same as the containing ".."
> POM)
>
> the relativePath attribute tells Maven where to find the POM if it can't
> find it
> in the local or remote repositories - note that if the parent is the same
> as the containing POM then you shouldn't need to use relativePath
>
> http://maven.apache.org/guides/introduction/introduction-to-the-pom.html#Ex
>ample_2
>
> HTH
>
> 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.xmlSam
> > > > > > >ple 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]

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