maven-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jason van Zyl <>
Subject Re: Installed POMS not interpolated
Date Sun, 04 Jan 2004 14:38:10 GMT
On Sun, 2004-01-04 at 02:37, Michael A Melia wrote:

> To clarify my assumptions:
> [usual transitive dependency scenario]
> I have project A dependent on project B which is dependent on project C 
> and project D.
> I need for project A to pick up the dependencies (C and D) from project B. 
> Now, if project B's pom is stored in the local repo with no properties 
> resolved (i.e. the pom file is not the interpolated version) then project 
> A needs to have definitions for these properties. This would not be 
> possible unless the properties files are also made available in the local 
> repo, or if the repo version of the pom had been interpolated.

I honestly haven't seen many <dependencies/> elements that require
property interpolation. Do you have cases that require interpolation
within the dependencies?

> Also, if project B's pom states that it extends (for example) 
> ${basedir}/../../project.xml, how does project A get access to the correct 
> parent definition?

This was overcome in the plexus component builds by actually extending
POMs located in the local repository. So as part of your build process
you install the necessary POMs before any child considerations. This was
in fact done to deal with the scenerio you outline above.

> The only solution I can see is for installed poms to be fully interpolated 
> and extended to include the parent info before being serialised to the 
> repo. I get the feeling that I'm missing something here, I'd appreciate it 
> if you could try to fill in the gaps. :)

I think extension from the local repository solves this problem, but I
would still like to know if you are using interpolation within the
dependnecy elements themselves as that is something I would like to
formally limit if possible.

> I'd be more than happy to take on some of the effort - just drop me a line 
> with the details.

You might want to take a quick peek at the plexus build which works with
POMs installed in the local repository and see if the use case you have
in mind would work with the assumptions with the plexus component build
and then we can go from there. I'm also always in IRC on if you want to chat.

The plexus stuff is here:

> Cheers,
> Mike
> __________________________
> Mike Melia
> ThoughtWorks Inc.
> mobile: +61 0421 581 959

Jason van Zyl

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:
For additional commands, e-mail:

View raw message