IntelliJ IDEA 12.X ActionScript Compiler 2


I wanted to confirm that if I want to compile AS3 projects for AIR, I no longer need Flex SDK. Instead, I can use the AIR SDK 3.8X which includes the ASC 2.

I am asking because the latest Apache Flex 4.9.1 SDK still has the older AIR 3.4 SDK included. I don't think you can overlay/add the AIR 3.8 SDK with  the Apache Flex 4.9.1 because Apache Flex 4.9.1 SDK is not yet  compatible with the ASC 2. The AIR 3.8 SDK has newer features, so it  would be nice to use it in IntelliJ 12.X by itself.

Is my understanding correct? Or do I still need Flex SDK for AIR compiling?

Thank you for your help.


You are absolutely right, AIR SDK that includes ASC 2.0 is enough to develop all kinds of pure ActionScript apps: Web-, Desktop- or Mobile-targeted and it is fully supported in IntelliJ IDEA 12.1.x. Feel free to ask more questions.


Thank you, Alexander.

This is a wonderful feature!

Would it be (1) useful and (2) possible to add the Apache Flex 4.9.1 SDK for Flash compiling, to have the latest Flex features? And, for AIR projects, to point the compiling to the AIR 3.8.X SDK?

Can I have the best of both? :D


IntelliJ IDEA supports standalone AIR SDK (bundle with ASC 2.0) any combination of Flex SDK with AIR SDK (any bundle - with or without ASC 2.0). So the most universal installation is Flex SDK overlaid with AIR SDK with ASC 2.0. It will compile Flex apps using Flex compiler from Flex SDK and pure AS apps using ASC 2.0. Make sure you have 'Prefer ASC 2.0' enabled at Settings | Compiler | Flex Compiler (enabled by default).


I thought that the Apache Flex 4.9.1 can not be overlaid with an AIR SDK 3.8 that includes the ASC 2 compiler?

But, if by enabling "Prefer ASC 2.0' IntelliJ will always choose to compile AIR with the AIR SDK ASC 2 overlay, then this should work?

Is my understanding correct (It would be OK to install Apache Flex 4.9.1 SDK and overlay on it the AIR SDK 3.8 with ASC 2.0 compiler)?


Any combination of Flex SDK + AIR SDK works in IntelliJ IDEA. The only problem is that you won't be able to use Flex framework as RSL if you overlay AIR SDK with ASC 2.0 on Flex SDK. There's an easy workaround if you need it.
Not sure about other IDEs.

Each Flash build configuration (BC) (Project Structure | Modules | [any Flash module] | [any Flash BC subnode] | General tab) has type: either pure AS or not. If BC is pure AS and ASC 2.0 is present in the SDK set for this BC (Dependencies tab) and 'Prefer ASC 2.0' option is enabled then this BC will be compiled with ASC 2.0. In any other case - with Flex compiler.

If you use standalone AIR SDK (without Flex) - then ASC 2.0 is used in any case because it is the only available compiler in this case. Of course you can't develop Flex apps using standalone AIR SDK, only pure AS apps.


Thank you again, Alexander.

I appreciate learning about this.

Maybe the best option for me, if I install 4.9.1 Flex is to keep it separate from AIR 3.8 (not overlay). Hopefully, if I point a specific pure AS3 project's compiling to the AIR 3.8.X SDK, it will not use the Flex 4.9.1 SDK's earlier version of AIR?


SDK is configured per BC, so, given that each Flash module can contain several BCs, it is even possible to configure both Flex and Pure AS BCs within one module - and these BCs may use different SDKs. Of course SDK set for one BC doesn't interfere with SDK set for other BC.

By the way I know that Apache is going to release new SDK and new Installer in few days. New installer will allow to mix any Flex SDK with any AIR SDK at instalation time.


Thank you for this information. I can wait until the next Apache SDK is released.


Please sign in to leave a comment.