On 14.02.2013 21:49, Alex Harui wrote:
OK, so it sounds like you currently just launch MXMLC and COMPC. That should
make it relatively easy to call Falcon's MXMLC and COMPC, depending on how you
get the error list. Falcon's MXMLC and COMPC classes are in a different package
than flex2.tools, but it might even be possible to provide a wrapper for
Falcon's MXMLC and COMPC in the flex2.tools package.
We are ready to do everything at our side and introduce a secret option
in IntelliJ IDEA that would enable Falcon usage. Can I get Falcon
binaries somewhere or I have to build it myself?
Two questions regarding Falcon integration in IntelliJ IDEA:
1. IntelliJ IDEA has an internal mechanism for tracking dirty files.
Compilation is not triggered at all if no files within source folders
were touched. But this mechanism has two drawbacks:
- if some file in a source folder is touched - IDE will force
recompilation even if this file is actually not used in compilation
- if some asset is updated and it is kept out of source folder - IDE
doesn't notice this change and doesn't recompile
So the question is: will it be possible to get full list of files used
to produce resulting swf/swc from Falcon compiler?
2. Second question is about incrementality. What does IDE need to do to
provide quick compilation of a huge swf/swc if only few source files are
touched since previous compilation? May be Falcon does all the work
itself keeping cache files somewhere. Or may be some shell is required
that would be kept alive between compilations. Or may be IDE is
responsible to give compiler a list of dirty files.
In theory, the FlashBuilder code provided faster incremental compiles, but I've
never created big projects in FlashBuilder or IntelliJ to know if there was a
significant difference.
Yes, Flash Builder advantage is incrementality, IntelliJ IDEA advantage
is parallel compilation of independent swfs/swcs and out-of-process
compilation. Who wins - depends on the project structure.
Alexander