Flex Sdk Save

Mirror of Apache Flex SDK

Project README

The Apache Flex SDK

The Apache Flex SDK is the evolution of the popular Adobe Flex SDK. The Apache Flex SDK is an application development framework for easily building Flash-based applications for mobile devices, web browsers, and desktop platforms. Currently supported platforms include:

Microsoft Windows
Mac OS X
Apple iOS
Google Android
RIM BlackBerry
(Linux)

Linux support is currently experimental and you may run into issues. The Apache Flex project would like to see a fully supported Linux release, but we need help from the community in order to do that. Please help out if you can.

For more information about the Apache Flex project, please visit:

http://flex.apache.org/

The Apache Flex SDK 4.16 is a follow up release to version 4.15. It is compatible with most code written for the original Adobe Flex 4.6 SDK.

Installing the Apache Flex SDK

The Apache Flex SDK Installer is an AIR 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 favourite IDE such as Adobe Flash Builder or JetBrains IntelliJ IDEA.

You can get the Apache Flex SDK Installer from the Apache Flex website at:

http://flex.apache.org/installer.html

Starting with the Apache Flex SDK 4.12, Linux users can install the binary distribution using ANT. More information about installing the binary package with ANT can be found on our wiki at:

https://cwiki.apache.org/confluence/display/FLEX/Installation+help#Installationhelp-Antinstaller

Building the Apache Flex SDK from source

The Apache Flex SDK is a large project. It requires build tools which must be installed on your system and it depends on some external software. The external software is downloaded as part of the build process.

There are two ways to get the SDK source.

  1. from a git repository
  2. from a source package distribution

The following steps are all you need for a fully functional SDK:

  • Prepare your system
    • install external software
    • set environment variables
  • Get the source code
  • Build the SDK
  • Prepare the SDK for use with an IDE
  • Optional steps:
    • Flash Player configuration
    • Other locale support

Prepare your system

Before building the Apache Flex SDK you must install the following software and set the corresponding environment variables. Make sure to use absolute paths, as relative paths will result in build errors.

The environment variables PLAYERGLOBAL_HOME, AIR_HOME, FLASHPLAYER_DEBUGGER, TLF_HOME, BLAZEDS_HOME and ADOBE_EXTENSION_MANAGER can also be set in a property file called env.properties. See the env-template.properties file for instructions.

The Adobe Flash Player and Adobe AIR have non Apache compatible licenses so they can not be bundled with the Apache Flex SDK and need to be installed separately.

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 and desktop applications. The Adobe Flash Player content debugger is used by the ant ‘checkintests’ target and other pieces of the test subsystem to run compiled applications.


SOFTWARE ENVIRONMENT VARIABLE

Java SDK 1.8 or greater (* 1) JAVA_HOME

Ant 1.8 or greater (* 1) ANT_HOME

Adobe AIR Integration Kit (* 2) AIR_HOME

Adobe Flash Player Content Debugger (* 3) FLASHPLAYER_DEBUGGER

Adobe Flash Player playerglobal swcs (* 4) PLAYERGLOBAL_HOME

Optional: Text Layout Framework (* 5) TLF_HOME

Optional: Adobe Extension Manager CS5 (* 6) ADOBE_EXTENSION_MANAGER

Optional: Flex Messaging Common (* 7) BLAZEDS_HOME

Java Cryptography Extensions (see note (*8))


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 your path includes ANT_HOME and JAVA_HOME.

The Adobe AIR integration kit for Windows can be downloaded from:

https://airdownload.adobe.com/air/win/download/32.0/AdobeAIRSDK.zip

The Adobe AIR integration kit for Mac can be downloaded from:

https://airdownload.adobe.com/air/mac/download/32.0/AdobeAIRSDK.dmg

The Adobe AIR integration kit for Linux is no longer available from Adobe.

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 the Apache Flex SDK was certified for use with Adobe AIR 16 and is compatible with version 3.1 and up. It has been fully tested on AIR 3.7, 4 and 16.

The Adobe Flash Player content debuggers can be found here:

