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
>> 
>

Reply via email to