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.
