Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In order to get around the problem of having to wait for Velo to re-deploy all of the FDKs, I created a Tool that allows to automatically manvenize any give given Flex / Air SDK. This tool is even able to generate Apache FDKs. While I was at it, I took the chance to refactor the structure of the FDKs so flash, air, flex are now handed separately as well as fixing some general issues I was having with the old structure:

  • The Flash Player and the Playerglobal are now separately deployed under the groupId "com.adobe.flash.framework".
  • The Air Runtime and Airglobal are now separately deployed under the groupId "com.adobe.air".
  • The libraries which are also available as RSLs and SWZs are deployed using their real Versions (Now the SWZ Files can be downloaded from the official Adobe servers).
  • Additional poms are generated, that contain only a dependencyManagement section and allow automatically configuring the versions of the framework artifacts.
  • All Themes are provided as SWC themes (Usually there were some SWC themes and some provided as non-compiled resources).
  • Adobe FDKs are deployed under the groupId "org.apache.flex".

In the next days I will contribute the Generator The Mavenizer tool was donated to the Apache foundation as I think it belongs to the FDKs more than it does to Flexmojos. Untill it is available from there I will host the Generator at Flexmojosand is available on the Apache Tools page http://flex.apache.org/download-utilities.html.

These changes made it necessary to refactor Flexmojos code as well as the poms of the testsuite. Flexmojos 5 will not be 100% compatable with the new FDKs and the testsuite will fail. Possibly So in general Flexmojos 5 could still and below work with FDKs that haven't been patched (4.6) ot the new Apache FDK 4.8 if generated to "com.adobe.flex" instead of "org.apache.flex". This is the main reason for me creating the Flexmojos 6.x branch.the FDKs deployed by velo and which are publically available via Maven and Flexmojos 6 is the only tool compatable with FDKs created by the Mavenizer.

Using the dependencyManagement poms

...

While making the Flexmojos test-suite pass for the Apache FDK I ran into serious trouble. When compiling Flexmojos against the 4.8 Version all Tests that force a different FDK version would fail. While investigating the problem it turned out that this is because Flexmojos has a dependency on the Compiler in the version it was compiled against so you can use it without having to specify a FDK version. Usually when using a different compiler version, the versions used per default would have been overridden. Unfortunately this no longer works when using a compiler with a different groupId than the one Flexmojos was compiled against. The result is a mixture of both compilers being loaded which causes terrible problems. Making the dependencies to the compiler "provided" didn't work as then some of the code generation magic in the build stopped working.Initially I wanted to make Flexmojjos user Adobe FDKs with the group-id com.adobe.flex and the Apache FDKs with org.apache.flex. But it turned out that having one Flexmojos work with both group-ids was not possible. One solution would have been to habe two builds of Flexmojos. One for Adobe and one for Apache FDKs.  

So currently there are these scenarios:

  • Compile Flexmojos against a version with the groupId you are intending to use (When compiling against "org.apache.flex:4.8" the testsuite will fail in many projects due to the problem described above, but with FDKs in "org.apache.flex" it will work)
  • Make the generator generate even the Adobe FDKs to "com.adobe.flex"

Current 6.x branch development sources ( for developers )

The current development version 6.x branch can be found at https://github.com/chrisdutz/flexmojos. Sources will be merged back to velo repository when the stable release will be releasedThe later path was the one I chose for Flexmojos..