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:20:35 GMT
On 20/10/2005 3:08 PM, David Blevins wrote:

> On Oct 19, 2005, at 9:23 PM, Gianny Damour wrote:
>> On 20/10/2005 1:56 PM, David Jencks wrote:
>>> I've been working on building geronimo using the packaging and  
>>> assembly plugins.  This works fine except for the unmanageable  
>>> dependencies.   The project for the assemby plugin to work on  
>>> currently needs to include in the project.xml every jar to go into  
>>> the assembly's repository.  Tracking these is impossible.
>>> We need some way for a configuration or even a plain dependency to  
>>> instruct the assembly plugin to copy the artifacts dependencies  
>>> into the repository.
>>> One possibility is to use maven poms.  IIUC Dain is working on  
>>> integrating or imitating the latest maven repository management  
>>> code.  Will this give us transitive dependencies?  Will the maven  
>>> model work for us?  How close is this?  If we had it, it would be  
>>> pretty easy to construct separate jetty and tomcat assemblies, a  
>>> both assembly, an assembly w/o ejbs, etc etc.  Without transitive  
>>> dependencies, it will be a nightmare to try to keep the repository  
>>> contents adequate and restricted to what is actually needed to run  
>>> the server.
>> 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.
> That really wouldn't solve the transitive side of the problem.  I  
> mean it would work as we maintain our poms to include our  
> dependency's dependencies (and dependencies of those dependencies  
> (and ...(N))), but expecting a completely flattened list of  
> dependencies in a single file per configuration isn't really the  
> definition of transitive.

LOL. Hopefully, this is not the approach that I was trying to explained. 
Our POMs stay "as is" (w/o the dependencies of dependencies and this 
transitively). Upon build, we generate a geronimo-service plan defining 
all the "direct" runtime dependencies identified by the POM.

Based on the resulting geronimo-service file, there would be two approaches:
1. upon car packaging, runtime dependencies defined by the POM 
dependencies are copied from the local maven repo to the car. Upon 
assembly, the runtime dependencies defined by the car module are copied 
to the repository; or
2. upon assembly, the runtime dependencies are read from the car and 
copied from the local maven repo to the repository.


> Just being a stickler :)
> We already generate part of the geronimo-service.xml files at build- 
> time, we might as well go all the way.
> -David

View raw message