| Apache Flex SDK Converter |
| ========================= |
| The Apache Flex SDK Converter tool is used to convert the Apache and Adobe |
| Flex SDKs and Air SDKs into Maven artifacts. Automatically creating the |
| Directories, pom-files, copying and moving the resources to the correct |
| destinations. |
| |
| These artifacts can be used in Maven builds using the Flexmojos plugin |
| (Starting with version 6.x). |
| |
| The Apache Flex SDK Converter comes with all the means to download, convert |
| and deploy a mavenized form of an Apache Flex SDK. |
| |
| The Converter does not simply copy all java libraries to the destination; it checks |
| if the given artifact has already been deployed to maven central or by deploying an |
| other FDK previously. For this check you do need an internet connection to do the |
| conversion, otherwise it will probably take forever. |
| |
| Internally it consists of 3 components: |
| - One Retriever |
| - DownloadRetriever: For downloading binary artifacts |
| - Four Converters |
| - One for producing the Apache Flex SDK artifacts |
| - One for producing the Adobe Flash artifacts |
| - One for producing the Adobe Air artifacts |
| - One for producing the Adobe Fontkit artifacts |
| - Two Deployers |
| - One using Aether with no requirement to Maven (Faster, but less configurable) |
| - One using a local Maven installation (A lot slower, but fully configurable) |
| |
| |
| |
| Getting the latest sources via git |
| ================================== |
| |
| Getting the source code is the recommended way to get the Apache Flex SDK |
| Converter. |
| |
| You can always checkout the latest source via git using the following |
| command: |
| |
| git clone https://git-wip-us.apache.org/repos/asf/flex-utilities.git flex-utilities |
| cd flex-utilities/flex-maven-tools/flex-sdk-converter |
| git checkout develop |
| |
| Building the Apache Flex SDK Converter |
| ====================================== |
| |
| The Apache Flex SDK Converter is a relatively simple project. It requires some |
| build tools which must be installed prior to building the compiler 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. |
| |
| Install Prerequisites |
| --------------------- |
| |
| Before building the Apache Flex Compiler 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.7 or greater but smaller than 12 (*1) JAVA_HOME |
| |
| Maven 3.1.0 or greater (*1) MAVEN_HOME |
| |
| ================================================================================== |
| |
| *1) The bin directories for MAVEN_HOME and JAVA_HOME should be added to your |
| PATH. |
| |
| On Windows, set PATH to |
| |
| PATH=%PATH%;%MAVEN_HOME%\bin;%JAVA_HOME%\bin |
| |
| On the Mac (bash), set PATH to |
| |
| export PATH="$PATH:$MAVEN_HOME/bin:$JAVA_HOME/bin" |
| |
| On Linux make sure you path include MAVEN_HOME and JAVA_HOME. |
| |
| Software Dependencies |
| --------------------- |
| |
| The Apache Flex SDK Converter 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 your maven local repository and |
| are included in the assembly jars. |
| |
| TODO: Add them all here ... |
| |
| Building the Source in the Source Distribution |
| ---------------------------------------------- |
| |
| The project is built with Apache Maven so for a reference to Maven commands |
| please have a look at the Maven documentation. |
| |
| When you have all the prerequisites in place and the environment variables |
| set (see Install Prerequisites above) use |
| |
| cd <flax-sdk-converter.dir> |
| mvn install |
| |
| to download the third-party dependencies and build the binary from the source. |
| |
| To clean the build, of everything other than the downloaded third-party |
| dependencies use |
| |
| mvn clean |
| |
| The packages can be found in the "target" subdirectories. |
| |
| The particularly interesting one is the Standalone Command Line Interface: |
| - cli/target/apache-flex-sdk-converter-1.0.0.jar |
| |
| |
| |
| Using the Apache Flex SDK Converter |
| =================================== |
| |
| The CLI (Command Line Interface) allows the Apache Flex SDK Converter |
| to be executed from the command-line. Assuming the Java executable is |
| available on the current systems path, it can be called using: |
| |
| cd <flex-sdk-converter.dir>/cli/target |
| java -jar apache-flex-sdk-converter-1.0.0.jar |
| |
| If executed without any command, it will output a list of commands and |
| available properties. |
| |
| In general it is able to perform 4 different commands: |
| |
| - help Prints a list of all commands and options available. |
| - list Lists all versions and platforms available for download |
| - download Downloads selected versions and assembles an FDK |
| - convert Converts a previously installed (using the installer) or |
| assembled (using download command) FDK into a mavenized form. |
| - deploy Uploads previously created maven artifacts to a remote repository. |
| |
| Some typical usage scenarios |
| ---------------------------- |
| |
| - Create a mavenized version of a previously installed FDK (Using the installer): |
| "... -fdkDir <FDK install dir> -mavenDir <maven local repo> convert" |
| |
| - Download and create an FDK (Flex 4.14.1 with playerglobal 17.0 and 16.0 |
| AIR SDK 17.0 for Windows and Mac and the fontkit libs): |
| "... -fdkDir <FDK target dir> -flexVersion 4.14.1 -flashVersions 17.0,16.0 \ |
| -airVersion 17.0 -platform WINDOWS,MAC -fontkit download" |
| |
| - Download and convert an FDK (FDK assembled in temp directory using Air for |
| current systems platform only): |
| "... -flexVersion 4.14.1 -flashVersions 17.0 -airVersion 17.0 -fontkit \ |
| -mavenDir <maven local repo> download convert" |
| |
| - Deploy a bunch of maven artifacts to a remote maven repository: |
| "... -mavenDir <dir with maven artifacts> -repoUrl <url> \ |
| -repoUsername <username> -repoPassword <pasword> deploy" |
| |
| - "The works": Download, Convert and Deploy using only temp directories: |
| "... -flexVersion 4.14.1 -flashVersions 17.0 -airVersion 17.0 -fontkit \ |
| -repoUrl <url> -repoUsername <username> -repoPassword <pasword> \ |
| download convert deploy" |
| |
| |
| Thanks for using Apache Flex. Enjoy! |
| |
| The Apache Flex Project |
| <http://flex.apache.org> |
| |
| |
| |
| |
| |
| ///////////////////////////////////////////////////////////////////////////////////////// |
| Some information (HOWTO) to go with the deployer artifacts |
| ///////////////////////////////////////////////////////////////////////////////////////// |
| |
| The deployers are separate modules. Currently two implementations exist. |
| 1. The Maven deployer (located in deployers/maven/target/maven-deployer-1.0.0-full.jar) |
| 2. The Aether deployer (located in deployers/aether/target/aether-deployer-1.0.0-full.jar) |
| |
| The Maven-Deployer expects Maven to be installed on your system and issues a set of |
| commandline commands in order to deploy the artifacts. This is the safest approach if you |
| haven any special settings that need to be handled in order to deploy the artifacts. |
| |
| The Aether-Deplyoer uses the Maven-Internal aether libraries to deploy the artifacts from |
| within the running JVM. This makes this approach a lot faster than the Maven-Deployer. |
| |
| ///////////////////////////////////////// |
| Usage for the Maven Deployer: |
| ///////////////////////////////////////// |
| |
| java -cp {home}/deployers/maven/target/maven-deployer-1.0.0-full.jar "directory" "repositoryId" "url" "mvn" |
| |
| The Maven-Deployer needs 4 ordered parameters separated by spaces: |
| 1- directory: The path to the directory to deploy. |
| 2- repositoryId: Server Id to map on the <id> under <server> section of settings.xml. |
| 3- url: URL where the artifacts will be deployed. |
| 4- mvn: The path to the mvn.bat / mvn.sh. |
| |
| ///////////////////////////////////////// |
| Usage for the Maven Deployer: |
| ///////////////////////////////////////// |
| |
| java -cp {home}/deployers/aether/target/maven-aether-1.0.0-full.jar "directory" "url" ["username" "password] |
| |
| The Aether-Deployer needs 2 ordered parameters separated by spaces: |
| 1- directory: The path to the directory to deploy. |
| 2- url: URL where the artifacts will be deployed. |
| Optionally you can provide the username and password that is used for deploying artifacts. |
| 3- username: The username needed to log-in to the remote repository. |
| 4- password: The password needed to log-in to the remote repository. |
| |
| |