| Apache FlexJS |
| ============= |
| |
| Apache FlexJS is a next-generation Flex SDK that has the goal of allowing |
| applications developed in MXML and ActionScript to not only run in the |
| Flash/AIR runtimes, but also to run natively in the browser without Flash, |
| on mobile devices as a PhoneGap/Cordova application, and in embedded JS |
| environments such as Chromium Embedded Framework. FlexJS has the potential |
| to allow your MXML and ActionScript code to run in even more places than |
| Flash currently does. |
| |
| For detailed information about Apache Flex please visit |
| https://cwiki.apache.org/confluence/display/FLEX/FlexJS |
| |
| For detailed information about Apache Flex please visit |
| http://flex.apache.org/ |
| |
| Getting the latest sources via git |
| ================================== |
| |
| Getting the source code is the recommended way to get Apache FlexJS. |
| 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-asjs.git flex-asjs |
| cd flex-asjs |
| git checkout develop |
| |
| Apache FlexJS also requires code from several other Apache Flex git |
| repositories. To get the latest sources via git, first follow the |
| instructions in ‘Install Prerequisites’, then from the flex-asjs |
| directory, run: |
| |
| ant all |
| |
| This will clone all of the upstream repositories, checkout the develop branches |
| then run the builds in those repositories in the correct order. |
| |
| Building Apache FlexJS |
| ====================== |
| |
| Apache FlexJS is a large project. It requires some build tools |
| which must be installed prior to building the SDK. |
| Some of these have different licenses. See the Software Dependencies section |
| for more information on the external software dependencies. |
| |
| 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 Apache FlexJS you must install the following software |
| and set the corresponding environment variables using absolute file paths. |
| Relative file paths will result in build errors. |
| |
| ================================================================================== |
| SOFTWARE ENVIRONMENT VARIABLE (absolute paths) |
| ================================================================================== |
| |
| Java SDK 1.6 or greater (*1) JAVA_HOME |
| (for Java 1.7 see note at (*2)) |
| |
| Ant 1.7.1 or greater (*1) ANT_HOME |
| (for Java 1.7 see note at (*2)) |
| |
| Google Closure Library (*3) GOOG_HOME |
| |
| Adobe Flash Player playerglobal swcs (*4) PLAYERGLOBAL_HOME |
| |
| Adobe AIR Integration Kit (*5) AIR_HOME |
| |
| Adobe Flash Player Content Debugger (*6) FLASHPLAYER_DEBUGGER |
| |
| Apache Flex 'Falcon' Compiler (*7) FALCON_HOME |
| |
| Apache Flex 'FalconJX' Compiler (*8) FALCONJX_HOME |
| |
| Apache Flex FlexUnit (*9) FLEXUNIT_HOME |
| |
| Apache Flex SDK or repository FLEX_HOME |
| |
| ================================================================================== |
| |
| *1) The bin directories for ANT_HOME and JAVA_HOME should be added to your |
| PATH. |
| |
| On Windows, set PATH to |
| |
| PATH=%PATH%;%ANT_HOME%\bin;%JAVA_HOME%\bin |
| |
| On the Mac (bash), set PATH to |
| |
| export PATH="$PATH:$ANT_HOME/bin:$JAVA_HOME/bin" |
| |
| On Linux make sure you path include ANT_HOME and JAVA_HOME. |
| |
| *2) If you are using Java SDK 1.7 or greater on a Mac you must use Ant 1.8 |
| or greater. If you use Java 1.7 with Ant 1.7, ant reports the java |
| version as 1.6 so the JVM args for the data model (-d32/-d64) will not |
| be set correctly and you will get compile errors. |
| |
| *3) The Google Closure Library can be downloaded or cloned from GitHub: |
| https://github.com/google/closure-library |
| |
| Set GOOG_HOME to the absolute path of the folder that contains the |
| third_party and closure sub-folders. |
| |
| *4) The Adobe Flash Player playerglobal.swc for 11.1 can be downloaded from: |
| http://download.macromedia.com/get/flashplayer/updaters/11/playerglobal11_1.swc |
| |
| Use URL above to download playerglobal11_1.swc. Create the directory, |
| player/11.1 and copy playerglobal11_1.swc to |
| player/11.1/playerglobal.swc. |
| |
| Set PLAYERGLOBAL_HOME to the absolute path of the player directory (not |
| including the version subdirectory). The target-player option controls |
| which PLAYERGLOBAL_HOME subdirectory is used. |
| |
| Other more recent versions of Adobe Flash Player playerglobal.swc can be |
| downloaded from: |
| http://download.macromedia.com/get/flashplayer/updaters/<version.major>/playerglobal<version.major>_<version.minor>.swc |
| |
| (e.g. http://download.macromedia.com/get/flashplayer/updaters/11/playerglobal11_1.swc) |
| |
| These can be used with Apache FlexJS but not all have not been fully |
| tested. |
| |
| |
| Copy the target playerglobal.swc to the directory: |
| |
| frameworks/libs/player/<version.major>.<version.minor>/playerglobal.swc |
| |
| *5) The Adobe AIR integration kit for Windows can be downloaded from: |
| |
| http://airdownload.adobe.com/air/win/download/16.0/AdobeAIRSDK.zip |
| |
| The Adobe AIR integration kit for Mac can be downloaded from: |
| |
| http://airdownload.adobe.com/air/mac/download/16.0/AdobeAIRSDK.tbz2 |
| |
| The Adobe AIR integration kit for Linux can be downloaded from: |
| |
| http://airdownload.adobe.com/air/lin/download/2.6/AdobeAIRSDK.tbz2 |
| |
| Download the AIR SDK for your platform and unzip it. Set AIR_HOME to the |
| absolute path of the AIR SDK directory. |
| |
| This version of Apache FlexJS was certified for use with Adobe AIR 16 |
| and is compatible with version 3.1 and up. |
| |
| *6) The Adobe Flash Player content debuggers can be found here: |
| |
| http://www.adobe.com/support/flashplayer/downloads.html |
| |
| This version of Apache FlexJS was certified for use with Adobe Flash |
| Player 11.1, and is compatible with version 10.2 and up. It has been tested |
| with versions 16.0 on Windows and Mac. It has been compiled, but not fully |
| tested, with other Adobe Flash Player versions. It has not been |
| fully tested on Linux. |
| |
| On Windows, set FLASHPLAYER_DEBUGGER to the absolute path including the |
| filename of the FlashPlayerDebugger.exe. Note the filename of flash player |
| debugger may be different, e.g. C:\MyPath\FlashPlayerDebugger.exe. |
| |
| On the Mac, set FLASHPLAYER_DEBUGGER to the absolute path of |
| 'Flash Player Debugger.app/Contents/MacOS/Flash Player Debugger' |
| |
| On Linux, set FLASHPLAYER_DEBUGGER to the absolute path of flashplayerdebugger. |
| |
| *7) Set FALCON_HOME to the root of its SDK. If you have cloned the flex-falcon |
| repository as a sibling of the flex-asjs repository, you don’t need to |
| set this variable, otherwise, set it as: |
| FALCON_HOME=<repo-path>/compiler |
| |
| Look at flex-falcon/README for instructions on how to build Falcon |
| |
| *8) Set FALCONJX_HOME to the root of its SDK. If you have cloned the flex-falcon |
| repository as a sibling of the flex-asjs repository, you don’t need to |
| set this variable, otherwise, set it as |
| FALCONJX_HOME=<repo-path>/compiler-jx |
| |
| Look at flex-falcon/README_JX for instructions on how to build FalconJX |
| |
| *9) Set FLEXUNIT_HOME to the root of a FlexUnit release or repo. If you |
| have cloned the flex-flexunit repository as a sibling of the flex-asjs |
| repository, you don’t need to set this variable. |
| Look at flex-flexunit/README for instructions on how to build FlexUnit |
| |
| Software Dependencies |
| --------------------- |
| |
| The Apache FlexJS framework depends on the Google Closure Library. |
| |
| Using the Binary Distribution |
| ----------------------------- |
| |
| The binary distribution requires the download and installation of the third-party |
| dependencies before it can be used. |
| |
| 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 |
| |
| Another option is to use the InstallApacheFlex (version 3.0 or higher). |
| |
| Other Ant targets, such as the examples target, expect certain environment |
| variables to be set as described earlier in this README. However, because |
| the installer copies various SDKs into an IDE compatible SDK, you can set |
| PLAYERGLOBAL_HOME to the absolute path of the distribution's |
| frameworks/libs/player folder, set FALCON_HOME to the SDK's root folder, |
| set FALCONJX_HOME to the SDK's js folder, and set GOOG_HOME to the SDK's |
| js/lib/google/closure-library folder. |
| |
| 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 <flex-asjs.dir> |
| ant main (or just ant since the default target is main) |
| |
| To clean the build, of everything other than the downloaded third-party |
| dependencies use |
| |
| ant 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 |
| |
| |
| Thanks for using Apache FlexJS. Enjoy! |
| |
| The Apache Flex Project |
| <http://flex.apache.org> |