| Apache Flex Cross-Compiler |
| ==================== |
| |
| This Apache Flex Cross-Compiler is also known as the 'FalconJX' compiler. It |
| leverages code from the Apache Flex 'Falcon' Compiler but outputs JavaScript |
| instead of a SWF. |
| |
| For detailed information about Apache Flex please visit |
| http://flex.apache.org/ |
| |
| This compiler is used in the Apache FlexJS SDK. FlexJS is a |
| next-generation SDK that allows the developer to leverage MXML and ActionScript |
| to build applications that not only run as a SWF, but can also be cross-compiled |
| to JavaScript and run natively in a browser or anywhere JavaScript runs. |
| |
| Getting the latest sources via git |
| ================================== |
| |
| Getting the source code is the recommended way to get the Apache Flex Cross-Compiler. |
| We also offer an automated installer along with binary distributions on our |
| website at http://flex.apache.org/. |
| |
| You can always checkout the latest source via git using the following |
| command: |
| |
| git clone https://git-wip-us.apache.org/repos/asf/flex-falcon.git falcon |
| cd falcon |
| git checkout develop |
| |
| See the main README for instructions on setting up and building the Apache |
| Flex 'Falcon' cross-compiler. |
| |
| Building the Apache Flex Cross-Compiler |
| ======================================= |
| |
| The Apache Flex Cross-Compiler is a large project. It requires that the |
| Apache Flex Compiler has been built. See the main README for instructions. |
| |
| Linux support is currently experimental and while it is possible to compile |
| the SDK it has not been fully tested so you may run into issues. |
| |
| Install Prerequisites |
| --------------------- |
| |
| Before building the Apache Flex FalconJX Compiler you must install the same |
| software as specified in the main README. In addition, you will also need: |
| |
| ================================================================================== |
| SOFTWARE ENVIRONMENT VARIABLE (absolute paths) |
| ================================================================================== |
| |
| Apache FlexJS SDK or repository ASJS_HOME |
| |
| ================================================================================== |
| |
| *1) Set the ASJS_HOME variable to the root of the Apache FlexJS SDK or repository. |
| |
| Software Dependencies |
| --------------------- |
| |
| The Apache Flex Cross-Compiler uses third-party code that will be downloaded as |
| part of the build. |
| |
| The Apache Version 2.0 license is in the LICENSE file. |
| |
| The following dependencies have licenses which are, or are compatible with, |
| the Apache Version 2.0 license. You will not be prompted to acknowledge the |
| download. Most of the jars are installed in lib/external when installed |
| into an Apache Flex SDK and the lib folder in the repository working copy. |
| |
| args4j = http://search.maven.org/remotecontent?filepath=args4j/args4j/2.0.28/args4j-2.0.28.jar |
| Google Closure Compiler - http://github.com/google/closure-compiler/archive/v 20140625.zip |
| commons-io - http://archive.apache.org/dist/commons/io/binaries/commons-io-2.0.1.tar.gz |
| org.json = http://search.maven.org/remotecontent?filepath=org/codeartisans/org.json/20131017/org.json-20131017.jar |
| |
| |
| Using the Binary Distribution |
| ----------------------------- |
| |
| The binary distribution is intended to be installed into an existing |
| Apache FlexJS SDK. |
| |
| There is an Apache Ant script in the binary distribution that will copy the |
| files into the right places. |
| |
| To run it, use: |
| ant -f installer.xml -DFLEX_HOME=<path to FlexJS SDK |
| |
| The script does not check the FLEX_HOME environment variable as that often |
| points to your primary Flex SDK. |
| |
| If you expand the binary distribution into the "in" folder of an Apache |
| FlexJS SDK, the installer.xml script should find FLEX_HOME automatically. |
| |
| Another option is to use the InstallApacheFlex (version 3.0 or higher). |
| |
| Building the Source in the Source Distribution |
| ---------------------------------------------- |
| |
| When you have all the prerequisites in place and the environment variables |
| set (see Install Prerequisites above), use |
| |
| cd <falcon.dir> |
| ant all |
| |
| to download the thirdparty dependencies and build the source. Since the |
| third-party dependencies take a little while to download and they don't |
| change very often, they are not cleaned with the regular clean target. |
| |
| To clean the build, of everything other than the downloaded third-party |
| dependencies use |
| |
| ant clean-all |
| |
| To clean the build, of everything, including the downloaded third-party |
| dependencies use |
| |
| ant wipe-all (which is just thirdparty-clean followed by clean) |
| |
| To generate a source distribution package and a binary distribution package |
| use |
| |
| ant -Dbuild.number=<YYYYMMDD> -Dbuild.noprompt= release |
| |
| The packages can be found in the "out" subdirectory. |
| |
| To get a brief listing of all the targets type |
| |
| ant -projecthelp |
| |
| |
| Running Tests |
| --------------------- |
| |
| Before running unit-, functional- or feature-tests you need to create a unittest.properties file ( template is found here compiler.tests/template-unittest.properties ). |
| |
| |
| |
| Thanks for using Apache Flex. Enjoy! |
| |
| The Apache Flex Project |
| <http://flex.apache.org> |