You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by "Sonnek, Ryan" <Ry...@bpc.com> on 2003/11/13 21:49:23 UTC

POM extension

Have there been any thoughts or recommendations on extending a POM that
exists in a remote repository?  Just like artifact dependencies, couldn't
you specify the POM you are extending by using a groupId and artifact?

This would be huge for disparate systems that are developed in tandom, but
in separate CVS trees.  An example of this is the Geronimo project from
apache.  The individual components (console-web as an example) is hosted on
sourceforge's site and tested there before integration into Geronimo.  So,
if we were able to specify that our project extends geronimo-main-SNAPSHOT
for the POM, we'd be able to keep up to date, but still build our projects
separately.

Has this been talked about at all?
Ryan

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: POM extension

Posted by Jason van Zyl <jv...@maven.org>.
On Thu, 2003-11-13 at 15:49, Sonnek, Ryan wrote:
> Have there been any thoughts or recommendations on extending a POM that
> exists in a remote repository?  Just like artifact dependencies, couldn't
> you specify the POM you are extending by using a groupId and artifact?

You can definitely do that. In plexus we extend POMs using something
like:

<extend>${maven.repo.local}/plexus/poms/plexus-components-1.0.pom</extend>

And what I do work around a chicken and egg problem is to have a
top-level build that specifies the POM as a dependency so that it is
downloaded before any subsequent builds attempt to use the base POM.

So you would do something like:

<dependency>
  <groupId>geronimo</groupId>
  <artifactId>geronimo-main</artifactId>
  <version>SNAPSHOT</version>
  <type>pom</type>
</dependency>

What definitely would be better way of denoting the extension of a POM
from the local repository so it could be downloaded if it's missing. Or
possibly allowing the specification of an URL which has been discussed
before ...

At anyrate you can do what you want but you do need work around the fact
that the POM must be present in the local system before a project can
extend it or Maven will bork telling you it can find the file to extend
even though you might have listed it as a dependency in the same
project.

> This would be huge for disparate systems that are developed in tandom, but
> in separate CVS trees.  An example of this is the Geronimo project from
> apache.  The individual components (console-web as an example) is hosted on
> sourceforge's site and tested there before integration into Geronimo.  So,
> if we were able to specify that our project extends geronimo-main-SNAPSHOT
> for the POM, we'd be able to keep up to date, but still build our projects
> separately.
> 
> Has this been talked about at all?
> Ryan
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
-- 
jvz.

Jason van Zyl
jason@zenplex.com
http://tambora.zenplex.org

In short, man creates for himself a new religion of a rational
and technical order to justify his work and to be justified in it.
  
  -- Jacques Ellul, The Technological Society


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org