flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Harui <aha...@adobe.com>
Subject Re: AW: AW: AW: [FlexJS] IntelliJ Integration
Date Fri, 22 May 2015 15:00:52 GMT
FWIW, in the FlashBuilder/Falcon integration, I’ve blocked incremental
compiles, at least for now.  Besides there were plenty of bugs in the
incremental compilation.

It looks like (in the flex-sdk repo)
modules/compiler/src/java/flex2/tools/Mxmlc.java is a command-line entry
point for the compiler.  When I was hacking flex-oem-compiler for Falcon,
I would take a class like that from the flex-sdk repo, add it to Falcon’s
flex-oem-compiler and comment out the bodies of the methods and then try
to figure out what FB was really looking for and then make the required
calls to Falcon to make it happen.  The problem is that some imports in
some of these files bring in a ton of other files that we don’t want to
support in Falcon since they do similar things in MXMLC.

If we’re lucky, IJ just uses an Mxmlc class to call its main() or mxmlc()
method with command-line args and you can just pass them to the Falcon
Mxmlc class.

Thanks,
-Alex

BTW, I finally got a new Windows computer and have plans to install IJ,
FlashDevelop and FDT on it, but other things are currently taking higher
priority.



On 5/22/15, 6:39 AM, "Frédéric THOMAS" <webdoublefx@hotmail.com> wrote:

>Hi Alex,
>
>Well, as per [1], I thought we would have keep the same feature for
>Falcon.
>
>And In IntelliJ, as per their doc, you can select which of the available
>Flex compilers should be used:
>
>1- Built-in compiler shell. An
>                    IntelliJ IDEA compiler shell which uses the Flex SDK
>                    compiler API.
>
>                  
>
>This compiler shell can perform incremental
>                      compilations. As a multithreaded shell, it is
>capable of 
>                      running a number of compilations simultaneously, in
>                      parallel.
>                  
>
>2- Mxmlc/compc: Compiler
>                    available in Flex SDK
>
>This compiler cannot compile incrementally. However, it
>                      can run several independent compilation processes
>                      simultaneously which significantly improves the
>                      compilation performance.
>                  
>
>Whichever of the compiler options you use, IntelliJ IDEA
>                  keeps track of the modules where nothing has changed
>since 
>                  the previous compilation. Consequently, the SWF and SWC
>                  files that are up-to-date are not compiled.
>
>
>            
>          
>Selecting the 2nd option and trying to build a project, I can see all the
>failed calls to the flex-compiler-oem and it uses CompilerAPI, Mxmlc and
>I guess Compc for libs.
>
>Will try to do my best with the low knowlegde I've got on the Compiler.
>
>Thanks,
>
>  
>
>Frédéric THOMAS
>
>[1] 
>http://help.adobe.com/en_US/Flex/4.0/CompilerAPI/flex_4.0_compilerapi.pdf
>
>> From: aharui@adobe.com
>> To: dev@flex.apache.org
>> Subject: Re: AW: AW: AW: [FlexJS] IntelliJ Integration
>> Date: Thu, 21 May 2015 17:18:26 +0000
>> 
>> 
>> 
>> On 5/21/15, 9:58 AM, "Frédéric THOMAS" <webdoublefx@hotmail.com> wrote:
>> 
>> >@Alex,
>> >
>> >I've been playing a bit with the flex-compiler-oem that intellij can
>>use,
>> >I started to add the functions it expects but I had to stop and ask
>>you,
>> >why it doesn't contains things like Mxmlc anymore, that IntelliJ uses ?
>> 
>> Well, Falcon is supposed to replace Mxmlc.  My goal with Falcon’s
>> flex-compiler-oem was to use as few classes from the SDK’s MXMLC as
>> possible so we don’t have to maintain them going forward in Falcon and
>> make the APIs call what was needed in Falcon to get Flash Builder to
>>work.
>> 
>> It sounds like IntelliJ decided to use other APIs in flex-compiler-oem.
>> Hopefully you can implement what it needs by calling Falcon code without
>> dragging too much more of the old MXMLC into the Falcon code-base.
>> 
>> -Alex
>> 		 	   		  
>> 
> 		 	   		  

Mime
View raw message