geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gianny Damour <>
Subject Re: transitive dependencies
Date Thu, 20 Oct 2005 06:03:18 GMT
On 20/10/2005 2:58 PM, David Jencks wrote:

> On Oct 19, 2005, at 9:57 PM, Gianny Damour wrote:
>> You may be right. Having said that, this XML parsing is done each 
>> time that a dependency is declared by a configuration. I see this 
>> approach as more self-contained than a solution based on the build 
>> system. Indeed, this approach allows to declare the runtime 
>> dependencies of a dependency, which is rather handy.
> Could you explain what you mean by this?

I think that this is better explained with an example:
Based on the META-INF/geronimo-service.xml file of the geronimo-tomcat 
dependency, I know that 4 runtime dependencies are required. As a user, 
it is clear that I need these 4 dependencies in my repository to be able 
to use geronimo-tomcat. Without this file, I do not know that. Based on 
the geronimo-tomcat POM, a user is able to derive the compile time 
dependencies; yet it is not clear that tomcat-coyote needs to be there 
at runtime.

I think that this is more handy as it is then trivial to write a tomcat 
plan: I add the tomcat-plan dependency; define my GBeans; and add to my 
repo the geronimo-service.xml runtime dependencies. With the current 
approach, I would need to add to my custom plan all the dependencies 
defined by j2ee-tomcat-plan (do I need all of them?).

>> Also, I think that it is also a pain to declare the transitive 
>> dependencies in a configuration. I would prefer to simply define the 
>> top level dependencies, e.g. the ones defining the declared GBeans, 
>> and let them define the other dependencies.
> That is certainly a goal I like :-).
> I like the idea of constructing the geronimo-service.xml's from the 
> project.xml.  That would eliminate one source of duplication.  And, we 
> could open up the configurations and possibly jars included explicitly 
> in an assembly and extract the dependencies and install them into the 
> geronimo repo providing they are available.  However, unless maven is 
> also keeping track of the transitive dependencies somehow, such as 
> through poms, I don't see how maven will be able to guarantee that all 
> the dependencies needed for an assembly are actually present in the 
> local maven repo, so we can copy them.  Any ideas?

I see the problem now: all the dependencies need to be in the local 
maven repo and it seems that only Maven will be able to do that.


> thanks,
> david jencks
>> Thanks,
>> Gianny
>> On 20/10/2005 2:40 PM, Bruce Snyder wrote:
>>> On 10/19/05, Gianny Damour <> wrote:
>>>> Another approach would be: for each plain dependency, we could 
>>>> generate
>>>> a META-INF/geronimo-service.xml file based on the POM dependencies as
>>>> part of a standard build. Transitive dependencies would be achieved by
>>>> walking down the dependencies defined by the geronimo-service.xml 
>>>> file.
>>> I'm not shooting down anything, but that sounds like a lot of extra
>>> XML parsing. I'm curious to hear Dain chime in here to describe
>>> exactly what he's doing with the Maven repo management code.
>>> Bruce
>>> -- 
>>> perl -e 'print 
>>> unpack("u30","D0G)U8V4\@4VYY9&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*"
>>> );'
>>> The Castor Project
>>> Apache Geronimo

View raw message