Ok ... well think I have to answer my own question again :-(

It took me about a day to debug this, but it seems the conflict resolution of 
Maven has changed.
The thing is the framework:swc has the same name and groupId as the 
framework:rb.swc ... so maven thinks there are two identical dependencies but 
with different scope. This causes maven to go into 
JavaScopeDeriver.getDerivedScope .... here in the end in the "else" simply 
RUNTIME is assumed as a default. I think I will have to refactor the structure 
of our artifacts to generate the resource bundles into a different artifact 
(assumably by appending ".rb" to the group Id.

Chris

________________________________________
Von: Christofer Dutz <[email protected]>
Gesendet: Freitag, 17. Oktober 2014 14:28
An: Maven Users List
Betreff: AW: Strange Dependency problem after switching to Maven 3.1.1

Actually in MavenProject the "resolvedArtifacts" variable contains this data 
... not "artifacts" as the runtime artifacts are stripped out by the 
"artifactFilter".

Chris

________________________________________
Von: Christofer Dutz <[email protected]>
Gesendet: Freitag, 17. Oktober 2014 14:20
An: Maven Users List
Betreff: Strange Dependency problem after switching to Maven 3.1.1

Hi,


I'm currently working on updating the Flexmojos plugin to support newer Maven 
versions. Now I'm having a strange problem:


Flexmojos defines Flex dependencies as type "swc" for flex libraries and 
"rb.swc" for resource bundles. Furthermore we have a scope "rsl" (runtime 
shared library) which sort of turns the default static linking to dynamic 
linking.


So assume I have an artifact A and B of type "swc" that has one "rb.swc" 
dependency to its corresponding resource bundle.


In my project I now add one dependency to A with scope "rsl" and one dependency 
to B with the default "compile" scope.


In Maven 3.0.5 I can see the MavenProjects.artifacts list containing


A:swc:rsl

A:rb.swc:compile

B:swc:compile

B:rb.swc:compile


In Maven 3.1.1 this however is:


A:swc:rsl

A:rb.swc:runtime

B:swc:compile

B:rb.swc:compile


Why does the scope of the transitive dependencies switch to "runtime" in Maven 
3.1.1?


Chris

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to