On Nov 27, 2006, at 1:19 AM, David Jencks wrote:
Any more progress on this?
I discovered what I think is a blocker with how we are overloading
the meaning of maven scope and using it to determine geronimo
ImportType.
Ya... I always thought this was a problem. The only way to fix this
is to provide a separate dependency-like configuration for cars to
allow extra information to be adorned.
Unfortunately dependency properties were removed from m2 by design...
so any extra information that is needed must be added to a plugin's
configuration element with context of the dependency (groupId/
artifactId) which ends up duplicating a bunch of configuration :-(
Short of convincing the mvn team to bring properties back (or
something similar)... is to update the car plugin to use an explicit
list of dependency-like elements which can contain more configuration
specific to building car files.
The maven default scope is compile, but we are mapping explicitly
specified "compile" to ImportType.CLASSES whereas unspecified
scope goes to ImportType.ALL. For me, if I build in the configs
dir, maven is filling in the default scope for me, so all the car
dependencies that are supposed to be parents ("ALL") are coming out
CLASSES. If I build in the subdir for the config, it works OK.
I'm trying to map "provided" to CLASSES and "compile" (specified
explicitly or blank) to "ALL but at the moment it looks like
dependency resolution of "provided" is not transitive ?!?! I'm
having some trouble figuring out why this is.
I would imagine provided is not transitive... the artifact should
already exist in the target system, and thus so should its
dependencies. But I don't fully understand how mvn's transitive deps
work on specific scopes.
If you want to take a look I can open a jira issue and attach a
patch of where I am so far.
I'm gonna be busy all week wrapping up build automation muck, but if
you want to create a patch for review I can take a peek... though my
gut tells me to fix this, we need to implement something in the car
plugin to specify the import-type directly and not overload mvn's scope.
--jason