Hi Guys ;-) Ok ... let me explain a little more in detail :-)
In Flex we have different scopes in which we link other libraries: - compile (the default linking that included only the classes actually referenced) - rsl (which doesn't include a single class but references them externally) - included (which includes all of the classes in the other library) - provided (don't include anything, but expect it to be there ... usually this is the playerglobal and airglobal) - runtime (well ... haven't come across this ;-) ) - test (dependency only used by test-classes ... things like FlexUnit etc. ) In maven you define the dependencies for each artifact. If for example Lib A references Lib B and you include a compile dependency to Lib A in your project, you also get a transitive compile dependency to Lib B without explicitly asking for it. Same with a test-scoped dependency, but with the difference that Maven adds all compile dependencies of the referenced test-lib as test scoped dependencies. Immagine a mock framework referencing other libs. So if you add a test-dependency to this mock lib, you also add the dependencies of this mock lib to the test classpath. So far so good for the scopes defined in maven. Unfortunately we also have "include" and "rsl" (I'll ignore caching as we no longer have this). Maven sort of drops the ball here as the scopes are no Maven scopes. So I need to manually set the scopes correctly. In the matrix on the Wiki page in the left column I have the scope of the dependency and in the other columns I define the scope I should translate transitive dependencies to. So for example if I have a "rsl" dependency on Lib A and Lib a defines a "compile" dependency to Lib B, then this dependency should be added as "rsl" dependency too. If I have a "compile" dependency to Lib A and that has a "rsl" dependency to Lib B, then I should add an "rsl" dependency to Lib B and so on ... is this a little more clear now? I guess you have to get used to thinking maven as with Ant you usually throw everything into the same pot ... eclipse doesn't even distinguish between a compile and a test classpath :-( Chris -----Ursprüngliche Nachricht----- Von: Frédéric THOMAS [mailto:webdoubl...@hotmail.com] Gesendet: Montag, 9. Februar 2015 17:34 An: dev@flex.apache.org Betreff: RE: Flex resolution of transitive dependencies Hi Chris, I guess this non-terminated sentence from the wiki doesn't help to understand what you are asking :-)Can you elaborate ? "Left column of this table is the scope of the dependency, the other columns define the" Frédéric THOMAS > From: christofer.d...@c-ware.de > To: dev@flex.apache.org > Subject: Flex resolution of transitive dependencies > Date: Sun, 8 Feb 2015 12:33:18 +0000 > > Since Maven 3.1 a bug has been fixed that we were relying on for building > Flex applications. This caused any transitive dependencies of "rsl", "cache" > and "included" scoped dependencies to be omitted from the build. I am > currently extending FlexMojos to manually handle the flex scopes. But I am > not quite sure about all scenarios. I created a wiki page with a table > containig the scopes. The ones I'm quite sure about are bold and blue, the > ones I'm not sure about are orange. > > https://cwiki.apache.org/confluence/display/FLEX/Flex+Maven+Dependency+Resolution > > It would be good if you guys could waste some of your brain CPU cycles to > evaluate this table. I would then implement the manual resolution. > > Chris