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