As a first step to fixing our dependencies I'm going to use mvn
dependency:analyze to remove unneeded dependencies and add ones
directly used but not declared explicitly. I think this is going to
remove the specification of dependencies in pom packaging projects.
I found some advice on why to do this here:
http://www.sonatype.com/book/reference/optimizing.html#d0e6921
If anyone objects please speak up before I get too far.
thanks
david jencks
On Aug 12, 2008, at 11:23 PM, David Jencks wrote:
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