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


Reply via email to