- Windows: https://fpdownload.macromedia.com/pub/flashplayer/updaters/32/flashplayer_32_sa_debug.exe

- Mac: https://fpdownload.macromedia.com/pub/flashplayer/updaters/32/flashplayer_32_sa_debug.dmg

- Linux: https://fpdownload.macromedia.com/pub/flashplayer/updaters/32/flash_player_sa_linux_debug.x86_64.tar.gz

This version of the Apache Flex SDK 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 11.1, 11.7, 13.0 and 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.

The Adobe Flash Player playerglobal.swc for 32.0 can be downloaded from:

https://fpdownload.macromedia.com/get/flashplayer/updaters/32/playerglobal32_0.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.

Additional information about downloading and setting up this and/or other versions of the Adobe Flash Player can be found in the section 'Adobe Flash Player Version Support' below.

The build scripts assume that the root folder containing the source code for Apache Flex Text Layout Framework ('flex-tlf') is at the same level as the SDK root folder ('flex-sdk'). See 'Getting the source code', below. If this is not the case on your system, then you must set the TLF_HOME environment variable to point to your TLF root folder. If you are using a released artifact, the source should be included in the artifact, so setting TLF_HOME is not required.

The Adobe Extension Manager is only required for those creating releases or testing changes to the flash-integration SWC. Note that if you change APIs on classes that flash-integration depends on, you may need to update flash-integration.

On Windows, download the Adobe Extension Manager from:

http://download.macromedia.com/pub/dw_exchange/extension_manager/win/AdobeExtensionManager5All.zip

On Windows 10, download the Adobe Extension Manager CS6 from:

http://download.macromedia.com/pub/dw_exchange/extension_manager/win/AdobeExtensionManager6_0_8All.zip

and set ADOBE_EXTENSION_MANAGER to the absolute path of 'Adobe Extension Manager CS5.exe'

On Mac, download the Adobe Extension Manager from:

http://download.macromedia.com/pub/dw_exchange/extension_manager/mac/AdobeExtensionManager5All.dmg

and set ADOBE_EXTENSION_MANAGER to the absolute path of 'Adobe Extension Manager CS5.app/Contents/MacOS/Adobe Extension Manager CS5'

On Linux, no Adobe Extension Manager exists.

The build scripts assume that the root folder containing the source code for Apache Flex BlazeDS ('flex-blazeds') is at the same level as the SDK root folder ('flex-sdk'). See 'Getting the source code', below. If this is not the case on your system, then you must set the BLAZEDS_HOME environment variable to point to your BLAZEDS root folder. If you are using a released artifact, the source should be included in the artifact, so setting BLAZEDS_HOME is not required.

The Java Cryptography Extensions (JCE) Unlimited Strength jars are needed in order to download 3rd party software. Download and install this from Oracle which version you need will depend on your Java version and OS.

Get the source code

You can get the source directly from the source code repository (Apache Flex uses git for SCM).

Clone the latest source ('develop' branch) using the following commands:

git clone https://git-wip-us.apache.org/repos/asf/flex-sdk.git flex-sdk
cd flex-sdk
git checkout develop

The Apache Flex SDK also requires source code from the Apache Flex Text Layout Framework (TLF). To get the latest source for TLF ('develop' branch), use the following commands:

git clone https://git-wip-us.apache.org/repos/asf/flex-tlf.git flex-tlf
cd flex-tlf
git checkout develop

The Apache Flex SDK also requires source code from Apache Flex BlazeDS. To get the latest source for Apache Flex BlazeDS (‘master’ branch), use the following commands:

git clone https://git-wip-us.apache.org/repos/asf/flex-blazeds.git flex-blazeds
cd flex-blazeds

Another option to get the source is to download a released source package.

For further information visit:

http://flex.apache.org/download-source.html

Build the SDK

When you have all the prerequisites in place and the environment variables set, use these commands:

cd <flex-sdk>
ant main

to download the third party dependencies and build the source. You will 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

To generate a source distribution package and a binary distribution package, use:

ant -Dbuild.number=<YYYYMMDD> -Dbuild.noprompt= release

The packages can then be found in the \out directory.

To build the ASDoc package, use:

