Cool. I'll try that. I've been looking at the mvn dependency:tree output to see what makes the RSL case different in maven's eyes.
When using a normal scope (so it defaults to compile) - the dependency:tree looks of my test case looks like this: [INFO] --- maven-dependency-plugin:2.1:tree (default-cli) @ simple-rsl-transitive-application --- [INFO] info.rvin.itest:simple-rsl-transitive-application:swf:1.0-SNAPSHOT [INFO] +- info.rvin.itest.transitive-rsl-dependency:B:swc:1.0-SNAPSHOT:compile [INFO] | \- com.adobe.flex.framework:air-framework:pom:4.5.0.18623:compile [INFO] | +- com.adobe.flex.framework:common-framework:pom:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:advancedgrids:swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:authoringsupport:swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:charts:swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:core:swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:flash-integration:swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:framework:swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:mx:swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:osmf:swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:rpc:swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:spark:swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:sparkskins:swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:spark_dmv:swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:textLayout:swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:framework:zip:configs:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:advancedgrids:rb.swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:charts:rb.swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:framework:rb.swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:mx:rb.swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:osmf:rb.swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:rpc:rb.swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:spark:rb.swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:textLayout:rb.swc:4.5.0.18623:compile [INFO] | | \- com.adobe.flex.framework:flash-integration:rb.swc:4.5.0.18623:compile [INFO] | +- com.adobe.flex.framework:aircore:swc:4.5.0.18623:compile [INFO] | +- com.adobe.flex.framework:airframework:swc:4.5.0.18623:compile [INFO] | +- com.adobe.flex.framework:airglobal:swc:4.5.0.18623:compile [INFO] | +- com.adobe.flex.framework:airspark:swc:4.5.0.18623:compile [INFO] | +- com.adobe.flex.framework:applicationupdater:swc:4.5.0.18623:compile [INFO] | +- com.adobe.flex.framework:applicationupdater_ui:swc:4.5.0.18623:compile [INFO] | +- com.adobe.flex.framework:servicemonitor:swc:4.5.0.18623:compile [INFO] | +- com.adobe.flex.framework:airframework:rb.swc:4.5.0.18623:compile [INFO] | \- com.adobe.flex.framework:airspark:rb.swc:4.5.0.18623:compile [INFO] \- info.rvin.itest.transitive-rsl-dependency:A:swc:1.0-SNAPSHOT:test (scope not updated to compile) [INFO] +- com.adobe.flex.framework:flex-framework:pom:4.5.0.18623:test [INFO] | \- com.adobe.flex.framework:playerglobal:rb.swc:4.5.0.18623:test [INFO] +- com.adobe.flex.framework:playerglobal:swc:10.2:4.5.0.18623:test [INFO] \- info.rvin.itest.transitive-rsl-dependency:internalLib:swc:1.0-SNAPSHOT:test When I use scope=RSL the output looks like this: [INFO] --- maven-dependency-plugin:2.1:tree (default-cli) @ simple-rsl-transitive-application --- [INFO] info.rvin.itest:simple-rsl-transitive-application:swf:1.0-SNAPSHOT [INFO] +- info.rvin.itest.transitive-rsl-dependency:B:swc:1.0-SNAPSHOT:rsl [INFO] | \- com.adobe.flex.framework:air-framework:pom:4.5.0.18623:runtime [INFO] | +- com.adobe.flex.framework:common-framework:pom:4.5.0.18623:runtime [INFO] | | +- com.adobe.flex.framework:advancedgrids:swc:4.5.0.18623:runtime [INFO] | | +- com.adobe.flex.framework:authoringsupport:swc:4.5.0.18623:runtime [INFO] | | +- com.adobe.flex.framework:charts:swc:4.5.0.18623:runtime [INFO] | | +- com.adobe.flex.framework:core:swc:4.5.0.18623:runtime [INFO] | | +- com.adobe.flex.framework:flash-integration:swc:4.5.0.18623:runtime [INFO] | | +- com.adobe.flex.framework:framework:swc:4.5.0.18623:runtime [INFO] | | +- com.adobe.flex.framework:mx:swc:4.5.0.18623:runtime [INFO] | | +- com.adobe.flex.framework:osmf:swc:4.5.0.18623:runtime [INFO] | | +- com.adobe.flex.framework:rpc:swc:4.5.0.18623:runtime [INFO] | | +- com.adobe.flex.framework:spark:swc:4.5.0.18623:runtime [INFO] | | +- com.adobe.flex.framework:sparkskins:swc:4.5.0.18623:runtime [INFO] | | +- com.adobe.flex.framework:spark_dmv:swc:4.5.0.18623:runtime [INFO] | | +- com.adobe.flex.framework:textLayout:swc:4.5.0.18623:runtime [INFO] | | +- com.adobe.flex.framework:framework:zip:configs:4.5.0.18623:runtime [INFO] | | +- com.adobe.flex.framework:advancedgrids:rb.swc:4.5.0.18623:runtime [INFO] | | +- com.adobe.flex.framework:charts:rb.swc:4.5.0.18623:runtime [INFO] | | +- com.adobe.flex.framework:framework:rb.swc:4.5.0.18623:runtime [INFO] | | +- com.adobe.flex.framework:mx:rb.swc:4.5.0.18623:runtime [INFO] | | +- com.adobe.flex.framework:osmf:rb.swc:4.5.0.18623:runtime [INFO] | | +- com.adobe.flex.framework:rpc:rb.swc:4.5.0.18623:runtime [INFO] | | +- com.adobe.flex.framework:spark:rb.swc:4.5.0.18623:runtime [INFO] | | +- com.adobe.flex.framework:textLayout:rb.swc:4.5.0.18623:runtime [INFO] | | \- com.adobe.flex.framework:flash-integration:rb.swc:4.5.0.18623:runtime [INFO] | +- com.adobe.flex.framework:aircore:swc:4.5.0.18623:runtime [INFO] | +- com.adobe.flex.framework:airframework:swc:4.5.0.18623:runtime [INFO] | +- com.adobe.flex.framework:airglobal:swc:4.5.0.18623:runtime [INFO] | +- com.adobe.flex.framework:airspark:swc:4.5.0.18623:runtime [INFO] | +- com.adobe.flex.framework:applicationupdater:swc:4.5.0.18623:runtime [INFO] | +- com.adobe.flex.framework:applicationupdater_ui:swc:4.5.0.18623:runtime [INFO] | +- com.adobe.flex.framework:servicemonitor:swc:4.5.0.18623:runtime [INFO] | +- com.adobe.flex.framework:airframework:rb.swc:4.5.0.18623:runtime [INFO] | \- com.adobe.flex.framework:airspark:rb.swc:4.5.0.18623:runtime [INFO] \- info.rvin.itest.transitive-rsl-dependency:A:swc:1.0-SNAPSHOT:test (scope not updated to runtime) [INFO] +- com.adobe.flex.framework:flex-framework:pom:4.5.0.18623:test [INFO] | \- com.adobe.flex.framework:playerglobal:rb.swc:4.5.0.18623:test [INFO] +- com.adobe.flex.framework:playerglobal:swc:10.2:4.5.0.18623:test [INFO] \- info.rvin.itest.transitive-rsl-dependency:internalLib:swc:1.0-SNAPSHOT:test The most noticeable thing is that the scope of all the RSL dependencies changes to runtime. The best we can probably expect of maven to do is to make dependencies of a custom scope inherit the same scope as the parent - which would make them all become rsl scope instead of runtime scope. This would match the behavior of using one of the builtin scopes - such as "provided" - if you use scope=provided the dependency tree looks like this: [INFO] --- maven-dependency-plugin:2.1:tree (default-cli) @ simple-rsl-transitive-application --- [INFO] info.rvin.itest:simple-rsl-transitive-application:swf:1.0-SNAPSHOT [INFO] +- info.rvin.itest.transitive-rsl-dependency:B:swc:1.0-SNAPSHOT:compile [INFO] | \- com.adobe.flex.framework:air-framework:pom:4.5.0.18623:compile [INFO] | +- com.adobe.flex.framework:common-framework:pom:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:advancedgrids:swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:authoringsupport:swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:charts:swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:core:swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:flash-integration:swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:framework:swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:mx:swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:osmf:swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:rpc:swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:spark:swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:sparkskins:swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:spark_dmv:swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:textLayout:swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:framework:zip:configs:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:advancedgrids:rb.swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:charts:rb.swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:framework:rb.swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:mx:rb.swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:osmf:rb.swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:rpc:rb.swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:spark:rb.swc:4.5.0.18623:compile [INFO] | | +- com.adobe.flex.framework:textLayout:rb.swc:4.5.0.18623:compile [INFO] | | \- com.adobe.flex.framework:flash-integration:rb.swc:4.5.0.18623:compile [INFO] | +- com.adobe.flex.framework:aircore:swc:4.5.0.18623:compile [INFO] | +- com.adobe.flex.framework:airframework:swc:4.5.0.18623:compile [INFO] | +- com.adobe.flex.framework:airglobal:swc:4.5.0.18623:compile [INFO] | +- com.adobe.flex.framework:airspark:swc:4.5.0.18623:compile [INFO] | +- com.adobe.flex.framework:applicationupdater:swc:4.5.0.18623:compile [INFO] | +- com.adobe.flex.framework:applicationupdater_ui:swc:4.5.0.18623:compile [INFO] | +- com.adobe.flex.framework:servicemonitor:swc:4.5.0.18623:compile [INFO] | +- com.adobe.flex.framework:airframework:rb.swc:4.5.0.18623:compile [INFO] | \- com.adobe.flex.framework:airspark:rb.swc:4.5.0.18623:compile [INFO] \- info.rvin.itest.transitive-rsl-dependency:A:swc:1.0-SNAPSHOT:test (scope not updated to compile) [INFO] +- com.adobe.flex.framework:flex-framework:pom:4.5.0.18623:test [INFO] | \- com.adobe.flex.framework:playerglobal:rb.swc:4.5.0.18623:test [INFO] +- com.adobe.flex.framework:playerglobal:swc:10.2:4.5.0.18623:test [INFO] \- info.rvin.itest.transitive-rsl-dependency:internalLib:swc:1.0-SNAPSHOT:test It might be easy to get a patch to maven to make the dependencies of one of our custom scopes to stay in the same custom scope. Then the question becomes... is that the behavior that we want? My first reaction is... yes - I think that's probably the correct behavior. It would increase the number of RSLs that you are using dramatically if you have a large number of transitive dependencies, but the application should still compile and run (assuming all the RSLs were deployed and available at runtime). Then if you want to make some of the dependencies that are being brought in as RSLs no longer being loaded as RSLs you would then have to <exclude> them and define them as an explicit compile time dependency - this seems like it would make the most sense to me. There is one other caveat though and that is the <caching> scope. The RSL will most likely have a transitive dependency upon the framework. If your main pom says to use caching on the framework it should override anything being brought in from the RSLs who are saying to use scope RSL but because of the different scopes I'm not sure that it will. Ryan On Thu, Dec 2, 2010 at 5:33 AM, Tony Lâmpada <[email protected]> wrote: > Ryan, this is how you go about debugging tests with maven: > http://maven.apache.org/plugins/maven-surefire-plugin/examples/debugging.html > > Please keep digging. > I desperately need the results of your research. :-) > > Thanks > Tony Lâmpada > > > On Dec 1, 7:34 pm, Marvin Froeder <[email protected]> wrote: >> On Wed, Dec 1, 2010 at 7:27 PM, Ryan Gardner <[email protected]> wrote: >> >> > It's pretty obvious that maven hates custom scopes - so much so that >> > they are threatening with a warning to stop even compiling projects >> > that have them defined: >> >> > [WARNING] >> > [WARNING] Some problems were encountered while building the effective >> > model for >> > info.rvin.itest:simple-rsl-transitive-application:swf:1.0-SNAPSHOT >> > [WARNING] 'dependencies.dependency.scope' for >> > info.rvin.itest.transitive-rsl-dependency:B:swc must be one of >> > [provided, compile, runtime, test, system] but is 'rsl'. @ line 41, >> > column 11 >> > [WARNING] >> > [WARNING] It is highly recommended to fix these problems because they >> > threaten the stability of your build. >> > [WARNING] >> > [WARNING] For this reason, future Maven versions might no longer >> > support building such malformed projects. >> > [WARNING] >> >> This warning only exists because I talk maven team to it... originally >> maven3 just broke the build. Plain and simple, no mercy. >> >> > On a positive note, I have determined that it is quite easy to replace >> > the set of resolved dependencies so it is possible to fix this >> > behavior without requiring maven to be patched. >> >> Patching flexmojos is a bad idea. This is a maven bug, there so must be >> fixed on maven. It is enough to fix flex SDK bugs inside flexmojos. >> >> VELO > > -- > 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 > > http://flexmojos.sonatype.org/ > -- 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 http://flexmojos.sonatype.org/
