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 https://issues.apache.org/jira/browse/
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.
thanks
david jencks
--kevan