ASJS Publisher ============== The ASJS Publisher is a tool to cross-compile projects from ActionScript (AS) to Javascript (JS). On the AS side, a project can to be built with the regular Flex SDK). The Publisher collects the project's AS code and uses the FalconJx compiler to create JS code. This JS code is then combined with the VanillaSDK JS framework using the Google Closure Builder. This tool takes all the JS files, calculates dependencies and creates one, highly optimized and minified, JS file. This one JS file is combined with a minimal HTML file and together these contain all code needed to play the project in a browser. For more information, read on. Using the Publisher =================== Prerequisites ------------- The ASJS Publisher relies on the Google Closure Tools: https://developers.google.com/closure/ In particular it uses the Library, Compiler and Builder. In order to use the Publisher on your machine, you'll have to download/install these tools first. 1) Get the Google Closure Library svn checkout http://closure-library.googlecode.com/svn/trunk/ library 2) Download the Google Closure Compiler and unzip http://closure-compiler.googlecode.com/files/compiler-latest.zip 3) Get the Falcon compilers svn checkout https://svn.apache.org/repos/asf/flex/falcon/trunk falcon 4) The Closure Tools use Python scripts. These scripts are designed to work with Python 2.7. Make sure your system can properly execute Python scripts... For info on checking your system's capabilities and, when needed, for instructions on how to install the proper version of Python on your system, please visit: http://www.python.org/ Preparing for publishing ------------------------ 1) The ASJS Publisher uses the FalconJx compiler, which in turn needs the Falcon compiler. Build both projects using the READMEs as your guide. 2) The Publisher is an ant script, 'build.xml', which uses 'build.properties' and command line arguments to set dynamic properties. Before your run you need to edit 'build.properties' to reflect the various system specific properties. Publishing ---------- A full run ('main') of the ant script needs a single command line argument: project.main.file. You point this argument to the 'master' AS (no MXML yet) of your project, like so: ant -Dproject.main.file=../examples/VanillaSDK_POC/src/Example.as That's it, have fun! The Apache Flex Project