ant asdoc-package

To get a brief listing of all the targets, use:

ant -projecthelp

Prepare the SDK for use with an IDE

To create an SDK for Flash Builder or any other IDE, run:

cd <flex.dir>
ant frameworks-rsls
ant -f installer.xml

If you want to set the Flash Player and AIR versions to something other than their defaults, pass the versions to the ant script like so:

 ant -f installer.xml -Dflash.sdk.version=32.0 -Dair.sdk.version=32.0

On Mac/Linux the AIR and Flash Player version can be changed, after the SDK has been compiled, by running:

./ide/setFlashPlayerVersion.sh ./ 32.0
./ide/addAIRtoSDK.sh 32.0 ./

Using the Binary Distribution

In order to use the binary distribution of the SDK, follow the instructions in the 'Prepare the SDK for use with an IDE' section above.

Flash Player 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.

More information about these settings can be found here:

http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7c95.html

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= option, where is the new locale to compile the SDK against.

To compile all supported locales, which may take some time, use:

ant other.locales

The list of supported locales currently include: da_DK el_GR en_GB fi_FI it_IT nb_NO pt_PT zh_CN de_CH en_AU en_US fr_CH ja_JP nl_NL ru_RU zh_TW de_DE en_CA es_ES fr_FR ko_KR pt_BR sv_SE

The Apache Flex SDK has only been tested for the en_US locale. However, you are unlikely to run into any issues with a SDK compiled for another locale.

Adobe Flash Player Version Support

The Apache Flex SDK defaults to using the Adobe Flash Player 11.1. The SDK can be used with Flash Player versions 10.2 and up.

It is recommended that you update to the latest version of Adobe Flash Player. Newer versions of the Adobe Flash player address security vulnerabilities, fix bugs/issues, increase stability, and support new features.

To use the SDK for another version of the Adobe Flash Player either:

Change the flex-config.xml configuration file to specify another version of the Adobe Flash Player.

OR

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 latest version of the Adobe Flash Player, set the value of playerglobal.version to be '32.0' like so:

playerglobal.version = 32.0

OR

Compile the SDK with a -Dplayerglobal.version= option, where is the Adobe Flash Player version to compile the SDK against.

Different versions of the Adobe Flash Player require different versions of playerglobal.swc. However, Adobe has stopped providing all older versions of playerglobal.swc, and only version 32.0 is available now.

It can be found at:

https://fpdownload.macromedia.com/get/flashplayer/updaters/32/playerglobal32_0.swc

Copy the target playerglobal.swc to the directory:

frameworks/libs/player/<version.major>.<version.minor>/playerglobal.swc

On OSX, running the script:

./ide/checkAllPlayerGlobals.sh 

will download any new or missing player global swcs.

Software Dependencies

The Apache Flex SDK uses third-party code that will be downloaded as part of the build. In addition, you can choose to download optional third-party code if you would like to take advantage of the features offered, and you agree to the license terms.

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
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/binaries/Xerces-J-bin.2.9.1.zip

The following dependencies have licenses which Apache considers to be reciprocal licenses. These files are installed in lib/external frameworks/libs respectively.

saxon9 - http://sourceforge.net/projects/saxon/files/Saxon-B/9.1.0.8/saxonb9-1-0-8j.zip/download
osmf.swc (Open Source Media Framework v2.0; used for video components) - 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

saxon9 is released under the Mozilla Public License Version 1.0:
osmf.swc 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 incompatible 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.

adt.jar, afe.jar, aglj40.jar, flex-fontkit.jar and rideau.jar (provide 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

and are released under an Adobe license:

    http://www.adobe.com/products/eulas/pdfs/adobe_flex_software_development_kit-combined-20110916_0930.pdf

Thanks for using the Apache Flex SDK. Enjoy!

                                  The Apache Flex Project
                                  <http://flex.apache.org>
Open Source Agenda is not affiliated with "Flex Sdk" Project. README Source: apache/flex-sdk
Stars
337
Open Issues
5
Last Commit
3 weeks ago
Repository
License

Open Source Agenda Badge

Open Source Agenda Rating