geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jason van Zyl <jvan...@maven.org>
Subject Using entities to manage dependency versions
Date Sun, 17 Oct 2004 15:30:46 GMT
Hi,

I noticed Bruce's blog entry about the use of entities and I just wanted
to suggest the approach that was intended for use. Entities started
being used because of some defects in the inheritance mechanism. The way
I have always used for integration across builds has been this way:

http://maven.apache.org/reference/user-guide.html#Overriding_Stated_Dependencies

You guys use a parent POM for everything, and you might have tried this
but I think this might not be working for you because of the way you
pull in your global properties. I haven't look at your build lately but
I think you are using an ant task to pull in your global properties
which doesn't make its way into the inheritance mechanism.

You should be able to put everything in your global.properties file in
the project.properties file in your /etc directory and then the
inheritance mechanism will kick in. Currently there are three ways
people use for managing dependency versions:

o using the JAR override mechanism
o using properties files with stating versions and using interpolation
o using entities

I would definitely recommend using one of the first two. I want to
promote native mechanisms in Maven itself for dealing with these things.
There were problems with inheritance which is why people resorted to
using entities: I saw that blog entry on your use of entities and
cringed. That's definitely not something I want to promote as a best
practice. I am primarily working on m2 but I double checked with Brett
and he tells me the inheritance problems have been fixed. 

I don't believe the first two methods would have worked for you because
of the use of the ant:property tag, but if you tried using the standard
form of inheritance I think you could actually use what's recommended.

If you have actually it without the ant:property task and it doesn't
work then it's a bug and needs to be fixed but people have been
reporting that inheritance generally works now in m1.

-- 
jvz.

Jason van Zyl
jason@maven.org
http://maven.apache.org

happiness is like a butterfly: the more you chase it, the more it will
elude you, but if you turn your attention to other things, it will come
and sit softly on your shoulder ...

 -- Thoreau 


Mime
View raw message