Note on what I just said.
Even though to me it would be ideal as I described it, now I'm thinking about a 
little bit more, I wonder if it could work every time, I remember for 
'included', at time I wasn't able to use it because of some package/name 
collisions, the compiler was complaining and I had to change my plan, so I 
wonder if others types of issues could occur changing the linkage the library 
creator has set.
Do you think it is something crazy to have a flag in FM to resolve the 
transitive deps "as is" or force them as declared by the end user ?

Thanks
Frédéric THOMAS

> From: webdoubl...@hotmail.com
> To: dev@flex.apache.org
> Subject: RE: AW: Flex resolution of transitive dependencies
> Date: Tue, 10 Feb 2015 10:14:41 +0000
> 
> Hi Chris,
> So, to me the optimal usage would be to translate the transitive dependencies 
> scopes as set in the user pom dependencies declaration, eg. If my dependency 
> declares my lib as RSL, I want all transitive dependencies be declared as 
> such, idem for included, compile, provided and test (can't remember either I 
> did any usage of runtime with Flex).
> If I want another form of linkage for a given transitive dependency, I use 
> the exclude tag from the its parent (the one I declared) and declare apart 
> (in my pom) this transitive dependency with the linkage I want (this extra 
> top declaration must win in term of version, classifier and scope relative to 
> the transitive one).
> Note: theme has not been mention and is a flexmojo linkage only and therefore 
> has no equivalent for the compiler but if you want fix the  way the 
> resolution is done, I guess you should check it still work as expected in 
> case it has transitive dependencies too, right ?
> Is it the same usage for you too ?
> 
> Thanks,
> Frédéric THOMAS
> 
> > From: christofer.d...@c-ware.de
> > To: dev@flex.apache.org
> > Subject: AW: Flex resolution of transitive dependencies
> > Date: Mon, 9 Feb 2015 18:23:01 +0000
> > 
> > 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
> >                                       
>                                         
                                          

Reply via email to