geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dain Sundstrom <dsundst...@gluecode.com>
Subject Re: Using entities to manage dependency versions
Date Sun, 17 Oct 2004 17:13:46 GMT
We have two execution scenarios.  The most common is from a reactor  
(multiproject) build, where we could use property inheritance.  The  
second is directly from the module.  The problem I found in the second  
scenario is it appears that the dependencies are verified (downloaded)  
before our maven code that loads the global properties file is  
executed.  I have been thinking about this for a while, and think the  
easiest solution would be to have maven load a project.properties file  
from the directory of the parent project.xml file before verifying  
(downloading) dependencies.  The reason we use entities is because it  
was the only thing that worked in both scenarios.

-dain

--
Dain Sundstrom
Chief Architect
Gluecode Software
310.536.8355, ext. 26

On Oct 17, 2004, at 8:30 AM, Jason van Zyl wrote:

> 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