> The current FB can't use Falcon

By making a new flex-compiler-oem.jar based on Falcon, you could make FB use 
Falcon to compile. But I don't think you'd get memory-resident data structures, 
which was one of the main points of Falcon... I think with the 
flex-compiler-oem.jar approach you'd be starting over with each compilation, 
parsing files, parsing SWCs, building symbol tables. (Darrell, am I wrong 
here?) 

You definitely wouldn't get Falcon-based code hinting, and the data structures 
of the old Code Model would be taking up memory.

The point of Falcon was to have the code hinting and the compilation share data 
structures that are resident in memory.

- Gordon

-----Original Message-----
From: Gordon Smith [mailto:gosm...@adobe.com] 
Sent: Wednesday, September 04, 2013 10:14 AM
To: dev@flex.apache.org; Erik de Bruin
Subject: RE: [Falcon] BasicTests compiles and runs

> FLEX_COMPILER_HOME

I thought Alex wanted to start including Falcon as part of the SDK. If that's 
the case, the Falcon JARs belong in the same lib directory as all the other 
JARs, including those for the old compiler, and there wouldn't be different 
"homes" for the two compilers. But there still needs to be a switch to tell the 
launch scripts which JAR  to use.

> But I think getting FB to use Falcon ...

The current FB can't use Falcon because we had to rename every package from 
com.adobe to org.apache when we donated Falcon.

- Gordon

-----Original Message-----
From: Darrell Loverin [mailto:dlove...@adobe.com]
Sent: Wednesday, September 04, 2013 8:59 AM
To: dev@flex.apache.org; Erik de Bruin
Subject: Re: [Falcon] BasicTests compiles and runs

I agree that an environment variable is a good way to break the flex sdk and 
compiler location dependencies. I'd suggest something like FLEX_COMPILER_HOME 
rather than a codename like "FALCON".

It would be pretty quick to see if this would work:

1. Command line - flex scripts defer to an alternate compiler's scripts
(falcon) using an environment variable.
2. Ant scripts - find new location of flexTasks.jar from environment variable.

But I think getting FB to use Falcon to create SWFs will more difficult since 
we don't have access to the FB source. I believe that FB is not only dependent 
on flex-compiler-oem.jar (oem api) but it cheats is also dependent on 
mxmlc.jar. An approach I think could work is to create a modified version of 
flex-compiler-oem.jar that satisfies FB and calls falcon jars. You could think 
of the oem api having two major parts.
The first part is where FB calls in to convert its settings into mxmlc 
configuration settings. The second part sets the configuration and then 
compiles. We can probably keep the first part mostly in place. We modify the 
second part to get the configuration options as a command line string and use 
that to kick off the falcon build.


-Darrell


On 9/3/13 7:02 PM, "Gordon Smith" <gosm...@adobe.com> wrote:

