geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jencks <>
Subject Re: car-maven-plugin and <useTransitiveDependencies>true</useTransitiveDependencies>
Date Wed, 13 Aug 2008 06:23:11 GMT

On Aug 12, 2008, at 6:28 PM, Kevan Miller wrote:

> On Aug 12, 2008, at 4:03 PM, David Jencks wrote:
>> On Aug 12, 2008, at 12:17 PM, Jarek Gawor wrote:
>>> I think we should stop using
>>> <useTransitiveDependencies>true</useTransitiveDependencies> in
>>> car-maven-plugin. It's just pulling in too much stuff and it's  
>>> hard to
>>> control it (see 
>>> GERONIMO-4233).
>>> Looks like only ./framework/configs/gshell-* configs are using that
>>> option.
>> I've been considering this since I added the setting.  IMO it's  
>> just revealing problems with our dependency management, not causing  
>> them.  My goal is to use it everywhere.  Here's my half-baked plan:
>> 1. make it so the c-m-p configuration can apply small tweaks to the  
>> maven dependencies such as the import classes/services/all setting  
>> rather than having to replace the entire maven dependencies set  
>> with a near-copy.
>> 2. develop some tooling to compare results with and without  
>> useTransitiveDependencies
>> 3. starting with framework, convert all the cars to  
>> useTransitiveDependencies=true, adding <exclusions> and changing  
>> scopes in dependencies as needed.
>> 4. In server/trunk/plugins (and plugins) convert all out-of-plugin  
>> dependencies to dependencies on cars.
>> Anyone want to help with this?
> Sounds like a recipe for including a bunch of stuff that we don't  
> want or need...
> Can you elaborate on why you think it's better to opt out, rather  
> than opt in?

I'm suggesting 2 things:

1. fix our dependencies so they are correct.  This, by itself, will  
make useTransitiveDependencies=true work properly.  Any problems such  
as unwanted inclusions are bugs that have a good chance of producing  
highly undesirable behavior in maven if they haven't already done so.
2. make the build-time classpath match the run-time classpath by using  
the cars to aggregate their dependencies in maven, just like they do  
in the running geronimo server.  This should dramatically reduce the  
number of dependencies in most of the plugin poms.

david jencks

> --kevan

View raw message