BTW, it would be great to find a volunteer to update the files like: compiler/src/main/resources/org/apache/flex/compiler/messages_en.properties
Then the --help system would work from the command line. And the printHelp and friends from MXMLC.java and friends needs to be replicated in MXMLJSC so --help can be used there as well. Thanks, -Alex On 5/9/16, 10:16 AM, "Harbs" <harbs.li...@gmail.com> wrote: >Awesome! This is exactly what I was looking for. > >I’ll copy this info to the wiki. > >On May 9, 2016, at 7:59 PM, Alex Harui <aha...@adobe.com> wrote: > >> Falcon (SWF Compiler) should support all MXMLC inputs from the regular >> Flex SDK except the "keep-generated-actionscript" option which I think >>it >> just ignores (Falcon does not generate ActionScript from MXML, it goes >> straight from MXML to ABC). I think there are some embedded font >>options >> that aren't supported either. >> >> In addition, Falcon supports: >> >> -compiler.mxml.children-as-data (this is required to be true for FlexJS >> MXMLC compilation). It changes the MXML code generation to be a data >> structure instead of a bunch of run-once methods. >> -compiler.mxml.implicitImports. In FlexJS we change the set of classes >> you don't have to import in your MXML script blocks and event handlers. >> -compiler.binding-value-change-event. The name of the event class the >> DataBinding subsystem uses for detecting change events >> -compiler.binding-value-change-event-type. The name of the event in the >> event class. >> -compiler.binding-event-handler-event This is used in code generation >>for >> [Bindable] vars >> -compiler.binding-event-handler-class This is used in code generation >>for >> [Bindable] vars >> -compiler.binding-event-handler-interface This is used in code >>generation >> for [Bindable] vars >> -compiler.states-class This is used in code >>generation >> for states. >> -compiler.states-instance-override-class This is used in code >>generation >> for states. >> -compiler.states-property-override-class This is used in code >>generation >> for states. >> -compiler.states-event-override-class This is used in code >>generation >> for states. >> -compiler.states-style-override-class This is used in code >>generation >> for states. >> -compiler.component-factory-class This is used in code generation >>for >> fx:Components. >> >> -compiler.component-factory-interface This is used in code generation >>for >> fx:Components. >> -compiler.proxy-base-class This is used in code generation for Proxy >> -compiler.allow-subclass-overrides This does what it says. >> -compiler.strict-xml >> -use-flashbuilder-project-files <path to project>. This has the >>compiler >> use most of the settings that Flash Builder uses. You can use -fb as >>well. >> >> >> >> -isExcludeNativeJSLibraries This removes the externs swcs from the >> library path and external library path. I don't think we need this, but >> not sure. >> >> These configurations are contained in this class: >> compiler/src/org/apache/flex/compiler/config/Configuration.java >> >> >> >> >> >> FalconJX supports all of these options plus: >> -js-output-type Options to change some aspects of the output. FLEXJS >>is >> the default. Also supported is JSC for "no-SWF" workflows, and NODE. >> -source-map >> -closure-lib Path to Google Closure Library. Defaults to a known place >> in the FlexJS SDK >> -sdk-js-lib Path to other folder of JS files to resolve class >>dependencies >> -external-js-lib Path to folder of externs JS files >> -strict-publish Passes Strict option to Google Closure Compiler >> -keep-asdoc Copies ASDoc into JSDoc >> -remove-circulars Tries to eliminate goog.requires from output that >> causes GCC to error about circular dependencies >> -skip-transpile When used with -debug=false, doesn't generate the >> bin/js-debug version so you can just pass what is in js-debug to GCC for >> optimization (in case you manually edited something in js-debug) >> -js-compiler-option Other options to pass to GCC >> -js-output-optimization Allowed options: >> skipFunctionCoercions skipAsCoercions These options cause the >> compiler >>to >> not generate calls to Language.is and Language.as. >> >> >> ExternC has its own config. If you need it I can try to generate it. >> >> The various launch scripts set some of the above options. >> >> HTH, >> -Alex >> >> >> >> On 5/8/16, 11:44 PM, "Harbs" <harbs.li...@gmail.com> wrote: >> >>> This is good. >>> >>> What about acceptable arguments? >>> >>> Off the top of my head, there’s >>> 1. remove circulars (which I never totally understood) >>> 2. strict XML >>> 3. debug options >>> 4. keep-asdoc (how well does this work?) >>> 5. flexlib >>> etc. >>> >>> Without clear documentation of all this stuff, it feels very >>>overwhelming. >>> >>> On May 9, 2016, at 9:34 AM, Alex Harui <aha...@adobe.com> wrote: >>> >>>> >>>> >>>> On 5/8/16, 5:33 AM, "Harbs" <harbs.li...@gmail.com> wrote: >>>> >>>>> I’m trying to set up some development environments and I realized >>>>> there’s >>>>> lots of pieces and I’m not sure how everything fits together. >>>>> >>>>> FalconJX currently generates the following scripts and executables: >>>>> >>>>> Scripts: >>>>> Asjsc - compiles AS app to JS with JS.swc >>>>> Asjscompc - compiles AS library to JS with JS.swc >>>>> Asnodec - compiles AS app to JS with JS.swc and Node.swc >>>>> Jquery = compiles AS app to JS with JS.swc and Jquery.swc >>>>> Compc - compiles AS library to JS with FlexJS framework >>>>> Mxmlc - compiles AS app to JS with FlexJS framework >>>>> Externc - runs ExternC compiler to compile externs JS files to AS. >>>>> >>>>> >>>>> >>>>> Executables: >>>>> compc.jar = library compiler >>>>> externc.jar = ExternC compiler >>>>> jsc.jar = shared code between compc and mxmlc >>>>> mxmlc.jar = application compiler >>>>> >>>> >>>> Below are this party libraries >>>>> >>>>> args4j.jar >>>>> commons-io.jar >>>>> flex-tool-api.jar >>>>> guava.jar >>>>> org.json.jar >>>> >>>> HTH, >>>> -Alex >>>> >>> >> >