| Apache Flex (Flex) |
| ================== |
| |
| Apache Flex is an application framework for easily building Flash-based applications |
| for mobile devices, the browser and desktop. |
| |
| Apache Flex 4.9 is a follow up release to Apache Flex 4.8 which was a parity release |
| of Adobe Flex 4.6. This version adds new features and implements bug fixes that were |
| unavailable in previous versions. It is compatible with most code written to target |
| Adobe Flex 4.6. |
| |
| For detailed information about Apache Flex please visit |
| http://flex.apache.org/ |
| |
| Apache Flex is a large project with many pieces. The framework is implemented |
| in ActionScript and the compiler is implemented in Java. |
| |
| Currently supported platforms include: |
| |
| Microsoft Windows |
| Mac OS X |
| Apple iOS |
| Google Android |
| RIM BlackBerry |
| |
| Apache Flex is the software evolution of the popular Adobe Flex SDK project. |
| |
| The community surrounding Flex is vast, diverse, distributed globally, and with all |
| levels of proficiency in software development. It is estimated that there are between |
| 350,000 and 500,000 Flex developers worldwide. |
| |
| Getting the latest sources via Subversion |
| ========================================= |
| |
| This is the recommended way to get Apache Flex. We offer an automated installer |
| along with binary distributions on our website at http://flex.apache.org/. |
| |
| You can always checkout the latest source via subversion using the following |
| command: |
| |
| svn co https://svn.apache.org/repos/asf/flex/trunk flex |
| |
| For further information visit http://flex.apache.org/source.html |
| |
| |
| Getting the convenience packages for Apache Flex |
| ================================================ |
| |
| The Apache Flex SDK Installer is an application that simplifies the download and |
| installation of the Apache Flex SDK and its (required) components. It is aimed at |
| anyone who wants to use the latest release of the Apache Flex SDK, but who might not |
| necessarily be familiar with the tools and procedures required to compile the Apache |
| Flex SDK from source code. The application will grab the binary distribution of the |
| SDK from apache.org or one of its mirrors, install it onto your computer and prepare |
| it for use with your favorite IDE such as Adobe Flash Builder or JetBrains IntelliJ. |
| |
| You can get the SDK Installer from the Apache Flex website at |
| |
| http://flex.apache.org/installer.html |
| |
| You can also get just the binaries from our website as well. These binaries do not |
| include the dependencies, so additional software may need to be downloaded and installed. |
| |
| http://flex.apache.org/download.html |
| |
| Building Apache Flex 4.9 |
| ======================== |
| |
| Apache Flex is a large project. It requires some build tools which must be installed |
| prior to building Flex and it depends on some external software which |
| are downloaded as part of the build process. Some of these have different licenses. |
| See the Software Dependencies section for more information on the external software |
| dependencies. |
| |
| From Apache's perspective, the Adobe Flash Player and Adobe AIR have excluded |
| licenses so they can not be bundled with the Apache Flex binaries. They must be |
| installed prior to building Apache Flex. |
| |
| Install Prerequisites |
| --------------------- |
| |
| Before building Flex you must install the following software and set the |
| corresponding environment variables using absolute file paths. Relative file paths |
| will result in build errors. |
| |
| The environment variables PLAYERGLOBAL_HOME, AIR_HOME, FLASHPLAYER_DEBUGGER, |
| PIXELBENDER_HOME and ADOBE_EXTENSION_MANAGER can also be set in the property file |
| called env.properties. See the env-template.properties file for instructions. |
| |
| The Adobe Flash Player playerglobal.swc is needed to compile all the components |
| with the exception of the airframework and airspark components which require |
| airglobal.swc from the AIR Integration Kit. The AIR Integration kit is also needed |
| to build and debug mobile applications. The Adobe Flash Player content debugger is |
| used by checkintests and other pieces of the test subsystem to run compiled |
| applications. The Adobe Pixel Bender Toolkit is needed to build some |
| files needed for effects. |
| |
| ================================================================================== |
| 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)) |
| |
| Cygwin, git bash |
| or other unix-like shell |
| (if Windows) |
| |
| Adobe AIR Integration Kit (*3) AIR_HOME |
| |
| Adobe Flash Player Content Debugger (*4) FLASHPLAYER_DEBUGGER |
| |
| Adobe Pixel Bender Toolkit (*5) PIXELBENDER_HOME |
| |
| Adobe Flash Player (*6) PLAYERGLOBAL_HOME |
| |
| Adobe Extension Manager CS5 (*7) ADOBE_EXTENSION_MANAGER |
| |
| ================================================================================== |
| |
| *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" |
| |
| *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 Adobe AIR integration kit for Windows can be downloaded from: |
| http://airdownload.adobe.com/air/win/download/3.5/AdobeAIRSDK.zip |
| |
| The Adobe AIR integration kit for Mac can be downloaded from: |
| http://airdownload.adobe.com/air/mac/download/3.5/AdobeAIRSDK.tbz2 |
| |
| This version of Apache Flex was certified for use with AIR 3.5, and should |
| be compatible with other versions of AIR newer than 3.1. However it hasn't |
| been tested on AIR 3.2, 3.3 or 3.6. |
| |
| Download the AIR SDK for your platform and unzip it. Set AIR_HOME to the absolute |
| path of the AIR SDK directory. |
| |
| *4) The Adobe Flash Player content debuggers can be found here: |
| http://www.adobe.com/support/flashplayer/downloads.html |
| |
| This version of Apache Flex was certified for use with Adobe Flash Player 11.1, and |
| is compatible with versions 10.2 through 11.5. It has been tested with versions 11.1 |
| and 11.5 on Windows and Mac. It has been compiled against other Adobe Flash Player |
| versions but has not been fully tested. |
| |
| On Windows, set FLASHPLAYER_DEBUGGER to the absolute path of 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 |
| |
| *5) The Adobe Pixel Bender Toolkit for Windows can be downloaded from: |
| http://www.adobe.com/go/pixelbender_toolkit_zip/ |
| |
| The Adobe Pixel Bender Toolkit for Mac can be downloaded from: |
| http://www.adobe.com/go/pixelbender_toolkit_dmg/ |
| |
| Download the Pixel Bender Toolkit for your platform and install or unzip it. |
| Set PIXELBENDER_HOME to the absolute path of the Pixel Bender Toolkit directory. |
| |
| *6) The Adobe Flash Player playerglobal.swc for 11.1 can be downloaded from: |
| http://fpdownload.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 Adode Flash Player playergloal.swc can be downloaded from: |
| http://fpdownload.macromedia.com/get/flashplayer/updaters/11/playerglobal11_2.swc |
| http://fpdownload.macromedia.com/get/flashplayer/updaters/11/playerglobal11_3.swc |
| http://fpdownload.macromedia.com/get/flashplayer/updaters/11/playerglobal11_4.swc |
| http://fpdownload.macromedia.com/get/flashplayer/updaters/11/playerglobal11_5.swc |
| |
| These can be used with Apache Flex but have not been fully tested. |
| |
| *7) The Adobe Extension Manager is only required for those creating releases or testing |
| changes to the flash-integration swc. Not that if you change APIs on classes |
| that flash-integration depends on, you may need to update flash-integration. |
| |
| The Adobe Extension Manager for Windows can be downloaded from: |
| http://download.macromedia.com/pub/dw_exchange/extension_manager/win/AdobeExtensionManager5All.zip |
| |
| The Adobe Extension Manager for Mac can be downloaded from: |
| http://download.macromedia.com/pub/dw_exchange/extension_manager/mac/AdobeExtensionManager5All.dmg |
| |
| On Windows, set ADOBE_EXTENSION_MANAGER to the absolute path of "Adobe Extension Manager CS5.exe" |
| |
| On the Mac, set ADOBE_EXTENSION_MANAGER to the absolute path of "Adobe Extension Manager CS5.app" |
| |
| FlashPlayer Configuration |
| ------------------------- |
| |
| For testing, the Adobe Flash Player's mm.cfg file must have the following entries |
| |
| ErrorReportingEnable=1 |
| TraceOutputFileEnable=1 |
| |
| and a FlashPlayerTrust file must allow local SWFs to access local files. |
| |
| Other Locale Support |
| -------------------- |
| |
| The Apache Flex SDK defaults to using the en_US locale and SDK error messages are by default |
| displayed in American English. |
| |
| To compile the SDK for another locale either: |
| |
| Change the locale in the build.properties file to have a value other than "en_US". For this new |
| locale to take effect the SDK needs to be recompiled. For example, to use the Australian English |
| locale change locale to have a value of "en_AU" like so: |
| |
| locale = en_AU |
| |
| OR |
| |
| Compile the SDK with a -Dlocale=<locale> option, where <locale> is the new locale to compile the |
| SDK against. |
| |
| The list of supported locales include: |
| da_DK el_GR en_GB fi_FI ja_JP nl_NL ru_RU zh_TW |
| de_CH en_AU en_US fr_FR ko_KR pt_BR sv_SE |
| de_DE en_CA es_ES it_IT nb_NO pt_PT zh_CN |
| |
| The Apache Flex SDK has only been tested for the en_US locale, however there is unlikely to be any |
| issues with a SDK compiled for another locales. |
| |
| Adobe Flash Player Version Support |
| ---------------------------------- |
| |
| The Apache Flex SDK defaults to using the Adobe Flash Player 11.1. The SDK can be |
| compiled for Flash Player versions 10.2, 10.3, 11.0, 11.0, 11.1, 11.2, 11.3, 11.4 and 11.5. |
| |
| To compile the SDK for another version of the Adobe Flash Player either: |
| |
| Change the playerglobal.version in the build.properties file to have a value other than "11.1". |
| For this change to take effect the SDK needs to be recompiled. For example to compile against the |
| lastest version of the Adobe Flash Player set the value of playerglobal.version to be "11.5" like so: |
| |
| playerglobal.version = 11.5 |
| |
| OR |
| |
| Compile the SDK with a -Dplayerglobal.version=<version> option, where <version> is the |
| Adobe Flash Player version to compile the SDK against. |
| |
| |
| Different versions of the Adobe Flash Player require different versions of playerglobal.swc. |
| |
| These can be found at: |
| |
| http://fpdownload.macromedia.com/get/flashplayer/installers/archive/playerglobal/playerglobal10_2.swc |
| http://fpdownload.macromedia.com/get/flashplayer/installers/archive/playerglobal/playerglobal10_3.swc |
| http://fpdownload.macromedia.com/get/flashplayer/updaters/11/playerglobal11_0.swc |
| http://fpdownload.macromedia.com/get/flashplayer/updaters/11/playerglobal11_1.swc |
| http://fpdownload.macromedia.com/get/flashplayer/updaters/11/playerglobal11_2.swc |
| http://fpdownload.macromedia.com/get/flashplayer/updaters/11/playerglobal11_3.swc |
| http://fpdownload.macromedia.com/get/flashplayer/updaters/11/playerglobal11_4.swc |
| http://fpdownload.macromedia.com/get/flashplayer/updaters/11/playerglobal11_5.swc |
| |
| Copy the target playerglobal.swc to the directory: |
| |
| frameworks/libs/player/<version>/playerglobal.swf |
| |
| Where <version> is the major and minor version numbers of the Adobe Flash Player |
| separated by a period or full stop. |
| |
| If all of the playerglobal swcs where installed the frameworks/libs/player directory |
| structure would look like this. |
| |
| /frameworks |
| /libs |
| /player |
| /10.2 |
| /playerglobal.swc |
| /10.3 |
| /playerglobal.swc |
| /11.0 |
| /playerglobal.swc |
| /11.2 |
| /playerglobal.swc |
| /11.2 |
| /playerglobal.swc |
| /11.3 |
| /playerglobal.swc |
| /11.4 |
| /playerglobal.swc |
| /11.5 |
| /playerglobal.swc |
| |
| Apache Flex has been tested with Adobe Flash Player 11.1 and 11.5 on Windows and Mac. |
| |
| It compiles against other Adobe Flash Player versions and is expected to work but they |
| may be some issues, particularly with the earlier 10.2 and 10.3 versions of the |
| Adobe Flash Player. |
| |
| Software Dependencies |
| --------------------- |
| |
| Apache Flex uses third-party code that will be downloaded as part of the Apache |
| Flex build. In addition, there is some optional third-party code that you can choose |
| to download if you would like to take advantage of the features offered and you agree |
| to the license terms. |
| |
| 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. |
| |
| batik - http://archive.apache.org/dist/xmlgraphics/batik/batik-1.6.zip |
| commons-collections - http://archive.apache.org/dist/commons/collections/binaries/commons-collections-3.0.tar.gz |
| commons-discovery - http://archive.apache.org/dist/commons/discovery/binaries/commons-discovery-0.2.tar.gz |
| commons-logging - http://archive.apache.org/dist/commons/logging/binaries/commons-logging-1.0.4.tar.gz |
| javacc - http://java.net/projects/javacc/downloads/download/javacc-5.0.tar.gz |
| saxon9 - http://sourceforge.net/projects/saxon/files/Saxon-B/9.1.0.8/saxonb9-1-0-8j.zip/download |
| velocity - http://archive.apache.org/dist/velocity/engine/1.4/velocity-1.4.tar.gz |
| xalan - http://archive.apache.org/dist/xml/xalan-j/binaries/xalan-j_2_6_0-bin.tar.gz |
| xerces - http://archive.apache.org/dist/xerces/j/Xerces-J-bin.2.9.1.zip |
| |
| The following dependencies have licenses which Apache considers to be reciprocal |
| licenses so you will be prompted to acknowledge the license before the software is |
| downloaded to your system. These files are installed in frameworks/libs. |
| |
| osmf.swc |
| |
| Open Source Media Framework v1.0 used for video components |
| |
| This file is extracted from: |
| http://sourceforge.net/projects/osmf.adobe/files/OSMF%201.0%20%28final%20source%2C%20ASDocs%2C%20PDF%20guides%2C%20and%20release%20notes%29/OSMF_1.0.zip/download |
| |
| This software is released under the Mozilla Public License Version 1.1: |
| <http://www.mozilla.org/MPL/> |
| |
| The following dependencies have licenses which Apache considers to be not compatible |
| with the Apache License Version 2.0. You will be prompted to read and agree to the |
| license terms of the dependency before the software can be downloaded to your system. |
| These are optional components which enable additional features. They are installed in |
| libs/external/optional. |
| |
| flex-messaging-common.jar |
| Provides integration with Adobe BlazeDs. |
| |
| This files are extracted from: |
| http://fpdownload.adobe.com/pub/flex/sdk/builds/flex4.6/flex_sdk_4.6.0.23201B.zip |
| |
| This software is released under an Adobe license: |
| <http://www.adobe.com/products/eulas/pdfs/adobe_flex_software_development_kit-combined-20110916_0930.pdf> |
| |
| flex-fontkit.jar |
| afe.jar, adt.jar |
| aglj40.jar |
| rideau.jar |
| Adobe proprietary software which provides embedded font support. |
| |
| These jars are extracted from: |
| http://fpdownload.adobe.com/pub/flex/sdk/builds/flex4.6/flex_sdk_4.6.0.23201B.zip |
| |
| This software is released under an Adobe license: |
| <http://www.adobe.com/products/eulas/pdfs/adobe_flex_software_development_kit-combined-20110916_0930.pdf> |
| |
| Using the Binary Distribution |
| ----------------------------- |
| |
| You must download the third-party dependencies. |
| |
| When you have all the prerequisites in place and the environment variables set, |
| (see Install Prerequisites above), use |
| |
| cd <flex.dir>/frameworks |
| ant thirdparty-downloads |
| |
| To use this SDK in a IDE like Flash Builder 4.6 or 4.7 the SDK needs several other files to be packaged |
| and integrated with the Apache Flex SDK. |
| |
| If you have an existing instalation of Flash Builder run: |
| |
| /ide/constructFlexForIDE.sh (on Mac) |
| /ide/constructFlexForIDE.bat (on Windows) |
| |
| This will create an Apache Flex 4.9 SDK that can be used with Flash Builder by copying the required files |
| from the Adobe Flex 4.6 SDK. |
| |
| To create an SDK for other IDE or if you want to use Adobe AIR 3.5 (rather than AIR 3.1 contained in |
| Adobe Flex 4.6) run: |
| |
| /ide/flashbuilder/makeApacheFlexForFlashbuilder.sh (on Mac) |
| /ide/flashbuilder/makeApacheFlexForFlashbuilder.bat (on Windows) |
| |
| This will create an Apache Flex 4.9 SDK that can be used by an IDE by downloading Adobe Flex 4.6 SDK and |
| Adobe AIR 3.5. |
| |
| Building the Framework in a Binary Distribution |
| ----------------------------------------------- |
| |
| The source for most of the framework is included in the binary distribution. |
| It can be useful if you wish to debug and/or extend components. |
| |
| When you have all the prerequisites in place and the environment variables set, |
| (see Install Prerequisites above), use |
| |
| cd <flex.dir>/frameworks |
| ant main (or just ant since the default target is main) |
| |
| to download the third-party dependencies and build the Flex framework. You may be |
| prompted to acknowledge some of the downloads. 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 |
| |
| To clean the build, of everything, including the downloaded third-party dependencies |
| use |
| |
| ant super-clean (which is just thirdparty-clean followed by clean) |
| |
| Building the Source in the Source Distribution |
| ---------------------------------------------- |
| |
| The source for both the Flex compiler and the Flex framework is included in the |
| source distribution. The compiler is in the modules directory and the framework |
| is in the frameworks directory. |
| |
| When you have all the prerequisites in place and the environment variables set |
| (see Install Prerequisites above), use |
| |
| cd <flex.dir> |
| ant main (or just ant since the default target is main) |
| |
| to download the thirdparty dependencies and build the source. You may be prompted |
| to acknowledge and/or confirm some of the downloads. 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. |
| |
| If you would like to build the RSLs, use |
| |
| ant frameworks-rsls |
| |
| To clean the build, of everything other than the downloaded third-party dependencies |
| use |
| |
| ant clean |
| |
| To clean the build, of everything, including the downloaded third-party dependencies |
| use |
| |
| ant super-clean (which is just thirdparty-clean followed by clean) |
| |
| To generate a source distribution package and a binary distribution package use |
| |
| ant -Dbuild.number=<last svn rev> -Dbuild.noprompt= release |
| |
| The packages can be found in the "out" subdirectory. |
| |
| To build the ASDoc package |
| |
| ant asdoc-package |
| |
| To get a brief listing of all the targets type |
| |
| ant -projecthelp |
| |
| |
| Thanks for using Apache Flex. |
| |
| The Apache Flex Project |
| <http://flex.apache.org> |