| Apache Flex (Flex) |
| ================== |
| |
| Apache Flex is an application framework for easily building Flash-based applications |
| for mobile devices, the browser and desktop. |
| |
| For detailed information about Apache Flex please visit |
| http://incubator.apache.org/flex/ |
| |
| 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 |
| ========================================= |
| |
| You can always checkout the latest source via subversion using the following |
| command: |
| |
| svn co https://svn.apache.org/repos/asf/incubator/flex/trunk flex |
| |
| For further information visit http://incubator.apache.org/flex/source.html |
| |
| Building Apache Flex 4.8 |
| ======================== |
| |
| Apache Flex 4.8 is a parity release from Apache of Adobe Flex 4.6. |
| |
| 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. 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 |
| --------------------- |
| |
| Adobe Flex 4.6 was certified with AIR 3.1 and Flash Player 11.1. Adobe Flex 4.8 |
| will continue to use these. |
| |
| 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 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.5 (0_13 or greater) JAVA_HOME |
| or Java SDK 1.6 (*1) |
| -- Java SDK 1.7 is not supported |
| |
| Ant 1.7.0 or greater (*1) ANT_HOME |
| |
| Cygwin, git bash |
| or other unix-like shell |
| (if Windows) |
| |
| Adobe AIR Integration Kit (*2) AIR_HOME |
| |
| Adobe Flash Player Content Debugger (*3) FLASHPLAYER_DEBUGGER |
| |
| Adobe Pixel Bender Toolkit (*4) PIXELBENDER_HOME |
| |
| Adobe Flash Player (*5) PLAYERGLOBAL_HOME |
| |
| Adobe Extension Manager CS5 (*6) 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) The Adobe AIR integration kit for Windows can be downloaded from: |
| http://airdownload.adobe.com/air/win/download/3.1/AdobeAIRSDK.zip |
| |
| The Adobe AIR integration kit for Mac can be downloaded from: |
| http://airdownload.adobe.com/air/mac/download/3.1/AdobeAIRSDK.tbz2 |
| |
| Download the AIR SDK for your platform and unzip it. Set AIR_HOME to the absolute |
| path of the AIR SDK directory. |
| |
| *3) The Adobe Flash Player content debuggers can be found here: |
| http://www.adobe.com/support/flashplayer/downloads.html |
| |
| 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 set FLASHPLAYER_DEBUGGER to the absolute path of flashplayerdebugger |
| |
| *4) 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. |
| |
| *5) 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-version option controls which |
| PLAYERGLOBAL_HOME subdirectory is used. |
| |
| *6) The Adobe Extension Manager is only required for those creating release 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 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. |
| |
| 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 |
| frameworks/libs |
| |
| 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/> |
| |
| textLayout.swc |
| framework/libs |
| |
| Text Layout Format v2.0 used for text in Spark components |
| |
| This file is extracted from: |
| http://sourceforge.net/projects/tlf.adobe/files/2.0/232/textLayout_build.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 thirdparty 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 |
| |
| 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 thirdparty 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. |
| |
| 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://incubator.apache.org/flex/> |