We could declare all rsls at the application level but then this requires us to manually add all the transitive dependencies. This can get hard to manage. How do you know what all your transitive dependencies are? This is one of the big features of maven that does not exist for flex.
In maven you are only supposed to have to declare your direct dependencies, as you know what these are, its easy/natural to do. However you often times do not know what your transitive dependencies are and that is the beauty of maven...it figures this out for you. If it doesn't work for flex, I'm questioning the virtue of the RSL approach. In the ideal case, maven would allow me to specify my swc dependencies as rsl then in the swf if I reference the swc with rsl scope it would find all its rsl dependencies. This feature would allow maven to fully support transitive dependencies just like maven does for java/jars. -Dave On Thu, Jan 28, 2010 at 9:27 AM, Marvin Froeder <[email protected]> wrote: > And why don't you declare all rsls you need on the application instead of > deal with transitive issue? > > VELO > > > On Thu, Jan 28, 2010 at 2:12 PM, David Hoffer <[email protected]> wrote: > >> Thanks. We are trying to understand the best way to build/use flex >> components when we have a componentized build system. I.e. we have lots of >> reusable flex components and several consuming apps. >> >> Let me try to summarize the problem/issues. >> >> 1. Since maven is not aware of the flex scopes it can't help us with >> transitive dependencies. Therefore if we build everything as rsl/external, >> at the application/swf layer we have to find/know all our transitive >> dependencies and add them manually using either rsl/merged scope. >> >> 2. Another approach is to not use RSLs at all for our components (just the >> framework would be RSL/SWZ). If we were to use merged/internal scope for >> all our components...it does not matter how big these are, as long as the >> resulting applications (SWF) are optimized (no duplicate code). >> >> So the question, in my mind, is what is the total bytes of the download >> using approach 1 and 2? If 2 is similar in size it seems better. Can you >> see any problem with that? >> >> -Dave >> >> >> >> >> >> On Thu, Jan 28, 2010 at 8:59 AM, Marvin Froeder <[email protected]>wrote: >> >>> AFIK, it won't change the dependencies scopes... so if helper1 is >>> external to build comp1, it will be kept external when you build swf1. >>> >>> Why? You didn't told it to do anything different.... this makes more >>> sense on modules or application loaded by another application. >>> >>> But the only way to be sure is running mvn dependency:tree >>> >>> This is a kinda unpredictable since maven doesn't support the scopes we >>> have on flexmojos. >>> >>> >>> VELO >>> >>> On Thu, Jan 28, 2010 at 1:53 PM, David Hoffer <[email protected]>wrote: >>> >>>> I have a question regarding how maven handles transitive dependencies >>>> for Flex applications. Lets say I have: >>>> >>>> component1.swc (built optimized so available as swc & rsl) >>>> component1 depends on (helper1.swc & helper2.swc) The scope of these is >>>> set to External to keep the final app size smallest. >>>> >>>> component2.swc (built optimized so available as swc & rsl) >>>> component2 depends on (helper1.swc & helper3.swc) The scope of these is >>>> set to External to keep the final app size smallest. >>>> >>>> >>>> app.swf >>>> depends on component1 (dependency scope is set to RSL) >>>> depends on component2 (dependency scope is set to RSL) >>>> >>>> Now my question is how does app.swf know there are transitive >>>> dependencies (helper1, helper2 & helper3) that must be included? In Java >>>> maven would figure this out and all these would be added to the classpath >>>> without any configuration in app.swf's pom.xml. How does this work with >>>> Flex? Ideally we want helper1 as rsl because it was used twice. Ideally >>>> helper2 & helper3 would be rsl too but could be merged as there is only one >>>> use of each anyway. >>>> >>>> Another approach: >>>> If maven does not help with flex transitive dependencies are we better >>>> off not using RSLs at all (for our components). If we were to always use >>>> merged or internal scope for all our swc generation, when these are >>>> included >>>> in the final swf is there a way (perhaps this is standard behavior) to >>>> optimize the linkage here so that only one class definition is included? >>>> I.e. If all our swc(s) included all their dependencies when the swf is made >>>> can the linker optimize such that the swf is similar in size to the sum of >>>> rsls + swf? >>>> >>>> -Dave >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Flex Mojos" group. >>>> To post to this group, send email to [email protected] >>>> To unsubscribe from this group, send email to >>>> [email protected]<flex-mojos%[email protected]> >>>> For more options, visit this group at >>>> http://groups.google.com/group/flex-mojos?hl=en?hl=en >>>> >>>> http://blog.flex-mojos.info/ >>> >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Flex Mojos" group. >>> To post to this group, send email to [email protected] >>> To unsubscribe from this group, send email to >>> [email protected]<flex-mojos%[email protected]> >>> For more options, visit this group at >>> http://groups.google.com/group/flex-mojos?hl=en?hl=en >>> >>> http://blog.flex-mojos.info/ >> >> >> -- >> You received this message because you are subscribed to the Google >> Groups "Flex Mojos" group. >> To post to this group, send email to [email protected] >> To unsubscribe from this group, send email to >> [email protected]<flex-mojos%[email protected]> >> For more options, visit this group at >> http://groups.google.com/group/flex-mojos?hl=en?hl=en >> >> http://blog.flex-mojos.info/ >> > > -- > You received this message because you are subscribed to the Google > Groups "Flex Mojos" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected]<flex-mojos%[email protected]> > For more options, visit this group at > http://groups.google.com/group/flex-mojos?hl=en?hl=en > > http://blog.flex-mojos.info/ > -- You received this message because you are subscribed to the Google Groups "Flex Mojos" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/flex-mojos?hl=en?hl=en http://blog.flex-mojos.info/
