On Wed, 2003-12-10 at 12:58, Steve Garcia wrote:
> > On Wed, 2003-12-10 at 11:33, Jason van Zyl wrote:
> > > Howdy,
> > > 
> > > I'm moving along with the maven-project component and I 
> > have arbitrary 
> > > levels of inheritance working for properties and the model.
> > > 
> > > Now I'm starting to look at the property interpolation 
> > mechanism and I 
> > > would like to propose for 1.1 that values in properties files be 
> > > interpolated in the model values but ${pom.foo} values not be 
> > > interpolated in properties values.
> 
> I think I'm confused.  Do you mean not permitting property file values
> to exist in the POM xml?  That makes total sense to me because the POM is 
> Supposed to know nothing about plugins or other processes.

Specially, I mean the contents of project.properties could not contain
an entry like this:

maven.xdoc.version = ${pom.currentVersion}

The ${pom} will not be available. But yes they will work the way
Ant/Log4J properties work where properties within the properties itself
can be interpolated:

user = jason
path = /home/${user}

> > > The first reason is that it makes the process a lot more clear and 
> > > second I'm not sure if having model values interpolated in 
> > properties 
> > > values is really of any use. I think when we have cases like:
> > > 
> > > maven.xdoc.version = ${pom.currentVersion}
> > > 
> > > We could really just use the ${pom.currentVersion} directly in the 
> > > relevant plugin instead of putting it in a property and 
> > then sucking 
> > > it back in.
> > > 
> > > At any rate, to make the project processing in 1.1 highly 
> > > deterministic I would like to remove ${pom.foo} value 
> > interpolation in 
> > > properties files.
> > 
> > Another point that I wanted to raise was that properties may 
> > ultimately come from other sources such as database, or ldap 
> > and how much sense does it make for those sources to have 
> > access to the POM. I honestly don't think a whole lot. I 
> > think properties should just be flat name/value pairs with no 
> > ${pom} interpolation.
> 
> In my opinion, I agree with you in that the statement above
>  
> maven.xdoc.version = ${pom.currentVersion}
> 
> doesn't offer any more clarity than just using ${pom.currentVersion}.
> 
> However I think there might be times where you might want to declare
> a local variable in a plugin that contains several references to the POM,
> e.g.
> 
> maven.someVar = //steven-${pom.foo}/${pom.bar}/garcia/${pom.ruu}
> 
> So it's easier to use ${maven.someVar} than the ugly thing it equates to.
> 
> I would also think that normal, Ant style substitution within properties
> should remain (and I don't think you've said anything to suggest the
> alternative.)
> 
> > -- 
> > jvz.
> > 
> > Jason van Zyl
> > [EMAIL PROTECTED]
> > 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: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > 
> > 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
-- 
jvz.

Jason van Zyl
[EMAIL PROTECTED]
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to