Hi Raju, I think the such upgrading is great. But maybe need more work and testing. How do think we create a new branch of trunk ? You can check in your code, and others will see what you have done and what the challenges we will meet. Maybe Fred and I could contribute some effort.
Frank On 04/16/2012 06:51 PM, Raju Bitter wrote:
Hi all, I spent the last weekend finishing the Flex SDK upgrade I've been working on. I succeeded in upgrading to Flex 4.6, and compiling the demo apps to SWF11. The relatively large app I'm working on compiles without any problems. My change adds the Flex 4.6 SDK to OpenLaszlo, with some refactoring (which would enable us to use multiple SDK versions in the server, but more on that later). First, a relatively large number of files need to be changed. Here's a list of the files and folders I've touched so far: https://docs.google.com/spreadsheet/ccc?key=0AlxbG68iYAowdHVqYnBsLUJwV2Y2ZGVVcmthS29VV2c But a number of questions came up as part of that change: 1) Flex SDK Is only SWF11 support sufficient for all of us? If we need to support swf10 AND swf11, that means we have to ship two!! versions of the Flex SDK, since the 4.6 SDK only compiles to 11.1. If we ship two SDKs with OpenLaszlo, the download size is going to increase by another 35-40 mb, but maybe we can get rid of the large number of locales in the SDK, which would reduce the size a lot. 2) Separate folders for Flex SDK versions in WEB-INF At the moment, all the framework files for the currently installed Flex SDK are in WEB-INF/frameworks. I've updated the structure to be WEB-INF ├───────flexsdk ├── 4.5 │ └── frameworks │ ├── air-config.xml │ ├── build.xml │ ... │ └── 4.6 └── frameworks ├── air-config.xml ├── airmobile-config.xml ... With this change it's technically possible to use multiple versions of the Flex SDK (e.g. "latest" or beta releases for testing). We still need a way to map the Flex SDK versions to runtime (Flash Player targets, e.g. 10.1, 10.2, or 11.1) in that case, since the current implementation doesn't support multiple SDKs. 3) WEB-INF/bin folder That folder contains what's normally in $FLEX_HOME/bin, all the tools for using the Flex compiler from the command line. Those files are not compatible between different versions of the Flex SDK, therefore it would make sense to put them into WEB-INF ├────────flexsdk ├── {SDK_VERSION} └── bin It's probably not the best solution, but better than not being able to install multiple SDKs. 4) WEB-INF/lps/lfc/kernel/swfxx folder Depending on which versions should still be supported (e.g. SWF10 and SWF11), we need multiple SWF kernel versions. The SWF9/SWF10 version is not compatible with SWF11 (TLF APIs changed, for example). Therefore we'd need at least a new swf11 folder. Should that be swf11, or swf11.1? Flash Player 11.1 has additional features compared to 11.0. Since Flex 4.6 supports 11.1, I'd say that swf11 would be a good choice. I'll finish a document until Tuesday with all the steps needed to upgrade and some additional implementation information. I'll share that document with you through Google Docs, will send the link to this thread. - Raju
