Tigran,

There are two ways of working with FlexJS/FalconJX.  One is to overlay an
Apache Flex SDK with the FalconJX compiler, and another is to work from the
srouce code via Eclipse.

I am still finishing up a zip file and script that will overlay an SDK with
FalconJX.  There are several steps, so running mxmlc from a Flex SDk branch
is unlikely to work until you have all of that right.

To work from the source you will need 2 git repos and a Flex SDK install.
Get the code directly from Apache Git, not the mirrors.  The repos are:
    flex-asjs
    flex-falcon

I use Eclipse 3.6.  Then set up the arguments as Erik described in a debug
config.

It looks to me like you may still be using the SVN sources which are way out
of date by now.


On 4/5/13 11:11 PM, "Tigran Najaryan" <tig...@gmail.com> wrote:

> Erik,
> 
> Sorry, that still does not work. Different error this time though!
> 
> I tried this command line:
> 
> mxmlc env.PLAYERGLOBAL_HOME="C:/Program Files (x86)/Adobe/Adobe Flash
> Builder 4.6/sdks/4.9.0/frameworks/libs/player" ^
> playerglobal.version=11.1 ^
> -load-config=D:/WORK/Projects/ApacheFlex/repo/sdk/trunk/frameworks/flex-conf
> ig.xml ^
> -library-path+=D:/WORK/Projects/ApacheFlex/repo/asjs/branches/develop/framew
> orks/as/libs/FlexJSUI.swc ^
> -js-output-type=FLEXJS ^
> -closure-lib=D:/WORK/Projects/ApacheFlex/dependencies/GoogleClosure/library
> ^
> -sdk-js-lib=D:/WORK/Projects/ApacheFlex/repo/asjs/branches/develop/framework
> s/js/FlexJS/src ^
> D:\WORK\Projects\ApacheFlex\repo\asjs\branches\develop\examples\FlexJSTest_a
> gain\FlexJSTest.mxml
> 
> and get the following output:
> 
> Using Flex SDK: D:\WORK\Projects\ApacheFlex\repo\sdk\branches\develop
> command line
> unknown configuration variable 'closure-lib'.
> 
> Then I removed the "-closure-lib" parameter, run again and got this:
> 
> Using Flex SDK: D:\WORK\Projects\ApacheFlex\repo\sdk\branches\develop
> command line
> unknown configuration variable 'sdk-js-lib'.
> 
> 
> Then removed the -sdk-js-lib parameter, run again and got this:
> 
> Using Flex SDK: D:\WORK\Projects\ApacheFlex\repo\sdk\branches\develop
> command line
> default arguments may not be interspersed with other options.
> 
> 
> I then tried mxmlc -help and mxmlc -help list to see what command line
> options are supported but both result in this exception:
> 
> Exception in thread "main" java.lang.UnsupportedOperationException
>         at
> org.apache.flex.compiler.internal.driver.as.ASBackend.getSourceFileHandlerIn
> stance(ASBackend.java:70)
>         at org.apache.flex.compiler.clients.MXMLJSC.<init>(MXMLJSC.java:201)
>         at org.apache.flex.compiler.clients.MXMLJSC.main(MXMLJSC.java:169)
> 
> 
> 
> I also tried looking for the command line options implementation in the
> source code. The string "sdk-js-lib" does not exist anywhere in the
> repo/falcon/trunk/compiler.jx/src/*
> 
> The text "closure-lib" is present in JSGoogConfiguration.java which if I
> understand it correct will only be used when the GoogBackend is used which
> in turn will be only used if js-output-type is set to "goog". Am I reading
> the source code incorrectly or there is just no way for "closure-lib" and
> "sdk-js-lib" parameters to work when -js-output-type=FLEXJS is used?
> 
> Anything else I can try?
> 
> 
> BTW, what IDE do you use for FalconJX development? Command line is cool but
> I'd prefer something like Eclipse when I finally get to the point where I
> can change a source and debug.
> 
> Thanks,
> Tigran.
> 
> 
> -----Original Message-----
> From: Erik de Bruin [mailto:e...@ixsoftware.nl]
> Sent: Friday, April 05, 2013 4:20 PM
> To: dev@flex.apache.org
> Subject: Re: FalconJX mxmlc error
> 
> Tigran,
> 
> Being a work in progress, FalconJx works only with a very specific set of
> inputs. To build FlexJS, use these (add/change paths to match your
> setup):
> 
> +env.PLAYERGLOBAL_HOME=[pathToGlobalPlayerSWCRoot]
> +playerglobal.version=11.1
> -load-config="/Applications/Adobe Flash Builder
> 4.7/sdks/4.9.1/frameworks/flex-config.xml"
> -library-path+=[pathToFlexUISWC]
> -js-output-type=FLEXJS
> -closure-lib=[pathToGoogleClosureLibRoot]
> -sdk-js-lib=[pathToFlexJSSrc]
> [pathToProjectMainMXML]
> 
> And yes, I do agree that better documentation would help. Maybe you can keep
> notes while you are working on getting this to run on your system. We could
> use those as the basis for a wiki page.
> 
> HTH,
> 
> EdB
> 
> On Fri, Apr 5, 2013 at 3:38 AM, Tigran Najaryan <tig...@gmail.com> wrote:
>> OK, I built FalconJX but how do I use it properly? Simply running
>> mxmlc without a command line gives an error:
>> 
>> D:\WORK\Projects\ApacheFlex\repo\falcon\trunk\compiler.jx\bin>mxmlc
>> Using Flex SDK: D:\WORK\Projects\ApacheFlex\repo\sdk\branches\develop
>> Exception in thread "main" java.lang.UnsupportedOperationException
>>         at
>> org.apache.flex.compiler.internal.driver.as.ASBackend.getSourceFileHan
>> dlerIn
>> stance(ASBackend.java:70)
>>         at
> org.apache.flex.compiler.clients.MXMLJSC.<init>(MXMLJSC.java:201)
>>         at 
>> org.apache.flex.compiler.clients.MXMLJSC.main(MXMLJSC.java:169)
>> 
>> 
>> Looks like it selects AS backend where getSourceFileHandlerInstanceI()
>> is not implemented.
>> 
>> From the MXMLJSC.java I can see it expects a -js-output-type= parameter.
>> Calling with any of -js-output-type=flexjs, -js-output-type=good or
>> -js-output-type=amd results in another error in
>> WorkspaceProblemFormatter.java but I do not even have the source file
>> in my org/apache/flex/compiler/clients/problems directory.
>> 
>> Here is the error:
>> 
>> D:\WORK\Projects\ApacheFlex\repo\falcon\trunk\compiler.jx\bin>mxmlc
>> -js-output-type=flexjs
>> D:\WORK\Projects\ApacheFlex\repo\falcon\trunk\compiler.js\tests\TestAp
>> p.as Using Flex SDK:
>> D:\WORK\Projects\ApacheFlex\repo\sdk\branches\develop
>> Exception in thread "main" com.google.common.collect.ComputationException:
>> java.lang.IllegalAccessError: tried to access method
>> com.google.common.collect.MapMaker.maximumSize(I)Lcom/google/common/co
>> llect/
>> MapMaker; from class
>> org.apache.flex.compiler.clients.problems.WorkspaceProblemFormatter$Fi
>> leLine
>> Info
>>         at
>> com.google.common.collect.MapMaker$ComputingMapAdapter.get(MapMaker.ja
>> va:887
>> )
>>         at
>> org.apache.flex.compiler.clients.problems.WorkspaceProblemFormatter.ge
>> tLineT
>> ext(WorkspaceProblemFormatter.java:207)
>>         at
>> org.apache.flex.compiler.clients.problems.WorkspaceProblemFormatter.fo
>> rmat(W
>> orkspaceProblemFormatter.java:132)
>>         at
>> org.apache.flex.compiler.clients.problems.ProblemPrinter.printProblems
>> (Probl
>> emPrinter.java:90)
>>         at
>> org.apache.flex.compiler.clients.MXMLJSC.mainNoExit(MXMLJSC.java:225)
>>         at 
>> org.apache.flex.compiler.clients.MXMLJSC.main(MXMLJSC.java:171)
>> Caused by: java.lang.IllegalAccessError: tried to access method
>> com.google.common.collect.MapMaker.maximumSize(I)Lcom/google/common/co
>> llect/
>> MapMaker; from class
>> org.apache.flex.compiler.clients.problems.WorkspaceProblemFormatter$Fi
>> leLine
>> Info
>>         at
>> org.apache.flex.compiler.clients.problems.WorkspaceProblemFormatter$Fi
>> leLine
>> Info.<init>(WorkspaceProblemFormatter.java:258)
>>         at
>> org.apache.flex.compiler.clients.problems.WorkspaceProblemFormatter$1.
>> apply(
>> WorkspaceProblemFormatter.java:103)
>>         at
>> org.apache.flex.compiler.clients.problems.WorkspaceProblemFormatter$1.
>> apply(
>> WorkspaceProblemFormatter.java:98)
>>         at
>> com.google.common.collect.ComputingConcurrentHashMap$ComputingValueRef
>> erence
>> .compute(ComputingConcurrentHashMap.java:356)
>>         at
>> com.google.common.collect.ComputingConcurrentHashMap$ComputingSegment.
>> comput
>> e(ComputingConcurrentHashMap.java:182)
>>         at
>> com.google.common.collect.ComputingConcurrentHashMap$ComputingSegment.
>> getOrC
>> ompute(ComputingConcurrentHashMap.java:151)
>>         at
>> com.google.common.collect.ComputingConcurrentHashMap.getOrCompute(Comp
>> utingC
>> oncurrentHashMap.java:67)
>>         at
>> com.google.common.collect.MapMaker$ComputingMapAdapter.get(MapMaker.ja
>> va:883
>> )
>>         ... 5 more
>> 
>> 
>> 
>> Also tried compiling the FlexJSTest_again and get exact same error
> message.
>> 
>> 
>> Did I build FalconJX incorrectly or am I using it incorrectly?
>> 
>> Thanks.
>> 
>> 
>> 
>> -----Original Message-----
>> From: Alex Harui [mailto:aha...@adobe.com]
>> Sent: Thursday, April 04, 2013 5:59 PM
>> To: dev@flex.apache.org
>> Subject: Re: Error compiling TestApp sample using FalconJS
>> 
>> The classpaths may have changed to break just running mxmlc from the
>> bin directory.  I would recommend getting set up on FalconJX instead
>> if you are planning to contribute code going forward.  If you want to
>> try to use FalconJS for now, then use the FlexJSOverlay.zip as it sets
>> up the classes in the class path properly.
>> 
>> 
> 
> 
> 
> --
> Ix Multimedia Software
> 
> Jan Luykenstraat 27
> 3521 VB Utrecht
> 
> T. 06-51952295
> I. www.ixsoftware.nl
> 

-- 
Alex Harui
Flex SDK Team
Adobe Systems, Inc.
http://blogs.adobe.com/aharui

Reply via email to