> Excellent!  I assume that COMPC uses flex2/tools/oem/Library.java

Nope, I don't if I do well but I mapped what was before, a call to COMPC as I 
do for Mxmlc which is what IJ expect.

> I seem to recall messing around with CompilerConfiguration when
> integrating with FB.  So there may already be code that maps it to the
> Falcon configurations.

Yes (well if I get you correctly) but with other package which then don't work, 
the Falcon conf classes are not the ones IJ expect, I had to rely on the legacy 
ones and I will have to tweak them at some point, at least, I guess, when I 
will have to make them validate the new element in the flex-config.xml

> I would assume that, if you are using an Apache Flex 4.14.1 SDK and choose
> the Mxmlc option the above scenarios work correctly?  If so, that still
> implies to me that IJ has some assumption about flex-oem-compiler.jar that
> isn’t mocked up correctly.  Otherwise IJ hasn’t implemented that option.
> I ended up putting breakpoints or console logging most of the public APIs
> in flex-oem-compiler to see what FB was doing and then guessed correctly a
> few times and it started to work.

I didn't try with 4.14.1 but amongst few other things, I had to generate a new 
compc.jar to make IJ happy, now, it works well with the 2 IJ compiler options.

http://snag.gy/3o0SH.jpg

> Feel free to check in what you have.  I’m hoping to work on the packaging
> of FDB so that the nightly builds get closer and closer to working in IJ.

Cool, it would be nice I could debug in IJ without to rely on the Flex SDK :-)

> Thanks for working on this.

Welcome !!

Also, my work is not clean and once clean, I will require your help with Ant or 
better, will commit anyway in a branch and if you can make the Ant build 
working, it would be nice, never been able to complete it with the 
flex-oem-compiler and not only because of the tests but some dependencies, I 
will come back to you with more detail when it will be the time, in between, I 
build it with IJ.

Thanks.
Frédéric THOMAS

> From: aha...@adobe.com
> To: dev@flex.apache.org
> Subject: Re: AW: AW: AW: [FlexJS] IntelliJ Integration
> Date: Mon, 25 May 2015 04:47:13 +0000
> 
> 
> 
> On 5/24/15, 8:09 AM, "Frédéric THOMAS" <webdoubl...@hotmail.com> wrote:
> 
> >Hi Alex,
> >
> >> IIRC, the FB compiler calls flex2/tools/oem/Application.java.  You can
> >>see
> >> how this class builds up an OEMReport with messages.
> >
> >Thanks, I've been able to create and OEMReport based on that.
> >
> >So, at the moment, using the Mxml entry point they use, plug into the
> >MCMLC and sending old report (logs), I can compile and have reports on
> >success, info, warnings and errors, I did the same with COMPC but didn't
> >test it yet.
> 
> Excellent!  I assume that COMPC uses flex2/tools/oem/Library.java
> 
> >
> >I re-introduce the proccessConfiguration too to make IJ happy, maybe I
> >could mock it but I need to determinate first what they do exactly with
> >the flex2.compiler.common.Configuration, it seems they get and use the
> >CompilerConfiguration class though, so, I would probably need to mock it.
> 
> I seem to recall messing around with CompilerConfiguration when
> integrating with FB.  So there may already be code that maps it to the
> Falcon configurations.
> 
> >
> >There are some limitations though:
> >
> >1- They patched the FileConfigurator class and now, there's a UnkownError
> >which has an Info level and then doesn't avoid the compilation at all
> >using their MXMLX / COMPC compile choice option .
> >
> >2- The most anoying thing is their build-in compiler option, it seems
> >they totally revamped the CompilerAPI, create a process based on the
> >Mxmlc and it doesn't work anymore indeed, but the worst is that for some
> >reason I didn't get yet, their code path is switching all the time
> >between those 2 compilers creating a very bad user experience:
> >
> >If I choose the Mcmlc, I can compile once, after no changes, it wont try
> >to compile again, if there is at least one file changed, it will
> >automatically try to compile with the build-in compiler and fail indeed,
> >the user has to manualy select their build-in compiler again, try and
> >fail again, switch back to the Mxmlc one to make it build.
> 
> I would assume that, if you are using an Apache Flex 4.14.1 SDK and choose
> the Mxmlc option the above scenarios work correctly?  If so, that still
> implies to me that IJ has some assumption about flex-oem-compiler.jar that
> isn’t mocked up correctly.  Otherwise IJ hasn’t implemented that option.
> I ended up putting breakpoints or console logging most of the public APIs
> in flex-oem-compiler to see what FB was doing and then guessed correctly a
> few times and it started to work.
> 
> Feel free to check in what you have.  I’m hoping to work on the packaging
> of FDB so that the nightly builds get closer and closer to working in IJ.
> 
> Thanks for working on this.
> -Alex
> 
                                          

Reply via email to