>Ah. Then maybe set a FALCON environment variable to true and have the 
>launch scripts check it?
>
>- Gordon
>
>-----Original Message-----
>From: Alex Harui [mailto:aha...@adobe.com]
>Sent: Tuesday, September 03, 2013 3:58 PM
>To: dev@flex.apache.org; Erik de Bruin
>Subject: Re: [Falcon] BasicTests compiles and runs
>
>Yeah, but I think FB only knows how to find and launch mxmlc.  And 
>folks with ant scripts, etc, should be able to switch easily.
>
>The shell script and batch files could check some environment variable, 
>but I think some other places load up mxmlc.jar and start talking to it.
>
>-Alex
>
>On 9/3/13 3:52 PM, "Gordon Smith" <gosm...@adobe.com> wrote:
>
>>The simplest thing is just to have dual launch scripts: fmxmlc
>>(Falcon) vs. mxmlc (old compiler), fcompc vs. compc, etc.
>>
>>- Gordon
>>
>>-----Original Message-----
>>From: Alex Harui [mailto:aha...@adobe.com]
>>Sent: Tuesday, September 03, 2013 2:45 PM
>>To: dev@flex.apache.org; Erik de Bruin
>>Subject: Re: [Falcon] BasicTests compiles and runs
>>
>>Excellent.  I'll try it out now.
>>
>>Now that you've seen how we manage the source code in Git for Apache 
>>Flex, what do you think we should do about packaging up Falcon to work 
>>with an Apache Flex SDK?  There would need to be some sort of "switch"
>>to allow someone to go back to the old MXMLC if they need to.
>>
>>Thanks,
>>-Alex
>>
>>On 9/3/13 2:37 PM, "Darrell Loverin" <dlove...@adobe.com> wrote:
>>
>>>Added a patch for the implicit import issue:
>>>https://issues.apache.org/jira/browse/FLEX-33701
>>>
>>>
>>>-Darrell
>>>
>>>On 9/3/13 4:08 PM, "Darrell Loverin" <dlove...@adobe.com> wrote:
>>>
>>>>The below args almost work for me from eclipse. There are three 
>>>>undefined classes because "flash.filters.*" is not auto included.
>>>>I'm close to have the fix for that.
>>>> 
>>>>args:
>>>>/Users/dloverin/git-src/ApacheFlex/source/flex-sdk/frameworks/tests/
>>>>b
>>>>a
>>>>sic
>>>>T
>>>>e
>>>>sts/BasicTests.mxml -debug
>>>>-library-path+=/Users/dloverin/git-src/ApacheFlex/source/flex-sdk/mu
>>>>-library-path+s
>>>>-library-path+t
>>>>-library-path+ell
>>>>a
>>>>/
>>>>mustella.swc
>>>>
>>>>Vmargs:
>>>>-Xmx1024m -Dsun.io.useCanonCaches=false 
>>>>-Dflexlib=/Users/dloverin/git-src/ApacheFlex/source/flex-sdk/framewo
>>>>r
>>>>k
>>>>s
>>>>-Dflexcompiler=/Users/dloverin/git-src/ApacheFlex/source/falcon/comp
>>>>i
>>>>l
>>>>er
>>>>
>>>>
>>>>-Darrell
>>>>
>>>>
>>>>On 9/3/13 2:49 PM, "Alex Harui" <aha...@adobe.com> wrote:
>>>>
>>>>>I'll try when I get back to my computer.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>Sent via the PANTECH Discover, an AT&T 4G LTE smartphone.
>>>>>
>>>>>Erik de Bruin <e...@ixsoftware.nl> wrote:
>>>>>
>>>>>
>>>>>I did an 'ant wipe' which seems to delete 'generated'.
>>>>>
>>>>>EdB
>>>>>
>>>>>
>>>>>
>>>>>On Tue, Sep 3, 2013 at 7:50 PM, Alex Harui <aha...@adobe.com> wrote:
>>>>>> I am using a launch configuration in eclipse. Maybe the jars in 
>>>>>>generated are not updated.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Sent via the PANTECH Discover, an AT&T 4G LTE smartphone.
>>>>>>
>>>>>> Erik de Bruin <e...@ixsoftware.nl> wrote:
>>>>>>
>>>>>>
>>>>>> I am, last commit showing is "more fixes for BasicTests..."
>>>>>> (6b5dbbcbbda894b7c7b2998af0fe4776862769cd)
>>>>>>
>>>>>> Falcon builds fine, all tests pass. I've added the 
>>>>>> "generated/dist/sdk/bin" directory to my PATH and cd to the 
>>>>>> basicTests dir before running "mxmlc basicTests.mxml".
>>>>>>
>>>>>> The start of the terminal output is:
>>>>>>
>>>>>> Using Flex SDK: /Applications/Adobe Flash Builder 4.7/sdks/4.10.0
>>>>>>(nightly)
>>>>>> Loading configuration: /Applications/Adobe Flash Builder
>>>>>> 4.7/sdks/4.10.0 (nightly)/frameworks/flex-config.xml
>>>>>> Loading configuration:
>>>>>> 
>>>>>>/Users/erik/Documents/ApacheFlex/git/flex-sdk/frameworks/tests/bas
>>>>>>i
>>>>>>c
>>>>>>Tes
>>>>>>t
>>>>>>s
>>>>>>/BasicTests-config.xml
>>>>>>
>>>>>> not adding bindable variable trait for disclosureGroup in Qname:
>>>>>> Group::{PackageNs:"spark.components"}
>>>>>> not adding bindable variable trait for editor in Qname:
>>>>>> TextInput::{PackageNs:"spark.components"}
>>>>>> 
>>>>>>/Users/erik/Documents/ApacheFlex/git/flex-sdk/frameworks/tests/bas
>>>>>>i
>>>>>>c
>>>>>>Tes
>>>>>>t
>>>>>>s
>>>>>>/dmv/scripts/ADGTestScript.mxml
>>>>>> Error: Internal error in syntax tree request subsystem, when 
>>>>>>generating code for:
>>>>>> 
>>>>>>/Users/erik/Documents/ApacheFlex/git/flex-sdk/frameworks/tests/bas
>>>>>>i
>>>>>>c
>>>>>>Tes
>>>>>>t
>>>>>>s
>>>>>>/dmv/scripts/ADGTestScript.mxml:
>>>>>> java.lang.ArrayIndexOutOfBoundsException: 0  at 
>>>>>>org.apache.flex.compiler.internal.units.MXMLCompilationUnit.handle
>>>>>>S
>>>>>>y
>>>>>>nta
>>>>>>x
>>>>>>T
>>>>>>reeRequest(MXMLCompilationUnit.java:89)
>>>>>> at
>>>>>>org.apache.flex.compiler.internal.units.CompilationUnitBase.proces
>>>>>>s
>>>>>>S
>>>>>>ynt
>>>>>>a
>>>>>>x
>>>>>>TreeRequest(CompilationUnitBase.java:829)
>>>>>> at
>>>>>>org.apache.flex.compiler.internal.units.CompilationUnitBase.access
>>>>>>$
>>>>>>1
>>>>>>00(
>>>>>>C
>>>>>>o
>>>>>>mpilationUnitBase.java:107)
>>>>>> at
>>>>>>org.apache.flex.compiler.internal.units.CompilationUnitBase$2$1.ca
>>>>>>l
>>>>>>l
>>>>>>(Co
>>>>>>m
>>>>>>p
>>>>>>ilationUnitBase.java:259)
>>>>>> at
>>>>>>org.apache.flex.compiler.internal.units.CompilationUnitBase$2$1.ca
>>>>>>l
>>>>>>l
>>>>>>(Co
>>>>>>m
>>>>>>p
>>>>>>ilationUnitBase.java:255)
>>>>>> at
>>>>>>org.apache.flex.compiler.internal.units.requests.RequestMaker$1.ca
>>>>>>l
>>>>>>l
>>>>>>(Re
>>>>>>q
>>>>>>u
>>>>>>estMaker.java:228)
>>>>>> at
>>>>>>org.apache.flex.compiler.internal.units.requests.RequestMaker$1.ca
>>>>>>l
>>>>>>l
>>>>>>(Re
>>>>>>q
>>>>>>u
>>>>>>estMaker.java:222)
>>>>>> at
>>>>>>java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>>>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>>>>>> at
>>>>>>java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolE
>>>>>>x
>>>>>>e
>>>>>>cut
>>>>>>o
>>>>>>r
>>>>>>.java:895)
>>>>>> at
>>>>>>java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecu
>>>>>>t
>>>>>>o
>>>>>>r.j
>>>>>>a
>>>>>>v
>>>>>>a:918)
>>>>>> at java.lang.Thread.run(Thread.java:680)
>>>>>>
>>>>>> This "Error: Internal error..." bit is then repeated - with minor 
>>>>>> variations - the kazillion times mentioned, all in a split second.
>>>>>>
>>>>>> EdB
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Tue, Sep 3, 2013 at 7:39 PM, Alex Harui <aha...@adobe.com> wrote:
>>>>>>> Are you on the develop branch?
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Sent via the PANTECH Discover, an AT&T 4G LTE smartphone.
>>>>>>>
>>>>>>> Erik de Bruin <e...@ixsoftware.nl> wrote:
>>>>>>>
>>>>>>>
>>>>>>> I just tried to comile basicTests with Falcon, but even after 
>>>>>>>some tweaking and rebuilding I get a kazillion errors like this
>>>>>>>one:
>>>>>>>
>>>>>>> Error: Internal error in ABC generator subsystem, when 
>>>>>>>generating code
>>>>>>> for: 
>>>>>>>/Users/erik/Documents/ApacheFlex/git/flex-sdk/frameworks/tests/ba
>>>>>>>s
>>>>>>>i
>>>>>>>cTe
>>>>>>>s
>>>>>>>t
>>>>>>>s/halo/scripts/ComboBoxTestScript.mxml:
>>>>>>> java.lang.NullPointerException
>>>>>>>
>>>>>>> Any ideas what I'm doing wrong?
>>>>>>>
>>>>>>> EdB
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Sat, Aug 31, 2013 at 9:02 AM, Alex Harui <aha...@adobe.com>
>>>>>>>wrote:
>>>>>>>> I finally got Falcon to compile and run BasicTests successfully 
>>>>>>>>using the "old codegen".  BasicTests is the test that runs when 
>>>>>>>>you run "ant checkintests".  Next task is to get it to run with 
>>>>>>>>the mxml.children-as-data flag.  After that, I'll be trying to 
>>>>>>>>get my internal customer's app to run.
>>>>>>>> Far off is getting BasicTests to run without Flash because we'd 
>>>>>>>>need to have JS versions of all of these components, but getting 
>>>>>>>>this far means that Falcon's MXML handling is in decent shape.
>>>>>>>>
>>>>>>>> Thanks to Darrell Loverin and Gordon Smith for code and advice.
>>>>>>>>
>>>>>>>> -Alex
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Ix Multimedia Software
>>>>>>>
>>>>>>> Jan Luykenstraat 27
>>>>>>> 3521 VB Utrecht
>>>>>>>
>>>>>>> T. 06-51952295
>>>>>>> I. www.ixsoftware.nl
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Ix Multimedia Software
>>>>>>
>>>>>> Jan Luykenstraat 27
>>>>>> 3521 VB Utrecht
>>>>>>
>>>>>> T. 06-51952295
>>>>>> I. www.ixsoftware.nl
>>>>>
>>>>>
>>>>>
>>>>>--
>>>>>Ix Multimedia Software
>>>>>
>>>>>Jan Luykenstraat 27
>>>>>3521 VB Utrecht
>>>>>
>>>>>T. 06-51952295
>>>>>I. www.ixsoftware.nl
>>>>
>>>
>>
>

Reply via email to