You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2015/06/18 19:57:30 UTC
[3/8] git commit: [flex-utilities] [refs/heads/develop] - move files
to top-level so the source package build find them in the same place as the
regular build
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/930ffc99/flex-installer/build.xml
----------------------------------------------------------------------
diff --git a/flex-installer/build.xml b/flex-installer/build.xml
new file mode 100644
index 0000000..777ee60
--- /dev/null
+++ b/flex-installer/build.xml
@@ -0,0 +1,689 @@
+<?xml version="1.0"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
+
+<project name="Installer" basedir="." default="build">
+
+ <!--load environment variables prefixed with env -->
+ <property environment="env"/>
+
+ <!--location of property file -->
+ <property file="${basedir}/local.properties" />
+ <condition property="CERT_PASSWORD_FILE" value="${CERT_PASSWORD_FILE_WIN}" >
+ <and>
+ <not>
+ <available file="${CERT_PASSWORD_FILE}" />
+ </not>
+ <available file="${CERT_PASSWORD_FILE_WIN}" />
+ </and>
+ </condition>
+ <condition property="CERT_PASSWORD_FILE" value="${CERT_PASSWORD_FILE_MAC}" >
+ <and>
+ <not>
+ <available file="${CERT_PASSWORD_FILE}" />
+ </not>
+ <available file="${CERT_PASSWORD_FILE_MAC}" />
+ </and>
+ </condition>
+ <condition property="RELEASE_KEYSTORE_FILE" value="${RELEASE_KEYSTORE_FILE_WIN}" >
+ <and>
+ <not>
+ <available file="${RELEASE_KEYSTORE_FILE}" />
+ </not>
+ <available file="${RELEASE_KEYSTORE_FILE_WIN}" />
+ </and>
+ </condition>
+ <condition property="RELEASE_KEYSTORE_FILE" value="${RELEASE_KEYSTORE_FILE_MAC}" >
+ <and>
+ <not>
+ <available file="${RELEASE_KEYSTORE_FILE}" />
+ </not>
+ <available file="${RELEASE_KEYSTORE_FILE_MAC}" />
+ </and>
+ </condition>
+
+ <property file="${basedir}/build.properties" description="Properties for Apache Flex SDK Installer project" />
+ <property file="${basedir}/build.number"/>
+ <property file="${CERT_PASSWORD_FILE}"/>
+
+ <property name="installer.version" value="${release.version}.${build.number}"/>
+ <property name="kit.prefix" value="apache-flex-sdk-installer-${installer.version}"/>
+ <property name="source.kit" value="${kit.prefix}-src"/>
+ <property name="binary.kit" value="${kit.prefix}-bin"/>
+ <property name="LOCAL_CONFIG_FILE" value="${basedir}/src/installer/sdk-installer-config-4.0.xml" />
+
+ <!--<property name="commons.zip" value="http://projects.yoolab.org/maven/content/repositories/releases/org/as3commons/as3commons-zip/1.0.0-alpha.1/as3commons-zip-1.0.0-alpha.1.swc" />-->
+ <!-- use this one for now until we find a better source -->
+ <property name="commons.zip" value="https://github.com/bigosmallm/MakeApacheFlexForFlashBuilder/blob/master/libs/as3commons-zip-1.0.0-alpha.1.swc?raw=true" />
+
+ <!--
+ Properties are immutable so value frozen first time property is set.
+ If FLEX_HOME is not set with -DFLEX_HOME=/path/to/flex/sdk on the ant command line
+ use the environment variable, if it exists. Else if windows, use FLEX_HOME_WIN
+ else use FLEX_HOME_MAC, which are both defined in build.properties.
+ -->
+ <condition property="FLEX_HOME" value="${env.FLEX_HOME}">
+ <isset property="env.FLEX_HOME" />
+ </condition>
+ <condition property="FLEX_HOME" value="${FLEX_HOME_WIN}">
+ <os family="windows"/>
+ </condition>
+ <condition property="FLEX_HOME" value="${FLEX_HOME_MAC}">
+ <os family="mac"/>
+ </condition>
+ <condition property="FLEX_HOME" value="${FLEX_HOME_LINUX}">
+ <os family="unix"/>
+ </condition>
+
+ <condition property="adl" value="adl.exe">
+ <os family="windows"/>
+ </condition>
+
+ <condition property="adl" value="adl">
+ <os family="mac"/>
+ </condition>
+
+ <condition property="runtime" value="win">
+ <os family="windows"/>
+ </condition>
+
+ <condition property="runtime" value="mac">
+ <os family="mac"/>
+ </condition>
+
+ <condition property="LOCAL_CONFIG_URL" value="file:///${LOCAL_CONFIG_FILE}">
+ <os family="windows"/>
+ </condition>
+ <property name="LOCAL_CONFIG_URL" value="file://${LOCAL_CONFIG_FILE}" />
+
+ <!--
+ Properties are immutable so value frozen first time property is set.
+ If AIR_HOME is not set on the command line with -DAIR_HOME=/path/to/air/sdk on the
+ ant command line use the environment variable, if it exists. Else if windows, use
+ AIR_HOME_WIN else use AIR_HOME_MAC, which are both defined in build.properties.
+ -->
+ <condition property="AIR_HOME" value="${env.AIR_HOME}">
+ <isset property="env.AIR_HOME" />
+ </condition>
+ <condition property="AIR_HOME" value="${AIR_HOME_WIN}">
+ <os family="windows"/>
+ </condition>
+ <condition property="AIR_HOME" value="${AIR_HOME_MAC}">
+ <os family="mac"/>
+ </condition>
+ <condition property="AIR_HOME" value="${AIR_HOME_LINUX}">
+ <os family="unix"/>
+ </condition>
+
+ <condition property="cert_pwd_not_found" >
+ <not>
+ <available file="${CERT_PASSWORD_FILE}"/>
+ </not>
+ </condition>
+
+ <condition property="KEYSTORE" value="${RELEASE_KEYSTORE_FILE}" >
+ <available file="${CERT_PASSWORD_FILE}"/>
+ </condition>
+
+ <condition property="KEYSTORE" value="temp.p12" >
+ <not>
+ <available file="${CERT_PASSWORD_FILE}"/>
+ </not>
+ </condition>
+
+ <condition property="CERT_PASSWORD" value="${TEMP_PASS_CHANGE_THIS}" >
+ <not>
+ <available file="${CERT_PASSWORD_FILE}"/>
+ </not>
+ </condition>
+
+ <!-- compilers -->
+ <property name="ADL" value="${AIR_HOME}/bin/adl"/>
+ <property name="ADT" value="${AIR_HOME}/lib/adt.jar"/>
+
+ <!-- additional tasks - mxmlc tag -->
+ <path id="flexTasks.path">
+ <fileset dir="${FLEX_HOME}">
+ <include name="lib/flexTasks.jar" />
+ <include name="ant/lib/flexTasks.jar" />
+ </fileset>
+ </path>
+ <taskdef resource="flexTasks.tasks" classpathref="flexTasks.path"/>
+
+ <!--
+ Optional jars but should be in place for a real release build.
+
+ For <rat> apache-rat-0.8.jar and apache-rat-tasks-0.8.jar should be in classpath.
+ See rat-report.
+ -->
+ <path id="anttask.classpath">
+ <fileset dir="${env.ANT_HOME}/lib">
+ <include name="**/apache-rat*.jar"/>
+ </fileset>
+ <fileset dir="${user.home}">
+ <include name=".ant/lib/**/apache-rat*.jar"/>
+ </fileset>
+ </path>
+
+ <!-- AIR package extension -->
+ <condition property="extension" value="exe">
+ <os family="windows" />
+ </condition>
+ <condition property="extension" value="dmg">
+ <os family="mac" />
+ </condition>
+ <condition property="extension" value="deb">
+ <os family="unix" />
+ </condition>
+
+ <target name="build" depends="init,certificate,compile,packagenative,cleanup"
+ description="Compiles and packages application"/>
+
+ <target name="release" depends="clean,build,source-package,rat-report,sign,copy-misc"
+ description="Build the application and package up the distros for release."/>
+
+ <target name="init" depends="clean,createDirs,update-version-in-xml-files"
+ description="Creates the deploy folders and sets app extension"/>
+
+ <target name="clean" description="Cleans up old files.">
+ <delete dir="${BUILD_DIR}" failOnError="false" includeEmptyDirs="true" />
+ <delete dir="${DEPS_DIR}" failOnError="false" includeEmptyDirs="true" />
+ <delete dir="${LIBRARY_DIR}" failOnError="false" includeEmptyDirs="true" />
+ <delete dir="${RELEASE_DIR}" failOnError="false" includeEmptyDirs="true" />
+ <delete file="${basedir}/rat.report" failOnError="false"/>
+ </target>
+
+ <target name="cleanup" description="Cleans up old files." unless="no.cleanup">
+ <delete dir="${BUILD_DIR}" failOnError="false" includeEmptyDirs="true" />
+ </target>
+
+ <target name="createDirs">
+ <echo>***************************************${line.separator}Execute the update-version target once,${line.separator}and only once, when you modifiy this app.${line.separator}This will increment the version number to allow${line.separator}the app to be updated by the AIR installer.${line.separator}***************************************
+ </echo>
+ <mkdir dir="${BUILD_DIR}"/>
+ <mkdir dir="${RELEASE_DIR}"/>
+ </target>
+
+ <!-- Make sure version, esp, build.number, in APP_NAME-app.xml is in sync. -->
+ <target name="update-version-in-xml-files" description="Update version in APP_NAME-app.xml.">
+ <echo message="version in ${APP_NAME}-app.xml will be ${installer.version}"/>
+ <replaceregexp byline="true">
+ <regexp pattern="<versionNumber>(\d+\.)?(\d+\.)?(\d+)</versionNumber>"/>
+ <substitution expression="<versionNumber>${installer.version}</versionNumber>"/>
+ <fileset dir="${SOURCE_DIR}">
+ <include name="${APP_NAME}-app.xml"/>
+ </fileset>
+ </replaceregexp>
+ <replaceregexp byline="true">
+ <regexp pattern="<latest>(\d+\.)?(\d+\.)?(\d+)</latest>"/>
+ <substitution expression="<latest>${installer.version}</latest>"/>
+ <fileset dir="${SOURCE_DIR}">
+ <include name="${APP_CONFIG_XML_NAME}.xml"/>
+ </fileset>
+ </replaceregexp>
+ </target>
+
+ <!--
+ Run this target once, and then rebuild, when you make a change to this app
+ so that the AIR Installer will allow the app to be updated. The build.number
+ property in the file build.property will be read and then incremented and the
+ nano version number in the <version> tag in InstallApacheFlex-app.xml will be
+ updated.
+ -->
+ <target name="update-version" description="Update the app version number so the installer will be updated.">
+ <tstamp>
+ <format property="touch.year" pattern="yyyy"/>
+ </tstamp>
+
+ <propertyfile file="build.number"
+ comment="Copyright ${touch.year} The Apache Software Foundation.">
+ <entry key="build.number" type="int" default="0" operation="+"/>
+ </propertyfile>
+
+ </target>
+
+ <target name="packagenative" depends="packageair"
+ description="Packages the AIR file from the build directory to create a native installer (exe/dmg) file">
+
+ <java jar="${ADT}" fork="true"
+ failonerror="true"
+ maxmemory="512m">
+ <arg value="-package"/>
+ <arg value="-target"/>
+ <arg value="native"/>
+ <arg value="${RELEASE_DIR}/${binary.kit}.${extension}"/>
+ <arg value="${BUILD_DIR}/${APP_NAME}.air"/>
+ </java>
+ </target>
+
+ <target name="check-as3commons.swc">
+ <available file="${LIBRARY_DIR}/as3commons-zip-1.0.0-alpha.1.swc" property="as3commons.swc.present"/>
+ </target>
+
+ <target name="get-as3commons.swc" depends="check-as3commons.swc" unless="as3commons.swc.present"
+ description="Download as3commons.swc and fail if checksum mismatch.">
+ <mkdir dir="${LIBRARY_DIR}"/>
+ <get src="${commons.zip}"
+ dest="${LIBRARY_DIR}/as3commons-zip-1.0.0-alpha.1.swc"
+ verbose="true"/>
+ <!-- skip checksum until we find a valid file
+ <get src="${commons.zip}.md5"
+ dest="${LIBRARY_DIR}/as3commons-zip-1.0.0-alpha.1.swc.md5"
+ verbose="true"/>
+ <checksum file="${LIBRARY_DIR}/as3commons-zip-1.0.0-alpha.1.swc" algorithm="md5" verifyProperty="isMD5ok"/>
+ <delete file="${LIBRARY_DIR}/as3commons-zip-1.0.0-alpha.1.swc.md5" failOnError="false"/>
+ <fail message="Checksum failure for ${LIBRARY_DIR}/as3commons-zip-1.0.0-alpha.1.swc">
+ <condition>
+ <isfalse value="${isMD5ok}"/>
+ </condition>
+ </fail>
+ -->
+ </target>
+
+ <target name="check-as3httpclient.swc">
+ <available file="${LIBRARY_DIR}/as3httpclient.swc" property="as3httpclient.swc.present"/>
+ </target>
+
+ <!-- This has a BSD license which is a reciprocal license with the Apache v2 license. -->
+ <target name="get-as3httpclient.swc" depends="check-as3httpclient.swc" unless="as3httpclient.swc.present"
+ description="Download as3httpclient.swc">
+ <mkdir dir="${LIBRARY_DIR}"/>
+ <mkdir dir="${LIBRARY_DIR}/temp"/>
+ <get src="https://github.com/gabriel/as3httpclient/archive/master.zip"
+ dest="${LIBRARY_DIR}/temp"
+ />
+ <unzip src="${LIBRARY_DIR}/temp/master.zip" dest="${LIBRARY_DIR}/temp"/>
+ <replace file="${LIBRARY_DIR}/temp/as3httpclient-master/build-swc.xml"
+ token="${flexlib}/libs/player/9/" value="${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/" />
+ <compc
+ output="${LIBRARY_DIR}/as3httpclient.swc">
+ <load-config filename="${LIBRARY_DIR}/temp/as3httpclient-master/build-swc.xml" />
+ </compc>
+ </target>
+
+ <target name="compile" depends="get-as3commons.swc, get-as3httpclient.swc"
+ description="Compiles the AIR application to a SWF file and places SWF in a temp directory to be packaged.">
+ <mxmlc file="${SOURCE_DIR}/${APP_NAME}.${APP_EXTENSION}"
+ output="${BUILD_DIR}/${APP_NAME}.swf"
+ static-rsls="true"
+ accessible="true"
+ configname="air"
+ debug="${DEBUG_FLAG}"
+ failonerror="true"
+ fork="true"
+ link-report="${BUILD_DIR}/${APP_NAME}.lnk.xml"
+ maxmemory="512m">
+ <source-path path-element="${SOURCE_DIR}"/>
+ <source-path path-element="${COMMON_SOURCE_DIR}"/>
+ <external-library-path file="${AIR_HOME}/frameworks/libs/air/airglobal.swc" append="true"/>
+ <library-path dir="${LIBRARY_DIR}" includes="*.swc" append="true"/>
+ <library-path dir="${ANT_ON_AIR_DIR}" includes="*.swc" append="true"/>
+ <library-path dir="${LIBRARY_DIR}/temp/as3httpclient-master/lib" includes="*.swc" append="true"/>
+ <define name="INSTALLER::releaseVersion" value="${release.version}"/>
+ <define name="INSTALLER::buildNumber" value="${build.number}"/>
+ </mxmlc>
+ </target>
+
+ <!-- Make sure to use the same certificate each time so we can update the app. -->
+ <target name="certificate" if="cert_pwd_not_found">
+ <antcall target="generate-certificate"/>
+ </target>
+
+ <target name="generate-certificate">
+ <echo message="Using cert ${KEYSTORE}" />
+ <java jar="${ADT}" fork="true"
+ failonerror="true">
+ <arg value="-certificate"/>
+ <arg value="-cn"/>
+ <arg value="${CERT_NAME}"/>
+ <arg value="-ou"/>
+ <arg value="${CERT_ORG_UNIT}"/>
+ <arg value="-o"/>
+ <arg value="${CERT_ORG_NAME}"/>
+ <arg value="-c"/>
+ <arg value="${CERT_COUNTRY}"/>
+ <arg value="${CERT_KEY_TYPE}"/>
+ <arg value="${KEYSTORE}"/>
+ <arg value="${CERT_PASSWORD}"/>
+ </java>
+ </target>
+
+ <target name="packageair"
+ description="Packages the build SWF file from a temp directory to create an AIR file">
+ <echo message="Using cert ${KEYSTORE}" />
+ <mkdir dir="${DEPS_DIR}/as3httpclientlib" />
+ <copy file="${LIBRARY_DIR}/temp/as3httpclient-master/License.txt"
+ tofile="${DEPS_DIR}/as3httpclientlib/License.txt" />
+ <mkdir dir="${DEPS_DIR}/as3corelib" />
+ <get src="https://raw.githubusercontent.com/mikechambers/as3corelib/master/README"
+ dest="${DEPS_DIR}/as3corelib"
+ />
+ <mkdir dir="${DEPS_DIR}/as3crypto" />
+ <get src="http://as3crypto.googlecode.com/svn/trunk/as3crypto/LICENSE.txt"
+ dest="${DEPS_DIR}/as3crypto"
+ />
+ <java jar="${ADT}" fork="true"
+ failonerror="true"
+ maxmemory="512m">
+ <arg value="-package"/>
+ <arg value="-storetype"/>
+ <arg value="${STORETYPE}"/>
+ <arg value="-keystore"/>
+ <arg value="${KEYSTORE}"/>
+ <arg value="-storepass"/>
+ <arg value="${CERT_PASSWORD}"/>
+ <arg value="${BUILD_DIR}/${APP_NAME}.air"/>
+ <arg value="${SOURCE_DIR}/${APP_NAME}-app.xml"/>
+ <arg value="${basedir}/NOTICE"/>
+ <arg value="${DEPS_DIR}"/>
+ <arg value="-C"/>
+ <arg value="${basedir}/binary_license"/>
+ <arg value="${basedir}/binary_license/LICENSE"/>
+ <arg value="-C"/>
+ <arg value="${BUILD_DIR}"/>
+ <arg value="${BUILD_DIR}/${APP_NAME}.swf"/>
+ <arg value="-C"/>
+ <arg value="${SOURCE_DIR}"/>
+ <arg value="${SOURCE_DIR}/${APP_CONFIG_XML_NAME}.xml"/>
+ <arg value="${ASSETS_DIR}"/>
+ </java>
+ </target>
+
+ <target name="copy-misc" description="Copy config files to release directory">
+ <copy file="${basedir}/README" tofile="${RELEASE_DIR}/READme"/>
+ </target>
+
+ <!--
+ Packages the source distribution with ZIP and TAR_GZIP.
+ The source file line endings match the package type.
+ -->
+ <target name="source-package" description="Package source files.">
+ <mkdir dir="${BUILD_DIR}/temp"/>
+ <copy todir="${BUILD_DIR}/temp/${COMMON_PROJECT_NAME}" includeEmptyDirs="false">
+ <fileset dir="${COMMON_PROJECT_DIR}">
+ <exclude name="*.p12"/>
+ <exclude name="*.password"/>
+ <exclude name="rat.report"/>
+ <exclude name="libs/**"/>
+ <exclude name="bin/**"/>
+ <exclude name="bin-debug/**"/>
+ <exclude name="release/**"/>
+ <exclude name=".settings/**"/>
+ <exclude name="**/.actionScriptProperties"/>
+ <exclude name="**/.flexProperties"/>
+ <exclude name="**/.flexLibProperties"/>
+ <exclude name="**/.project"/>
+ <exclude name="**/.idea/**"/>
+ </fileset>
+ </copy>
+
+ <copy todir="${BUILD_DIR}/temp/ant_on_air" includeEmptyDirs="false">
+ <fileset dir="${basedir}/../ant_on_air">
+ <include name="build.properties" />
+ <include name="build.xml" />
+ </fileset>
+ </copy>
+ <copy todir="${BUILD_DIR}/temp/ant_on_air/src" includeEmptyDirs="false">
+ <fileset dir="${basedir}/../ant_on_air/src">
+ </fileset>
+ </copy>
+ <copy todir="${BUILD_DIR}/temp/ant_on_air/locale" includeEmptyDirs="false">
+ <fileset dir="${basedir}/../ant_on_air/locale">
+ </fileset>
+ </copy>
+ <copy todir="${BUILD_DIR}/temp/ant_on_air/tests" includeEmptyDirs="false">
+ <fileset dir="${basedir}/../ant_on_air/tests">
+ <exclude name="*.swf" />
+ </fileset>
+ </copy>
+
+ <copy todir="${BUILD_DIR}/temp/${INSTALLER_PROJECT_NAME}" includeEmptyDirs="false">
+ <fileset dir="${basedir}">
+ <exclude name="*.p12"/>
+ <exclude name="*.password"/>
+ <exclude name="rat.report"/>
+ <exclude name="libs/**"/>
+ <exclude name="bin/**"/>
+ <exclude name="bin-debug/**"/>
+ <exclude name="build/**"/>
+ <exclude name="release/**"/>
+ <exclude name="rc/**"/>
+ <exclude name=".settings/**"/>
+ <exclude name="**/.actionScriptProperties"/>
+ <exclude name="**/.flexProperties"/>
+ <exclude name="**/.flexLibProperties"/>
+ <exclude name="**/.project"/>
+ <exclude name="**/.idea/**"/>
+ <exclude name="local.properties"/>
+ <!-- These are bumped up to the top-level release directory. -->
+ <exclude name="DISCLAIMER"/>
+ <exclude name="LICENSE"/>
+ <exclude name="NOTICE"/>
+ <exclude name="README"/>
+ <exclude name="RELEASE_GUIDE"/>
+ <exclude name="RELEASE_NOTES"/>
+ </fileset>
+ </copy>
+
+ <!-- Bump these up to the top-level release directory. -->
+ <copy todir="${BUILD_DIR}/temp" includeEmptyDirs="false">
+ <fileset dir="${basedir}">
+ <include name="DISCLAIMER"/>
+ <include name="LICENSE"/>
+ <include name="NOTICE"/>
+ <include name="README"/>
+ <include name="RELEASE_GUIDE"/>
+ <include name="RELEASE_NOTES"/>
+ </fileset>
+ </copy>
+
+ <fixcrlf srcdir="${BUILD_DIR}/temp" eol="crlf" encoding="UTF8" excludes="**/assets/**,**/*.ttf,**/*.png" fixlast="false"/>
+
+ <mkdir dir="${RELEASE_DIR}"/>
+ <zip destfile="${RELEASE_DIR}/${source.kit}.zip"
+ basedir="${BUILD_DIR}/temp"/>
+
+ <fixcrlf srcdir="${BUILD_DIR}/temp" eol="unix" encoding="UTF8" excludes="**/assets/**,**/*.ttf,**/*.png" fixlast="false"/>
+
+ <tar destfile="${RELEASE_DIR}/${source.kit}.tar.gz"
+ compression="gzip"
+ basedir="${BUILD_DIR}/temp"/>
+
+ <delete dir="${BUILD_DIR}/temp"/>
+ <delete dir="${BUILD_DIR}"/>
+ </target>
+
+ <!--
+ Packages the binary distribution with ZIP and TAR_GZIP.
+ -->
+ <target name="binary-package" description="Package binary files.">
+ <mkdir dir="${RELEASE_DIR}"/>
+
+ <zip destfile="${RELEASE_DIR}/${binary.kit}.zip">
+ <fileset dir="${basedir}/release">
+ <exclude name="**/*.zip"/>
+ <exclude name="**/*.tar*"/>
+ </fileset>
+ </zip>
+
+ <tar destfile="${RELEASE_DIR}/${binary.kit}.tar.gz" compression="gzip">
+ <zipfileset src="${RELEASE_DIR}/${binary.kit}.zip"/>
+ </tar>
+ </target>
+
+ <!--
+ Run the Apache Rat audit tool against the source in the source kit.
+ The report is written to rat.report.
+
+ You need to place apache-rat-tasks-0.8.jar and apache-rat-0.8.jar in the
+ anttask.classpath in order to do this. If the jar isn't found, the report
+ will not be generated.
+ -->
+ <target name="rat-report" depends="rat-taskdef" if="have.rattasks"
+ description="Report on licenses in source kit.">
+
+ <!-- Unzip the source kit -->
+ <unzip src="${RELEASE_DIR}/${source.kit}.zip" dest="${RELEASE_DIR}/temp"/>
+
+ <property name="rat.dir" value="${RELEASE_DIR}/temp"/>
+
+ <echo message="Checking files at ${rat.dir}, report is ${basedir}/rat.report"/>
+
+ <rat:report xmlns:rat="antlib:org.apache.rat.anttasks"
+ reportFile="${basedir}/rat.report">
+ <fileset dir="${rat.dir}">
+ <exclude name="**/Apache License Version 2.txt"/>
+ <!-- Start of source files -->
+ <!-- generated source files that don't have Apache v2 license header -->
+ <exclude name="**/build.number"/>
+ <exclude name="**/.actionScriptProperties"/>
+ <exclude name="**/.flexProperties"/>
+ <exclude name="**/.flexLibProperties"/>
+ <exclude name="**/.project"/>
+ <exclude name="**/.fxpProperties"/>
+ <exclude name="**/.settings/**"/>
+ <exclude name="**/.idea/**"/>
+ <exclude name="**/*.iml"/>
+ <!-- End of source files -->
+ <!-- Start of binary files -->
+ <!-- exclude media (png, ico) -->
+ <exclude name="**/*.ico"/>
+ <exclude name="**/*.png"/>
+ <!-- exclude fonts -->
+ <exclude name="**/*.ttf"/>
+ <!-- End of binary files -->
+ </fileset>
+ </rat:report>
+
+ <delete dir="${RELEASE_DIR}/temp" failOnError="false"/>
+ </target>
+
+ <target name="rat-taskdef" description="Rat taskdef">
+ <available property="have.rattasks"
+ resource="org/apache/rat/anttasks/antlib.xml"
+ classpathref="anttask.classpath"/>
+
+ <antcall target="have-rattasks"/>
+ <antcall target="no-rattasks"/>
+ </target>
+
+ <target name="have-rattasks" if="have.rattasks">
+ <typedef resource="org/apache/rat/anttasks/antlib.xml"
+ uri="antlib:org.apache.rat.anttasks"
+ classpathref="anttask.classpath"/>
+ </target>
+
+ <target name="no-rattasks" unless="have.rattasks">
+ <echo message="Rat report not generated."/>
+ <echo message="rat jars (apache-rat-*.jar, apache-rat-tasks-*.jar)"/>
+ <echo message="not found in anttask.classpath"/>
+ </target>
+
+ <target name="create-md5s" >
+ <checksum file="${RELEASE_DIR}/${source.kit}.zip" algorithm="md5" forceOverwrite="yes" />
+ <checksum file="${RELEASE_DIR}/${source.kit}.tar.gz" algorithm="md5" forceOverwrite="yes" />
+ <checksum file="${RELEASE_DIR}/${binary.kit}.${extension}" algorithm="md5" forceOverwrite="yes" />
+
+ </target>
+
+ <target name="sign" >
+ <exec executable="gpg">
+ <arg value="--armor" />
+ <arg value="--output" />
+ <arg value="${RELEASE_DIR}/${source.kit}.zip.asc" />
+ <arg value="--detach-sig" />
+ <arg value="${RELEASE_DIR}/${source.kit}.zip" />
+ </exec>
+
+ <exec executable="gpg">
+ <arg value="--armor" />
+ <arg value="--output" />
+ <arg value="${RELEASE_DIR}/${source.kit}.tar.gz.asc" />
+ <arg value="--detach-sig" />
+ <arg value="${RELEASE_DIR}/${source.kit}.tar.gz" />
+ </exec>
+
+ <exec executable="gpg">
+ <arg value="--armor" />
+ <arg value="--output" />
+ <arg value="${RELEASE_DIR}/${binary.kit}.${extension}.asc" />
+ <arg value="--detach-sig" />
+ <arg value="${RELEASE_DIR}/${binary.kit}.${extension}" />
+ </exec>
+ </target>
+
+ <target name="sign_exe" description="sign exe when on mac" >
+ <checksum file="${RELEASE_DIR}/${binary.kit}.exe" algorithm="md5" forceOverwrite="yes" />
+
+ <exec executable="gpg">
+ <arg value="--armor" />
+ <arg value="--output" />
+ <arg value="${RELEASE_DIR}/${binary.kit}.exe.asc" />
+ <arg value="--detach-sig" />
+ <arg value="${RELEASE_DIR}/${binary.kit}.exe" />
+ </exec>
+ </target>
+
+ <target name="sign_dmg" description="sign dmg when on win" >
+ <checksum file="${RELEASE_DIR}/${binary.kit}.dmg" algorithm="md5" forceOverwrite="yes" />
+
+ <exec executable="gpg">
+ <arg value="--armor" />
+ <arg value="--output" />
+ <arg value="${RELEASE_DIR}/${binary.kit}.dmg.asc" />
+ <arg value="--detach-sig" />
+ <arg value="${RELEASE_DIR}/${binary.kit}.dmg" />
+ </exec>
+ </target>
+
+ <target name="debug" >
+ <copy file="${SOURCE_DIR}/${APP_NAME}-app.xml" todir="${BUILD_DIR}" />
+ <mkdir dir="${BUILD_DIR}/installer" />
+ <exec executable="${AIR_HOME}/bin/${adl}" dir="${BUILD_DIR}" failonerror="true">
+ <arg value="-runtime" />
+ <arg value="${AIR_HOME}/runtimes/air/${runtime}" />
+ <arg value="${BUILD_DIR}/${APP_NAME}-app.xml" />
+ <arg value="--" />
+ <arg value="-config=${LOCAL_CONFIG_URL}" />
+ </exec>
+ </target>
+
+ <target name="debug-locale" >
+ <copy file="${SOURCE_DIR}/${APP_NAME}-app.xml" todir="${BUILD_DIR}" />
+ <mkdir dir="${BUILD_DIR}/installer" />
+ <exec executable="${AIR_HOME}/bin/${adl}" dir="${BUILD_DIR}" failonerror="true">
+ <arg value="-runtime" />
+ <arg value="${AIR_HOME}/runtimes/air/${runtime}" />
+ <arg value="${BUILD_DIR}/${APP_NAME}-app.xml" />
+ <arg value="--" />
+ <arg value="-config=${LOCAL_CONFIG_URL}" />
+ <arg value="-language=${TEST_LOCALE}" />
+ </exec>
+ </target>
+
+ <target name="debug-for-real" >
+ <copy file="${SOURCE_DIR}/${APP_NAME}-app.xml" todir="${BUILD_DIR}" />
+ <mkdir dir="${BUILD_DIR}/installer" />
+ <exec executable="${AIR_HOME}/bin/${adl}" dir="${BUILD_DIR}" failonerror="true">
+ <arg value="-runtime" />
+ <arg value="${AIR_HOME}/runtimes/air/${runtime}" />
+ <arg value="${BUILD_DIR}/${APP_NAME}-app.xml" />
+ </exec>
+ </target>
+</project>
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/930ffc99/flex-installer/installer/ApproveInstaller.xml
----------------------------------------------------------------------
diff --git a/flex-installer/installer/ApproveInstaller.xml b/flex-installer/installer/ApproveInstaller.xml
deleted file mode 100644
index eb3091f..0000000
--- a/flex-installer/installer/ApproveInstaller.xml
+++ /dev/null
@@ -1,367 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
--->
-
-<project name="ApproveApacheFlexInstaller" default="main" basedir=".">
-
-
- <!-- Required for OSX 10.6 / Snow Leopard Performance. -->
- <!-- Java 7 on Mac requires OSX 10.7.3 or higher and is 64-bit only -->
- <!-- local.d32 is set/used in build.properties so this needs to be done first. -->
- <condition property="local.d32" value="-d32">
- <and>
- <os family="windows"/>
- <equals arg1="${sun.arch.data.model}" arg2="64"/>
- <equals arg1="${os.arch}" arg2="x86_64"/>
- <equals arg1="${ant.java.version}" arg2="1.6"/>
- </and>
- </condition>
-
- <condition property="isMac" value="mac">
- <os family="mac" />
- </condition>
- <condition property="isWindows" value="windows">
- <os family="windows" />
- </condition>
- <condition property="isLinux" value="linux">
- <and>
- <os family="unix" />
- <not>
- <isset property="isMac" />
- </not>
- </and>
- </condition>
- <condition property="package.suffix" value="zip">
- <os family="windows" />
- </condition>
- <property name="package.suffix" value="tar.gz" />
-
- <property name="rat.report" value="${basedir}/rat-report.txt"/>
- <property name="apache.rat.jar" value="apache-rat-0.8.jar" />
- <property name="apache.rat.tasks.jar" value="apache-rat-tasks-0.8.jar" />
- <property name="apache.rat.url" value="http://people.apache.org/~aharui/rat" />
-
- <property name="mac.text.display" value="cat" />
- <property name="win.text.display" value="type" />
- <property name="linux.text.display" value="cat" />
-
- <property file="${basedir}/approveinstaller.properties"/>
- <property environment="env"/>
-
- <property name="build.target" value="main" />
-
- <condition property="do.copy.downloads" >
- <isset property="download.cache.dir" />
- </condition>
-
- <fail message="The ANT_HOME environment variable is not set."
- unless="env.ANT_HOME"/>
-
- <available file="${env.FLEX_HOME}"
- type="dir"
- property="FLEX_HOME" value="${env.FLEX_HOME}" />
-
- <fail message="The FLEX_HOME property is not set in environment or command-line."
- unless="FLEX_HOME"/>
-
- <available file="${env.AIR_HOME}"
- type="dir"
- property="AIR_HOME" value="${env.AIR_HOME}" />
-
- <fail message="The AIR_HOME property is not set in environment or command-line."
- unless="AIR_HOME"/>
-
- <available file="${env.ANT_HOME}/lib/${apache.rat.jar}"
- type="file"
- property="apache.rat.found"/>
- <available file="${env.ANT_HOME}/lib/${apache.rat.tasks.jar}"
- type="file"
- property="apache.rat.tasks.found"/>
-
- <fail message="The release version is not set. Specify -Drelease.version=<release version (e.g. 3.1, 3.2, etc)>"
- unless="release.version"/>
-
- <fail message="The release candidate number is not set. Specify -Drc=<rc number (e.g. 1, 2, 3, etc)>"
- unless="rc"/>
-
- <property name="package.url.path" value="https://dist.apache.org/repos/dist/dev/flex/installer/${release.version}/rc${rc}" />
- <property name="package.url.name" value="apache-flex-sdk-installer-${release.version}.0-src" />
-
- <condition property="zip.compressed">
- <equals arg1="zip" arg2="${package.suffix}" />
- </condition>
-
- <target name="display-text-mac" if="isMac">
- <echo>========================= Begin ${file} ==============================</echo>
- <exec executable="${mac.text.display}" >
- <arg value="${file}" />
- </exec>
- <echo>========================= End ${file} ==============================</echo>
- </target>
- <target name="display-text-win" if="isWindows">
- <pathconvert targetos="windows" property="winfile">
- <path path="${file}" />
- </pathconvert>
- <echo>========================= Begin ${winfile} ==============================</echo>
- <exec executable="cmd.exe" >
- <arg value="/c" />
- <arg value="${win.text.display}" />
- <arg value="${winfile}" />
- </exec>
- <echo>========================= End ${winfile} ==============================</echo>
- </target>
- <target name="display-text-linux" if="isLinux">
- <echo>========================= Begin ${file} ==============================</echo>
- <exec executable="${linux.text.display}" >
- <arg value="${file}" />
- </exec>
- <echo>========================= End ${file} ==============================</echo>
- </target>
-
- <target name="install-rat" depends="install-rat.jar,install-rat.tasks.jar" />
- <target name="install-rat.jar" unless="apache.rat.found">
- <get src="${apache.rat.url}/${apache.rat.jar}" dest="${env.ANT_HOME}/lib/${apache.rat.jar}" />
- </target>
- <target name="install-rat.tasks.jar" unless="apache.rat.tasks.found">
- <get src="${apache.rat.url}/${apache.rat.tasks.jar}" dest="${env.ANT_HOME}/lib/${apache.rat.tasks.jar}" />
- </target>
-
- <target name="rat-taskdef" description="Rat taskdef">
- <typedef resource="org/apache/rat/anttasks/antlib.xml"
- uri="antlib:org.apache.rat.anttasks"
- classpathref="anttask.classpath"/>
- </target>
-
- <target name="main" depends="install-rat,download,check-sigs,uncompress,rat-check,check-notices,build,approve" description="Perform required release approval steps">
- </target>
-
- <target name="main-no-download" depends="install-rat,check-sigs,uncompress,rat-check,check-notices,build,approve" description="Perform required release approval steps">
- </target>
-
- <target name="test" >
- <echo>${rat.report}.bin.txt</echo>
- <replaceregexp file="${rat.report}.bin.txt" match="..AL.*" replace="" byline="true"/>
- </target>
-
- <target name="display-text" >
- <antcall target="display-text-mac" />
- <antcall target="display-text-win" />
- <antcall target="display-text-linux" />
- </target>
-
- <target name="display-text-test" >
- <antcall target="display-text" >
- <param name="file" value="${basedir}/rat-report.txt" />
- </antcall>
- </target>
-
- <target name="download" description="download the release package">
- <get src="${package.url.path}/${package.url.name}.${package.suffix}"
- dest="${basedir}/${package.url.name}.${package.suffix}" />
- <get src="${package.url.path}/${package.url.name}.${package.suffix}.md5"
- dest="${basedir}/${package.url.name}.${package.suffix}.md5" />
- <get src="${package.url.path}/${package.url.name}.${package.suffix}.asc"
- dest="${basedir}/${package.url.name}.${package.suffix}.asc" />
- </target>
-
- <target name="check-sigs" description="check md5 and gpg sigs">
- <replace file="${basedir}/${package.url.name}.${package.suffix}.md5"
- token=" " />
- <checksum file="${basedir}/${package.url.name}.${package.suffix}" algorithm="md5" verifyproperty="md5.ok" />
- <condition property="MD5Invalid">
- <not>
- <equals arg1="${md5.ok}" arg2="true" />
- </not>
- </condition>
- <fail message="MD5 checksum did not match" if="MD5Invalid" />
- <exec executable="gpg" failonerror="true">
- <arg value="--verify" />
- <arg value="${basedir}/${package.url.name}.${package.suffix}.asc" />
- <arg value="${basedir}/${package.url.name}.${package.suffix}" />
- </exec>
- </target>
-
- <target name="uncompress" depends="pre-clean, untar-file, unzip-file" />
-
- <target name="pre-clean" description="remove old uncompressed package" >
- <delete dir="${basedir}/${package.url.name}" failonerror="false" />
- </target>
-
- <target name="untar-file" unless="zip.compressed" description="Untars zipFile">
- <untar src="${basedir}/${package.url.name}.${package.suffix}"
- dest="${basedir}/${package.url.name}" compression="gzip"/>
- </target>
-
- <target name="unzip-file" if="zip.compressed" description="Unzips zipFile">
- <unzip src="${basedir}/${package.url.name}.${package.suffix}"
- dest="${basedir}/${package.url.name}"/>
- </target>
-
- <target name="rat-check" >
-
- <echo message="Checking files at ${basedir}/${package.url.name}, report is ${rat.report}"/>
-
- <rat:report xmlns:rat="antlib:org.apache.rat.anttasks"
- reportFile="${rat.report}">
- <fileset dir="${basedir}/${package.url.name}">
- <!-- exclude media (png, gif, jpg, mp3, flv) -->
- <exclude name="**/*.png"/>
- <exclude name="**/*.gif"/>
- <exclude name="**/*.jpg"/>
- <exclude name="**/*.mp3"/>
- <exclude name="**/*.flv"/>
- <exclude name="installer/build.number"/>
- </fileset>
- </rat:report>
- <antcall target="display-text" >
- <param name="file" value="${rat.report}" />
- </antcall>
- <input
- message="Check that there are no unknown or unapproved licenses or archives. Is it ok?"
- validargs="y,n"
- defaultvalue="y"
- addproperty="rat.license.ok"/>
- <echo>filtering out AL files to make it easier to see binary files</echo>
- <copy file="${rat.report}" tofile="${rat.report}.bin.txt" />
- <replaceregexp file="${rat.report}.bin.txt" match="..AL.*" replace="" byline="true"/>
- <antcall target="display-text" >
- <param name="file" value="${rat.report}.bin.txt" />
- </antcall>
- <input
- message="Check that there are no unexpected binaries. Is it ok?"
- validargs="y,n"
- defaultvalue="n"
- addproperty="rat.binaries.ok"/>
- </target>
-
- <target name="check-notices" description="open each notice file for review, grep for a few things" >
- <fail message="README not in package">
- <condition>
- <not>
- <available file="${basedir}/${package.url.name}/README" />
- </not>
- </condition>
- </fail>
- <fail message="RELEASE_NOTES not in package">
- <condition>
- <not>
- <available file="${basedir}/${package.url.name}/RELEASE_NOTES" />
- </not>
- </condition>
- </fail>
- <fail message="NOTICE not in package">
- <condition>
- <not>
- <available file="${basedir}/${package.url.name}/NOTICE" />
- </not>
- </condition>
- </fail>
- <fail message="LICENSE not in package">
- <condition>
- <not>
- <available file="${basedir}/${package.url.name}/LICENSE" />
- </not>
- </condition>
- </fail>
- <antcall target="display-text" >
- <param name="file" value="${basedir}/${package.url.name}/README" />
- </antcall>
- <input
- message="Check the README for version numbers, spelling, grammar, accuracy. Is it ok?"
- validargs="y,n"
- defaultvalue="y"
- addproperty="readme.ok"/>
-
- <antcall target="display-text" >
- <param name="file" value="${basedir}/${package.url.name}/RELEASE_NOTES" />
- </antcall>
- <input
- message="Check the RELEASE_NOTES for copyright years, spelling, grammar, accuracy. Is it ok?"
- validargs="y,n"
- defaultvalue="y"
- addproperty="releasenotes.ok"/>
-
- <antcall target="display-text" >
- <param name="file" value="${basedir}/${package.url.name}/NOTICE" />
- </antcall>
- <input
- message="Check the NOTICE for required notices from third-parties. Is it ok?"
- validargs="y,n"
- defaultvalue="y"
- addproperty="notice.ok"/>
-
- <antcall target="display-text" >
- <param name="file" value="${basedir}/${package.url.name}/LICENSE" />
- </antcall>
- <input
- message="Check the LICENSE for the Apache License and third-party licenses. Is it ok?"
- validargs="y,n"
- defaultvalue="y"
- addproperty="license.ok"/>
- </target>
-
- <target name="build" depends="copy.downloads">
- <input
- message="The final step is to run the build and any tests the build script runs. This can take several minutes. Press y to start the build."
- validargs="y"
- defaultvalue="y" />
- <ant dir="${basedir}/${package.url.name}/ant_on_air" target="main" />
- <ant dir="${basedir}/${package.url.name}/installer" target="build" />
- </target>
-
- <target name="copy.downloads" if="${do.copy.downloads}" description="instead of actually downloading all of the dependencies, you can save lots of time by just copying from some other folder in some other SDK.">
- <echo>Copying downloads</echo>
- <copy todir="${basedir}/${package.url.name}/in" >
- <fileset dir="${download.cache.dir}" />
- </copy>
- </target>
-
- <target name="approve" >
- <condition property="vote" value="+1">
- <and>
- <equals arg1="${rat.license.ok}" arg2="y" />
- <equals arg1="${rat.binaries.ok}" arg2="y" />
- <equals arg1="${readme.ok}" arg2="y" />
- <equals arg1="${releasenotes.ok}" arg2="y" />
- <equals arg1="${notice.ok}" arg2="y" />
- <equals arg1="${license.ok}" arg2="y" />
- </and>
- </condition>
- <property name="vote" value="-1" />
- <echo>
-${vote}
-Package ${package.url.path}/${package.url.name}.${package.suffix}
-Java ${ant.java.version}
-OS: ${os.name} ${os.arch} ${os.version}
-Source kit signatures match: y
-Source kit builds: y
-README is ok: ${readme.ok}
-RELEASE_NOTES is ok: ${releasenotes.ok}
-NOTICE is ok: ${notice.ok}
-LICENSE is ok: ${license.ok}
-No unapproved licenses or archives: ${rat.license.ok}
-No unapproved binaries: ${rat.binaries.ok}
- </echo>
- <fail>
- <condition>
- <equals arg1="-1" arg2="${vote}"/>
- </condition>
- </fail>
- </target>
-</project>
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/930ffc99/flex-installer/installer/LICENSE
----------------------------------------------------------------------
diff --git a/flex-installer/installer/LICENSE b/flex-installer/installer/LICENSE
deleted file mode 100644
index 9590971..0000000
--- a/flex-installer/installer/LICENSE
+++ /dev/null
@@ -1,219 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-
-APACHE FLEX SUBCOMPONENTS:
-
-The Apache Flex Installer includes a number of subcomponents with
-separate copyright notices and license terms. Your use of the source
-code for the these subcomponents is subject to the terms and
-conditions of the following licenses.
-
-The Open-Sans font is available under Apache License 2.0. For details
-see common/src/assets/fonts/open-sans/
-
-The NativeApplicationUpdater is available under Apache License 2.0.
-For details see installer/src/com/riaspace/
-
-
-
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/930ffc99/flex-installer/installer/NOTICE
----------------------------------------------------------------------
diff --git a/flex-installer/installer/NOTICE b/flex-installer/installer/NOTICE
deleted file mode 100644
index 96d0eac..0000000
--- a/flex-installer/installer/NOTICE
+++ /dev/null
@@ -1,10 +0,0 @@
-Apache Flex
-Copyright [2012-2015] The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-The org.apache.flex.crypto.MD5Stream.as file was originally
-the com.adobe.crypto.MD5Stream.as file available on code.google.com
-and Copyright Adobe Systems Inc. It was almost completely
-re-written by inlining most functions to improve performance.
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/930ffc99/flex-installer/installer/README
----------------------------------------------------------------------
diff --git a/flex-installer/installer/README b/flex-installer/installer/README
deleted file mode 100644
index fdba7a0..0000000
--- a/flex-installer/installer/README
+++ /dev/null
@@ -1,204 +0,0 @@
-<!--
-
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements. See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License. You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
--->
-
-==========================================================================================
-Overview:
-==========================================================================================
-
-- The Apache Flex SDK Installer AIR application provides an easy installation of the
- Apache Flex SDK and all its dependencies. This will make it suitable for working with
- IDEs such as Adobe Flash Builder, FDT, IntelliJ IDEA, FlashDevelop, etc.
- When installing an Apache Flex SDK, the application downloads the following
- dependencies:
- - The AIR sdk (Windows vs. Mac) based on the current platform
- - Adobe Flash Player playerglobal.swc
- - SWFObject
- - Open Source Media Framework (OSMF)
-
- Optionally, the application will download these files if the user explicitly agrees to
- the licensing terms:
- - Adobe embedded font support
-
- Other release packages may download different dependencies.
-
-- The Apache Flex SDK Installer 3.0 and later supports the ability to install
- virtually anything that can be installed via an Apache Ant script. The list
- of choices to install are described in
- installer/src/installer/sdk-installer-config-4.0.xml and posted to
- http://flex.apache.org/installer/sdk-installer-config-4.0.xml. By default, the
- installer looks there to determine the list of choices. Once a selection is made,
- the installer then looks in the folder of the install package for a -config.xml file
- and if found, uses that to determine the set of licensing options that need to be
- accepted before installing. The installer then uncompresses the install package and
- looks for installer.xml and runs that script via an approximation of Apache Ant that
- has been written in ActionScript. If the -config.xml file is not found, the Installer
- assumes it is installing an older version of the Apache Flex SDK.
-
-- When installing an older version of the Apache Flex SDK, the installer
- determines the file names and urls of the downloaded files from
- installer/src/installer/sdk-installer-config-4.0.xml. When the dependencies file
- names or urls change in future, update the sdk-installer-config-4.0.xml to ensure
- that the application works correctly. For newer installs driven by Apache Ant
- scripts, the file names and urls are determined by the script itself.
-
-- The application uses http://flex.apache.org/single-mirror-url.cgi to determine
- the preferred mirror url to use to download the binary package. Newer installs
- that use Apache Ant scripts use their own logic to select dependencies from mirrors.
-
-- Once the binary package is downloaded, a MD5 hash is generated for it.
- This hash is compared with the hash from the Apache Flex SDK release site.
- If they match, we verify that the downloaded binary package is a valid Apache release and
- proceed to unzip the file.
-
-- If required, the Adobe AIR SDK will be downloaded and the relevant files are copied
- to the required locations.
-
-- If required, the Adobe Flash Player playerglobal.swc file and the config files
- are placed in the required locations.
-
-- Then the rest of the external dependencies and the optional files (if selected by user)
- are downloaded and copied into the appropriate locations.
-
-- If you experience problems with the install, please try again, but right-click
- and select "Verbose Logging" to add more information to the log.
-
-- From the 2.6 version, you can select the version of Adobe Flash Player and Adobe AIR SDK
- the installer downloads.
-
-- From the 2.5 version, by default, Apache Flex SDK Installer 2.5 downloads Adobe Flash
- Player 11.1 and Adobe AIR SDK 3.4.
- If you want to change it to any other supported combination, you save a copy of the
- config file found at: http://flex.apache.org/installer/sdk-installer-config-3.0.xml,
- modify the download urls to point to the required versions. Then run the app from
- command line mode with the optional command line parameter: -config=<path to config file>
-
-- If building the app for Linux, open InstallApacheFlex-app.xml and change the Adobe AIR
- namespace from http://ns.adobe.com/air/application/4.0 to
- http://ns.adobe.com/air/application/2.6 This is because AIR 2.6 is the latest available
- version on Linux.
-
-==========================================================================================
-How to build the installer using ANT (no Flash Builder or any other IDE required):
-==========================================================================================
-
-0. Make sure you have the right version of the Adobe AIR SDK. Apache Flex Installer
- 3.1 uses Adobe AIR SDK 4.0. If you want to use an older version of the AIR SDK,
- you will have to change the namespace in the following files:
- installer/src/InstallApacheFlex-app.xml
- ant_on_air/tests/AntOnAIR-app.xml.
-
-1. Unzip the source distribution. You should see the 'installer' directory and the
- 'common' and 'ant_on_air' directories in the root.
-
-2. In the ant_on_air directory, run:
- ant [-DFLEX_HOME=/path/to/apache/flex/sdk] [-DAIR_HOME=/path/to/air/sdk]
-
- FLEX_HOME is the absolute path to the Apache Flex SDK
- If you omit this argument, and the system environment variable, FLEX_HOME exists,
- it is used. Otherwise, the FLEX_HOME_MAC or FLEX_HOME_WIN property in
- installer/build.properties is used.
-
- AIR_HOME is the absolute path to the Adobe AIR SDK
- If you omit this argument, and the system environment variable, AIR_HOME exists,
- it is used. Otherwise, the AIR_HOME_MAC or AIR_HOME_WIN property in
- installer/build.properties is used.
-
-3. In the installer directory, run:
- ant build [-DFLEX_HOME=/path/to/apache/flex/sdk] [-DAIR_HOME=/path/to/air/sdk]
-
-4. The installer executable file created in the installer/release directory. If you are
- on Windows, you will see an .exe file; if you are on Mac OS, you will see a .dmg file.
- A temporary digital signing certificate - temp.p12 will be created in the installer
- directory as well. The password for this file is available in the build.properties
- file (var: TEMP_PASS_CHANGE_THIS)
-
-==========================================================================================
-How to set up the project for working with Adobe Flash Builder 4.7:
-==========================================================================================
-
-1. Unzip the source distribution. You should see the 'installer' directory and the
- 'common' and 'ant_on_air' directories in the root.
-
-2. In the installer directory run:
- ant get-as3commons.swc
- ant get-as3httpdclient.swc
- These step downloads the required libraries and saves it in the libs directory.
-
-3. If using Adobe Flash Builder, add a linked resource called:
- APACHE_FLEX_UTILITIES_ROOT
- and point it to the directory path where the 'installer' and 'common' directories are
- located.
-
-4. In the installer project, add ${APACHE_FLEX_UTILITIES_ROOT}/common/src as a source path.
-
-5. In the installer project, add ${APACHE_FLEX_UTILITIES_ROOT}/ant_on_air/src as a source path.
-
-6. In the installer project, add ${APACHE_FLEX_UTILITIES_ROOT}/ant_on_air/external as a source path.
-
-7. In the installer project, add ${APACHE_FLEX_UTILITIES_ROOT}/ant_on_air/locale/{locale} as a source path.
-
-==========================================================================================
-How to set up the project for working with JetBrains IDEA 12+
-==========================================================================================
-
-1. Setup a new project by either unzipping the downloaded source or grabbing the source from the version control.
-
-2. During the project setup, DO NOT search for modules or frameworks. We will set these up later.
-
-3. Setup a new module by going to the File -> New Module menu.
- Module Type : Flash
- Target Platform : Desktop
- Output Type : Application
- Create Sample App : Unchecked
- Create HTML Wrapper : Unchecked
-
- Create the new module, name it "installer" and chose the ${APACHE_FLEX_UTILITIES_ROOT}/installer directory
-
-4. After the module is created, go into the installer module settings (Right-Click -> Open Module Settings)
-
-5. Add the following Content Roots :
- flex-utilities\ant_on_air
- flex-utilities\common
-
-6. Mark the following directories as Sources : (some may already be marked as src)
- flex-utilities\ant_on_air\src
- flex-utilities\ant_on_air\external
- flex-utilities\common\src
- flex-utilities\installer\src
-
-7. Close the Settings dialog
-
-8. Open the Ant Build tab within IDEA.
- Add the flex-utilities\build.xml ANT build script.
-
-9. Run the get-as3commons.swc and get-as3httpdclient.swc ant target. This will download the required SWC to build the installer.
-
-10. Return to the module properties, and go to the dependencies tab. Make sure the following are listed :
- Flex SDK
- flex-utilities\installer\libs
- flex-utilities\installer\common\bin\common.swc
- flex-utilities\installer\ant_on_air\bin\ant_on_air.swc
- flex-utilities\ant_on_air\external\libs\as3commons-zip-1.0.0-alpha.1.swc
-
-11. Apply and close the dialog box.
-
-12. Update the flex-utilities\installer\build.properties to match your settings. In theory you should only
- have to update the FLEX_HOME_WIN or FLEX_HOME_MAC property to point to your SDK with AIR 4.0 overlaid.
-
-You should now be able to build and debug the installer.
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/930ffc99/flex-installer/installer/RELEASE_GUIDE
----------------------------------------------------------------------
diff --git a/flex-installer/installer/RELEASE_GUIDE b/flex-installer/installer/RELEASE_GUIDE
deleted file mode 100644
index a67db6f..0000000
--- a/flex-installer/installer/RELEASE_GUIDE
+++ /dev/null
@@ -1,53 +0,0 @@
-<!--
-
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements. See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License. You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
--->
-
-Steps to follow in preparation for a release of InstallApacheFlex
-
-1. Check out the code from https://git-wip-us.apache.org/repos/asf/flex-utilities.git
-
-2.a. If it is a major release,
- - bump up the "release.version" property in the build.properties file
- - reset the build.number property in the build.number file to 0
-
-2.b. If it is a minor release, run: ant update-version
-
-3. Create local.properties and add the following:
- - Modify the RELEASE_KEYSTORE_FILE and CERT_PASSWORD_FILE variables with the correct file paths
- (You need to obtain the installapacheflex_self.p12 file and its password from the previous
- release manager for InstallApacheFlex)
-
- WARNING WARNING WARNING
- Do not place the 2 certificate files anywhere in the installer directory or in a subdirectory under it.
- If you do so the certificate files will be packaged into the source release. That would be very bad.
-
-4. Run:
- ant release
-
-This step
- - downloads all the necessary files,
- - updates the version numbers in InstallApacheFlex-app.xml and sdk-installer-config-4.0.xml
- - creates the .exe or .dmg file depending on the OS you are working on
- - creates the source release files as a .zip file and a tar.gz file
- - signs the artifacts to create corresponding .asc and .md5 files (assumes that you have a pgp
- id and keypair set up and prompts for the passphrase)
-
-5. Upload all the files under the /release directory to the following directory before calling a VOTE.
- https://dist.apache.org/repos/dist/dev/flex/installer/{version}/{RCversion}/
-
-6. Check that your key is contained in https://dist.apache.org/repos/dist/release/flex/KEYS if not add it.
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/930ffc99/flex-installer/installer/RELEASE_NOTES
----------------------------------------------------------------------
diff --git a/flex-installer/installer/RELEASE_NOTES b/flex-installer/installer/RELEASE_NOTES
deleted file mode 100644
index 2e68b0c..0000000
--- a/flex-installer/installer/RELEASE_NOTES
+++ /dev/null
@@ -1,121 +0,0 @@
-<!--
-
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements. See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License. You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
--->
-
-Apache Flex
-Copyright 2015 The Apache Software Foundation
-
-Apache Flex SDK Installer 3.2
-
-Ant_On_AIR improvements:
-1. add en_AU locale.
-2. check free disk space.
-3. istrue and isfalse conditions
-4. workaround for Get task on SourceForge mirrors
-5. use flash.globalization.DateTimeFormatter to remove dependency on Flex SDK
-6. replacetoken and replacevalue tags
-7. fix failure message propagation from child ant scripts
-
-Installer Issues Resolved:
-FLEX-34394: some localization strings mention Adobe Flash Builder in the installer title
-FLEX-34392: Missing localization strings in the installer
-FLEX-34445: some errors in installer are missing info=
-FLEX-34591: Don't log FP and AIR versions for products that don't use them
-FLEX-34590: Don't assume installer.xml exists
-FLEX-34589: Set install XML file via command line option
-FLEX-34398: log not saved when installer close button clicked
-FLEX-34408: Installer log does't contain version of Flex SDK installed
-FLEX-34446: Common windows installer error
-FLEX-34605: Code formatting and cleanup
-FLEX-34606: Redundant variable
-FLEX-34393: installer should remember language
-FLEX-34310: Add button "back" to installer
-FLEX-34624: Additional Logging for installer
-FLEX-34425: Make MD5 change non fatal
-FLEX-34687: Error #1009 encountered when changing languages on License Screen
-
-Other Installer Improvements:
-1. Fine-tuned some Chinese Translations
-2. Added step/install override config option. Remove horizontal scrollbar on license list
-3. add user abort message to en_US
-4. make clear the version logged is the installer version
-5. no need to log error twice + stop RTE when no internet connection
-6. Russian translation
-7. Updated README in installer doc to include JetBrains IntelliJ IDEA instructions.
-8. dded ApacheURLLoader component that extends URLLoader. This new component is only different from URLLoader in that it looks for https connections and uses as3httpclient for these connections.
-
-
-Apache Flex SDK Installer 3.1
-1. Fixed bugs in ant_on_air library to support more checksums in installer scripts.
-2. Reports more information when an install fails or is aborted.
-3. Caching is now implemented in the ant scripts. This means that Apache Flex SDK
- 4.12.1 and earlier will not use the download cache and may install more slowly.
-4. Minor UI/usability improvements
-5. Installer log now saved to disk in installation directory
-
-Apache Flex SDK Installer 3.0
-1. Now uses external localized strings
-2. Added support for install scripts based on Apache Ant
-
-Apache Flex SDK Installer 2.7
-1. Added support for OSMF2.0 [http://blogs.adobe.com/osmf/2012/03/osmf-2-0-now-available.html]
- From Apache Flex 4.11.0 onwards, support for OSMF2.0 has been added.
-2. The osmf.swf RSL now gets generated by the Installer.
-
-Apache Flex SDK Installer 2.6
-Here is a list of significant issues that were fixed with this release:
-1. Able to select which version of AIR and Flash Player to use.
-
-Apache Flex SDK Installer 2.5
-
-Issues addressed in this release:
-Here is a list of significant issues that were fixed with this release:
-1. Enable Flex SDK download stats tracking
-2. https://issues.apache.org/jira/browse/FLEX-33426 (UI fix for license screen (show regular checkboxes))
-3. https://issues.apache.org/jira/browse/FLEX-33151 (Auto-update logic fix)
-4. French and Dutch language locale fixes.
-5. Added the SDK version number to be downloaded in the window title.
-6. https://issues.apache.org/jira/browse/FLEX-33202 (more issues).
-7. https://issues.apache.org/jira/browse/FLEX-33419 (added german language).
-
-
-Apache Flex SDK Installer 2.0
-1. If you have previously installed a release candidate (RC) version of
- Apache Flex SDK Installer, you need to uninstall it first.
- And then run the downloaded installer file.
-2. From Flex 4.9 onwards, the Text Layout Framework (TLF) is part of the Flex SDK.
- So the installer does not download it separately anymore.
-3. By default, Apache Flex SDK Installer 2.0 downloads Adobe Flash Player 11.1
- and Adobe AIR SDK 3.4. If you want to change it to any other supported
- combination, save a copy of the config file found at:
- http://incubator.apache.org/flex/sdk-installer-config-2.0.xml,
- modify the download urls to point to the required versions. Then run the app
- from command line mode with the optional command line parameter:
- -config=<path to config file>.
- The new urls will be used to download the required dependencies.
-
-Issues addressed in this release:
-Here is a list of significant issues that were fixed with this release:
-1. https://issues.apache.org/jira/browse/FLEX-33214 (Fix UI of license screen)
-2. https://issues.apache.org/jira/browse/FLEX-33122 (Enable language switching)
- Available languages: English(US), English(AU), English(GB), Español (ES),
- Français, Greek, Nederlands and Português
-
-Apache Flex Installer SDK 1.0
-
-1. If you have previously installed a pre-release version of Apache Flex SDK Installer, you need to uninstall it first. And then run the downloaded installer file.