blob: e275d31e2dabf12a7f44802c31ab4dbf7c88459a [file] [log] [blame]
<?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="sdk" default="main" basedir=".">
<property name="FLEX_HOME" location="${basedir}"/>
<!-- Required for OSX 10.6 / Snow Leopard Performance -->
<condition property="local.d32" value="-d32" >
<and>
<equals arg1="${sun.arch.data.model}" arg2="64"/>
<equals arg1="${os.arch}" arg2="x86_64"/>
<os family="mac"/>
</and>
</condition>
<property file="${FLEX_HOME}/local.properties"/>
<property file="${FLEX_HOME}/build.properties"/>
<property environment="env"/>
<property name="debug" value="true"/>
<property name="strict" value="true"/>
<property name="javac.src" value="1.5"/>
<property name="build.number" value="0"/>
<property name="target.player" value="11.1"/>
<property name="source.kit" value="apache-flex-sdk-4-incubating-src.zip"/>
<property name="binary.kit" value="apache-flex-sdk-4-incubating-bin.zip"/>
<property name="no.doc" value="false"/>
<!-- Paths to the debug standalone flashplayer. -->
<condition property="flash.player" value="${FLEX_HOME}/in/player/${target.player}/win/FlashPlayerDebugger.exe">
<os family="windows"/>
</condition>
<condition property="flash.player" value="${FLEX_HOME}/in/player/${target.player}/mac/Flash Player Debugger.app/Contents/MacOS/Flash Player Debugger">
<os family="mac"/>
</condition>
<condition property="flash.player" value="${FLEX_HOME}/in/player/${target.player}/lnx/flashplayerdebugger">
<os family="unix"/>
</condition>
<!-- Property for the platform. -->
<condition property="isMac" value="true">
<os family="mac"/>
</condition>
<condition property="isWindows">
<os family="windows" />
</condition>
<condition property="isLnx">
<and>
<os family="unix"/>
<not>
<os family="mac"/>
</not>
</and>
</condition>
<!-- Paths to the adl. -->
<condition property="adl" value="${basedir}/bin/adl.exe">
<os family="windows"/>
</condition>
<condition property="adl" value="${basedir}/bin/adl">
<os family="mac"/>
</condition>
<condition property="adl" value="${basedir}/bin/adl">
<os family="unix"/>
</condition>
<!--
Notes: If you're running the main target, then there is no need to call clean first.
Each of the main targets for the modules will call clean themselves before proceeding.
-->
<target name="main" depends="pre-build,modules,frameworks,sample-themes,post-build" description="Full build">
<tstamp>
<format property="build.datetime" pattern="MM/dd/yyyy hh:mm:ss aa" />
</tstamp>
<echo>ant main target completed on ${build.datetime}</echo>
</target>
<target name="dev" depends="modules-dev" description="Runs src.depend build for development"/>
<target name="release" depends="source-release,binary-release"
description="Creates source and binary kits for Apache Flex."/>
<target name="source-release" depends="clean,create-description,source-distro"
description="Packages the source release kit which is the official Apache release."/>
<target name="binary-release" depends="main,checkintests,asdoc,doc,other.locales,package,post-build"
description="Builds and packages the binary kit which is provided as a convenience."/>
<target name="package" depends="locale-package,binary-distro,additional-packages,javadoc"
description="Zips up various packages"/>
<target name="help">
<echo message="run ant -projecthelp to see the available targets"/>
</target>
<!--
To clean these you must call thirdparty-clean or super-clean to clean everything.
clean does not remove these since they don't change often and the downloads take time.
FixMe: fix inconsistency in target names
thirdparty-downloads is more explicit but downloads easier to remember
-->
<target name="thirdparty-downloads" depends="flashplayer-download" description="Downloads all the required thirdparty code.">
<ant dir="${basedir}/modules" target="downloads"/>
<ant dir="${basedir}/frameworks" target="thirdparty-downloads"/>
</target>
<target name="pre-build" depends="create-description,thirdparty-downloads" description="stuff that needs to be done before any builds" />
<!-- ToDo: automate setting the build number for non-dev builds. -->
<target name="create-description">
<echo file="${basedir}/flex-sdk-description.xml">&lt;?xml version="1.0"?&gt;
&lt;flex-sdk-description&gt;
&lt;name&gt;${release}&lt;/name&gt;
&lt;version&gt;${release.version}&lt;/version&gt;
&lt;build&gt;${build.number}&lt;/build&gt;
&lt;/flex-sdk-description&gt;
</echo>
</target>
<!--
Cleanup
-->
<target name="super-clean" depends="thirdparty-clean,clean" description="Cleans everything including thirdparty downloads."/>
<target name="thirdparty-clean" description="Removes all thirdparty downloads.">
<delete file="${flash.player}" failonerror="false"/>
<ant dir="${basedir}/modules" target="downloads-clean"/>
<ant dir="${basedir}/frameworks" target="thirdparty-clean"/>
</target>
<target name="clean" depends="modules-clean,frameworks-clean,package-clean,checkintests-clean" description="Full clean excluding thirdparty downloads">
<delete file="${basedir}/flex-sdk-description.xml" failonerror="false"/>
<!--delete file="${flash.player}" failonerror="false"/-->
<delete dir="${basedir}/lib/win" failonerror="false" includeEmptyDirs="true"/>
<delete dir="${basedir}/out" failonerror="false" includeEmptyDirs="true"/>
<delete dir="${basedir}/tempDoc" failonerror="false" includeEmptyDirs="true"/>
<ant dir="${basedir}/asdoc" target="clean" />
</target>
<target name="modules-clean">
<ant dir="${basedir}/modules" target="clean"/>
</target>
<target name="frameworks-clean">
<ant dir="${basedir}/frameworks" target="clean"/>
</target>
<target name="package-clean">
<delete dir="${basedir}/out" failonerror="false" includeEmptyDirs="true"/>
<antcall target="clean-temp"/>
</target>
<target name="checkintests-clean" depends="clean-dependencychecker">
<delete file="${basedir}/frameworks/tests/AIRExamples/AIRDemo.swf" failonerror="false"/>
<delete dir="${basedir}/frameworks/tests/airMobileBasicTests/bin-debug" failonerror="false"/>
<delete file="${basedir}/frameworks/tests/checkinapp/checkinapp.swf" failonerror="false"/>
<delete file="${basedir}/frameworks/tests/componentSmoke/componentSmoke2.swf" failonerror="false"/>
<delete file="${basedir}/frameworks/tests/spark/sparkTest.swf" failonerror="false"/>
<delete file="${basedir}/frameworks/tests/fxgCompile/fxgCompileTest.swf" failonerror="false"/>
<delete file="${basedir}/frameworks/tests/graphics/GraphicTags_checkin.swf" failonerror="false"/>
<delete file="${basedir}/frameworks/tests/basicTests/BasicTests.swf" failonerror="false"/>
<delete file="${basedir}/mustella/MustellaResultsParser.class" failonerror="false"/>
<!-- not currently in Apache Flex -->
<!--
<ant dir="${basedir}/frameworks/tests/layout" target="clean"/>
<ant dir="${basedir}/frameworks/tests/states" target="clean"/>
<ant dir="${basedir}/mustella" target="cleanmustellaswc"/>
-->
</target>
<target name="player-clean">
<delete dir="${basedir}/in/player" failonerror="false" includeEmptyDirs="true"/>
</target>
<!--
Build Java module JARs
-->
<target name="modules" description="Full build of all JARs">
<ant dir="${basedir}/modules"/>
</target>
<target name="modules-dev" description="Build src.depend JARs">
<ant dir="${basedir}/modules" target="dev"/>
</target>
<target name="antTasks" description="Full build of antTasks" unless="antTasks.compiled" >
<ant dir="${basedir}/modules/antTasks"/>
<property name="antTasks.compiled" value="true"/>
</target>
<target name="test" description="Build src.depend JARs">
<echo message="test basedir ${basedir}"/>
<ant antfile="${basedir}/modules/build.xml" target="test"/>
<ant antfile="${basedir}/frameworks/build.xml" target="test"/>
</target>
<!--
Build framework SWCs
-->
<target name="frameworks" description="Full build of all framework SWCs, including resource bundles and themes">
<ant dir="${basedir}/frameworks">
<property name="locale" value="en_US"/>
</ant>
</target>
<target name="framework-compile" description="Recompile framework.swc">
<ant dir="${basedir}/frameworks/projects/framework" target="compile">
<property name="locale" value="en_US"/>
</ant>
</target>
<target name="spark-compile" description="Recompile spark.swc">
<ant dir="${basedir}/frameworks/projects/spark" target="compile"/>
</target>
<target name="airframework-compile" description="Recompile airframework.swc">
<ant dir="${basedir}/frameworks/projects/airframework" target="compile"/>
</target>
<target name="airspark-compile" description="Recompile airspark.swc">
<ant dir="${basedir}/frameworks/projects/airspark" target="compile"/>
</target>
<target name="other.locales" description="Build resource SWCs for additional locales">
<ant dir="${basedir}/frameworks" target="other.locales"/>
</target>
<!-- Will only execute if -Dthemes=anyvalue is set -->
<target name="sample-themes" description="Build the sample themes" if="themes">
<ant dir="${basedir}/samples/themes/arcade" target="main" />
<ant dir="${basedir}/samples/themes/cobalt" target="main" />
<ant dir="${basedir}/samples/themes/graphite" target="main" />
<ant dir="${basedir}/samples/themes/zen" target="main" />
</target>
<target name="javadoc" description="Build javadoc for compiler oem interface">
<javadoc destdir="${basedir}/javadoc" useexternalfile="yes" maxmemory="128m">
<classpath>
<fileset dir="${basedir}/lib">
<include name="flex-compiler-oem.jar"/>
</fileset>
</classpath>
<fileset dir="${basedir}/modules/compiler/src/java/flex2/tools/oem">
<include name="*.java"/>
<exclude name="**/*.properties"/>
</fileset>
</javadoc>
<mkdir dir="${basedir}/out"/>
<zip destfile="${basedir}/out/compiler-api-javadocs.zip" basedir="${FLEX_HOME}/javadoc"/>
<delete dir="${basedir}/javadoc" failonerror="false" includeEmptyDirs="true"/>
</target>
<target name="post-build" depends="" description="Handle post-build activities" />
<target name="flashplayer-check">
<available file="${flash.player}" property="flash.player.present"/>
</target>
<target name="flashplayer-download" depends="flashplayer-mac-download,flashplayer-win-download,flashplayer-lnx-download" />
<!-- Mac: Debug Projector FlashPlayer 11.1 -->
<target name="flashplayer-mac-download" if="isMac" depends="flashplayer-check" unless="flash.player.present" description="Downloads Mac debug standalone player from the Adobe website">
<mkdir dir="${basedir}/in/player/${target.player}/mac"/>
<get src="http://fpdownload.macromedia.com/pub/flashplayer/updaters/11/flashplayer_11_sa_debug.app.zip"
dest="${basedir}/in/player/${target.player}/mac/flashplayer_11_sa_debug.app.zip"
verbose="false"/>
<unzip dest="${basedir}/in/player/${target.player}/mac" src="${basedir}/in/player/${target.player}/mac/flashplayer_11_sa_debug.app.zip" />
<chmod file="${basedir}/in/player/${target.player}/mac/Flash Player Debugger.app/Contents/MacOS/Flash Player Debugger" perm="777" />
</target>
<!-- Win: Debug Projector FlashPlayer 11.1 -->
<target name="flashplayer-win-download" if="isWindows" depends="flashplayer-check" unless="flash.player.present" description="Downloads Win debug standalone player from the Adobe website">
<mkdir dir="${basedir}/in/player/${target.player}/win"/>
<get src="http://fpdownload.macromedia.com/pub/flashplayer/updaters/11/flashplayer_11_sa_debug_32bit.exe"
dest="${basedir}/in/player/${target.player}/win/FlashPlayerDebugger.exe"
verbose="false"/>
</target>
<!-- Linux: Debug Projector FlashPlayer 11.1 -->
<target name="flashplayer-lnx-download" if="isLnx" depends="flashplayer-check" unless="flash.player.present" description="Downloads Win debug standalone player from the Adobe website">
<mkdir dir="${basedir}/in/player/${target.player}/lnx"/>
<get src="http://fpdownload.macromedia.com/pub/flashplayer/updaters/11/flashplayer_11_sa_debug.i386.tar.gz"
dest="${basedir}/in/player/${target.player}/lnx/flashplayerdebugger.tar.gz"
verbose="false"/>
</target>
<!--
Build ASDoc
-->
<target name="asdoc" description="asdoc">
<ant dir="${basedir}/asdoc" />
</target>
<!--
Build ZIPs:
Using the -Dno.air="true" switch will result in a zip file in the out directory called flex_sdk_4_sans_air.zip.
if this switch is left off, the zip will be called apache_flex_4_sdk.zip and will contain the AIR integration kit.
The package target will always include the AIK unless -Dno.air="true".
-->
<target name="additional-packages" depends="antTasks-package"/>
<!-- build machine built these targets -->
<!--
<target name="additional-packages"
depends="ja-locale-samples,antTasks-package,fcsh-package,air-installers"/>
-->
<!--
Package up the Apache Flex sources. Do not include empty directories.
FixMe: even if cleaned, this will package up unversioned files that happen
to be in the tree. Investigate an svn export.
-->
<target name="source-distro"
description="Package source files required to build in zip file">
<antcall target="clean-temp"/>
<!--
FixMe: do we want to continue doing these steps for source builds
or use the actual build.xml files that developers use?
-->
<!-- frameworks -->
<mkdir dir="${basedir}/temp"/>
<copy todir="${basedir}/temp" includeEmptyDirs="false">
<fileset dir="${basedir}">
<include name="build.*"/>
<include name="flex-sdk-description.xml"/>
<include name="KEYS"/>
<include name="CHANGES"/>
<include name="LICENSE"/>
<include name="NOTICE"/>
<include name="README"/>
<include name="RELEASE_NOTES"/>
<include name="setup.sh"/>
<include name="bin/*.bat"/>
<include name="bin/*.sh"/>
<include name="asdocs/**"/>
<include name="frameworks/**"/>
<exclude name="frameworks/automation*/**"/>
<exclude name="frameworks/libs/**"/>
<exclude name="frameworks/test*/**"/>
<include name="modules/**"/>
<exclude name="modules/*/test/**"/>
<exclude name="modules/antTasks/**"/>
<include name="templates/swfobject/**"/>
<exclude name="lib/**"/>
<exclude name="modules/thirdparty/*/merged/**"/>
<exclude name="out/**"/>
</fileset>
</copy>
<!-- FixMe:
either add this stuff in or just change the config files
does it have to be done in source-distro and binary-distro
-->
<!--antcall target="fix-config-files"/-->
<!-- FixMe:
Use this or the build.xml files in the directories?
If this then don't copy build.xml files to temp area
-->
<!--copy file="${basedir}/frameworks/build_framework.xml" tofile="${basedir}/temp/frameworks/build.xml"/-->
<!-- ant -->
<copy file="${basedir}/modules/antTasks/build.xml-distro"
tofile="${basedir}/temp/ant/build.xml"/>
<copy file="${basedir}/modules/antTasks/flexTasks.tasks"
todir="${basedir}/temp/ant"/>
<!-- FixMe: README files were excluded from initial modules donation -->
<!--copy file="${basedir}/modules/antTasks/README.txt"
tofile="${basedir}/temp/ant/README.txt"/-->
<copy todir="${basedir}/temp/ant/src">
<fileset dir="${basedir}/modules/antTasks/src/"
includes="flex/**/*.java"
excludes="flex/ant/AscTasks.java"/>
</copy>
<chmod dir="${basedir}/temp" perm="755" includes="bin/*, **/*.bat, **/*.sh, **/*.linux" />
<mkdir dir="${basedir}/out"/>
<zip destfile="${basedir}/out/${source.kit}" basedir="${basedir}/temp"/>
<antcall target="clean-temp"/>
</target>
<!--
NOTE:
FlashBuilder needs to find these files in order to consider a directory structure
a valid Flex SDK:
frameworks/flex-config.xml
frameworks/mxml–manifest.xml
flex-sdk-description.xml or Version.as with version >= 3.
lib/mxmlc.jar
-->
<target name="binary-distro" description="Package binary files in zip file.">
<antcall target="clean-temp"/>
<!-- also makes parent ${basedir}/temp -->
<mkdir dir="${basedir}/temp/licenses"/>
<copy file="${basedir}/AIR SDK license.pdf"
tofile="${basedir}/temp/licenses/Adobe AIR SDK license.pdf"/>
<copy todir="${basedir}/temp">
<fileset dir="${basedir}">
<include name="flex-sdk-description.xml"/>
<include name="KEYS"/>
<include name="CHANGES"/>
<include name="LICENSE"/>
<include name="NOTICE"/>
<include name="README"/>
<include name="RELEASE_NOTES"/>
</fileset>
</copy>
<!-- concat the license file with the binary license file for the 3rd party deps -->
<concat destfile="${basedir}/temp/LICENSE">
<filelist dir="${FLEX_HOME}" files="LICENSE,LICENSE.bin"/>
</concat>
<!-- ant -->
<copy file="${basedir}/modules/antTasks/flexTasks.tasks"
todir="${basedir}/temp/ant"/>
<!-- FixMe: README files were excluded from initial modules donation -->
<!--copy file="${basedir}/modules/antTasks/README.txt"
tofile="${basedir}/temp/ant/README.txt"/-->
<copy todir="${basedir}/temp/ant/lib">
<fileset dir="${basedir}/lib" includes="flexTasks.jar"/>
</copy>
<!-- asdoc -->
<copy todir="${basedir}/temp/asdoc">
<fileset dir="${basedir}/asdoc-output"/>
</copy>
<!-- bin -->
<copy todir="${basedir}/temp/bin">
<fileset dir="${basedir}/bin">
<include name="acompc"/>
<include name="acompc.bat"/>
<include name="amxmlc"/>
<include name="amxmlc.bat"/>
<include name="asdoc"/>
<include name="asdoc.bat"/>
<include name="aasdoc"/>
<include name="aasdoc.bat"/>
<include name="compc"/>
<include name="compc.bat"/>
<include name="copylocale"/>
<include name="copylocale.bat"/>
<include name="digest"/>
<include name="digest.bat"/>
<include name="fcsh"/>
<include name="fcsh.bat"/>
<include name="fdb"/>
<include name="fdb.bat"/>
<include name="jvm.config"/>
<include name="mxmlc"/>
<include name="mxmlc.bat"/>
<include name="optimizer"/>
<include name="optimizer.bat"/>
<include name="swcdepends"/>
<include name="swcdepends.bat"/>
<include name="swfdump"/>
<include name="swfdump.bat"/>
</fileset>
</copy>
<mkdir dir="${basedir}/temp/bin"/>
<fixcrlf eol="unix" srcdir="${basedir}/temp/bin" includes="acompc,amxmlc,asdoc,compc,copylocale,fdb,mxmlc,fcsh,optimizer,digest,fontswf"/>
<!-- frameworks/javascript -->
<!-- not currently in Apache Flex -->
<!--
<copy todir="${basedir}/temp/frameworks/javascript/fabridge">
<fileset dir="${basedir}/frameworks/javascript/FABridge">
<exclude name="build.*"/>
<exclude name="readme.txt"/>
</fileset>
</copy>
-->
<!-- frameworks/libs -->
<copy todir="${basedir}/temp/frameworks/libs">
<fileset dir="${basedir}/frameworks/libs">
<include name="air/airframework.swc"/>
<include name="air/airspark.swc"/>
<include name="mobile/mobilecomponents.swc"/>
<include name="core.swc"/>
<include name="spark.swc"/>
<include name="framework.swc"/>
<include name="mx/mx.swc"/>
<include name="flash-integration.swc"/>
<include name="osmf.swc"/>
<include name="rpc.swc"/>
<include name="sparkskins.swc"/>
<include name="textLayout.swc"/>
<include name="authoringsupport.swc"/>
<include name="charts.swc"/>
<include name="advancedgrids.swc"/>
<include name="spark_dmv.swc"/>
<include name="player/${target.player}/playerglobal.swc"/>
<include name="player/11.1/playerglobal.swc"/>
</fileset>
</copy>
<!-- automation swcs -->
<!-- not currently in Apache Flex (formerly qtp and qtp_air) -->
<!--
<copy todir="${basedir}/temp/frameworks/libs/automation">
<fileset dir="${basedir}/frameworks/libs">
<include name="automation_agent.swc"/>
<include name="tool.swc"/>
<include name="tool_air.swc"/>
</fileset>
</copy>
<copy todir="${basedir}/temp/frameworks/libs/automation">
<fileset dir="${basedir}/frameworks/libs/automation">
<include name="automation.swc"/>
<include name="automation_air.swc"/>
<include name="automation_dmv.swc"/>
<include name="automation_flashflexkit.swc"/>
<include name="automation_spark.swc"/>
<include name="automation_airspark.swc"/>
</fileset>
</copy>
-->
<!-- frameworks/locale -->
<copy todir="${basedir}/temp/frameworks/locale">
<fileset dir="${basedir}/frameworks/locale">
<include name="**/*.swc"/>
<include name="**/metadata.properties"/>
</fileset>
</copy>
<!-- frameworks/projects -->
<copy todir="${basedir}/temp/frameworks">
<fileset dir="${basedir}/frameworks">
<include name="air-config.xml"/>
<include name="airmobile-config.xml"/>
<include name="flex-config.xml"/>
<include name="mxml-manifest.xml"/>
<!-- required by FlashBuilder -->
<include name="localFonts.ser"/>
<include name="macFonts.ser"/>
<include name="winFonts.ser"/>
<include name="mxml-2009-manifest.xml"/>
<include name="spark-manifest.xml"/>
<include name="mx-manifest.xml"/>
</fileset>
</copy>
<!-- FixMe:
either add this stuff in or just change the config files
does it have to be done in source-distro and binary-distro
-->
<!--antcall target="fix-config-files"/-->
<!-- frameworks/themes -->
<copy todir="${basedir}/temp/frameworks/themes" includeEmptyDirs="false">
<fileset dir="${basedir}/frameworks/themes">
<exclude name="**/HaloClassic/*"/>
<exclude name="**/Institutional/*"/>
<exclude name="**/Ice/*"/>
<exclude name="**/Smoke/*"/>
<exclude name="**/Wooden/*"/>
</fileset>
</copy>
<!-- lib -->
<copy todir="${basedir}/temp/lib">
<fileset dir="${basedir}/lib">
<include name="asc.jar"/>
<include name="asdoc.jar"/>
<include name="batik-all-flex.jar"/>
<include name="batik-LICENSE*"/>
<include name="batik-NOTICE*/**"/>
<include name="commons-collections.jar"/>
<include name="commons-collections-LICENSE*"/>
<include name="commons-collections-NOTICE*/**"/>
<include name="commons-discovery.jar"/>
<include name="commons-discovery-LICENSE*"/>
<include name="commons-discovery-NOTICE*/**"/>
<include name="commons-logging.jar"/>
<include name="commons-logging-LICENSE*"/>
<include name="commons-logging-NOTICE*/**"/>
<include name="compc.jar"/>
<include name="copylocale.jar"/>
<include name="digest.jar"/>
<include name="fdb.jar"/>
<include name="fcsh.jar"/>
<include name="flex-compiler-oem.jar"/>
<include name="flex-messaging-common.jar"/>
<include name="mxmlc.jar"/>
<include name="optimizer.jar"/>
<include name="swcdepends.jar"/>
<include name="swfdump.jar"/>
<include name="swfutils.jar"/>
<include name="fxgutils.jar"/>
<include name="saxon9.jar"/>
<include name="saxon9-LICENSE*"/>
<include name="saxon9-NOTICE*/**"/>
<include name="velocity-dep-1.4-flex.jar"/>
<include name="velocity-LICENSE*"/>
<include name="velocity-NOTICE*/**"/>
<include name="xalan.jar"/>
<include name="xalan-LICENSE*"/>
<include name="xalan-NOTICE*/**"/>
<include name="xercesImpl.jar"/>
<include name="xercesPatch.jar"/>
<include name="xerces-LICENSE*"/>
<include name="xerces-NOTICE*/**"/>
<include name="xml-apis.jar"/>
<include name="xml-batik-LICENSE*"/>
<include name="xml-batik-NOTICE*/**"/>
</fileset>
</copy>
<!-- templates -->
<copy todir="${basedir}/temp/templates">
<fileset dir="${basedir}/templates" >
<include name="swfobject/**"/>
<exclude name="swfobject/readme.txt"/>
</fileset>
</copy>
<!-- sample themes -->
<copy todir="${basedir}/temp">
<fileset dir="${basedir}">
<include name="samples/themes/**" />
</fileset>
</copy>
<!--
Add AIR SDK Files. Runtime files not included since they weren't in
Adobe Flex MPL kit.
-->
<antcall target="air-package"/>
<chmod dir="${basedir}/temp" perm="755" includes="bin/*, **/*.bat, **/*.sh, **/*.linux" />
<mkdir dir="${basedir}/out"/>
<zip destfile="${basedir}/out/${binary.kit}" basedir="${basedir}/temp"/>
<antcall target="clean-temp"/>
</target>
<!--
FixMe: The AIR sdk stuff in frameworks/build.xml should just extract airglobal.swc.
Only when you actually package a release should you muck with the other files in
the AIR SDK package. Also make sure the AIR SDK license is in LICENSE.bin
-->
<target name="air-package" description="Add the AIR SDK files to the binary distro">
<copy file="${basedir}/AIR SDK license.pdf" tofile="Adobe AIR SDK license.pdf"/>
<copy todir="${basedir}/temp">
<fileset dir="${basedir}">
<include name="include/**"/>
<include name="install/**"/>
</fileset>
</copy>
<copy todir="${basedir}/temp/bin">
<fileset dir="${basedir}/bin">
<include name="bin/adl*"/>
<include name="bin/adt*"/>
</fileset>
</copy>
<copy todir="${basedir}/temp/frameworks/libs/air">
<fileset dir="${basedir}/frameworks/libs/air"/>
</copy>
<!-- FixMe: does this go in a binary kit? -->
<copy todir="${basedir}/temp/frameworks/projects/air">
<fileset dir="${basedir}/frameworks/projects/air"/>
</copy>
<copy todir="${basedir}/temp/lib">
<fileset dir="${basedir}/lib" >
<include name="adt.jar" />
<include name="android/**" />
<include name="aot/**" />
</fileset>
</copy>
<copy todir="${basedir}/temp/lib/win">
<fileset dir="${basedir}/lib/win" >
<include name="FlashRuntimeExtensions.lib" />
</fileset>
</copy>
<!-- FixMe: where are these files -->
<!-- sample themes -->
<copy todir="${basedir}/temp/samples/themes" failonerror="false">
<fileset dir="${basedir}/samples/themes"/>
</copy>
<!-- templates -->
<copy todir="${basedir}/temp/templates">
<fileset dir="${basedir}/templates" >
<include name="extensions/**"/>
</fileset>
</copy>
</target>
<target name="fix-config-files">
<replace file="${basedir}/temp/frameworks/flex-config.xml">
<replacefilter
token="&lt;warn-no-explicit-super-call-in-constructor&gt;true"
value="&lt;warn-no-explicit-super-call-in-constructor&gt;false"/>
<replacefilter
token="$${build.number}"
value="${release.version}.${build.number}"/>
</replace>
<replace file="${basedir}/temp/frameworks/air-config.xml">
<replacefilter
token="&lt;warn-no-explicit-super-call-in-constructor&gt;true"
value="&lt;warn-no-explicit-super-call-in-constructor&gt;false"/>
<replacefilter
token="$${build.number}"
value="${release.version}.${build.number}"/>
</replace>
</target>
<target name="locale-package" description="Package all the locale swc's built">
<antcall target="clean-temp"/>
<copy todir="${basedir}/temp/frameworks/locale" verbose="true">
<fileset dir="${basedir}/frameworks/locale">
<include name="**/*.swc"/>
</fileset>
</copy>
<!-- frameworks/projects -->
<copy todir="${basedir}/temp/frameworks/projects/airframework/bundles">
<fileset dir="${basedir}/frameworks/projects/airframework/bundles">
<exclude name="**/docs/**"/>
<exclude name="en_US/*.xml"/>
<exclude name="en_US/packages.dita"/>
</fileset>
</copy>
<copy todir="${basedir}/temp/frameworks/projects/airspark/bundles">
<fileset dir="${basedir}/frameworks/projects/airspark/bundles"/>
</copy>
<copy todir="${basedir}/temp/frameworks/projects/rpc/bundles">
<fileset dir="${basedir}/frameworks/projects/rpc/bundles">
<exclude name="**/docs/**"/>
<exclude name="en_US/*.xml"/>
<exclude name="en_US/packages.dita"/>
</fileset>
</copy>
<copy todir="${basedir}/temp/frameworks/projects/framework/bundles">
<fileset dir="${basedir}/frameworks/projects/framework/bundles">
<exclude name="**/docs/**"/>
<exclude name="en_US/*.xml"/>
<exclude name="en_US/packages.dita"/>
</fileset>
</copy>
<copy todir="${basedir}/temp/frameworks/projects/mx/bundles">
<fileset dir="${basedir}/frameworks/projects/mx/bundles">
<exclude name="**/docs/**"/>
<exclude name="en_US/*.xml"/>
<exclude name="en_US/packages.dita"/>
</fileset>
</copy>
<copy todir="${basedir}/temp/frameworks/projects/charts/bundles">
<fileset dir="${basedir}/frameworks/projects/charts/bundles">
<exclude name="**/docs/**"/>
<exclude name="en_US/*.xml"/>
<exclude name="en_US/packages.dita"/>
</fileset>
</copy>
<copy todir="${basedir}/temp/frameworks/projects/advancedgrids/bundles">
<fileset dir="${basedir}/frameworks/projects/advancedgrids/bundles">
<exclude name="**/docs/**"/>
<exclude name="en_US/*.xml"/>
<exclude name="en_US/packages.dita"/>
</fileset>
</copy>
<!-- lib -->
<!-- FixMe: Apache is missing all these language jars. -->
<copy todir="${basedir}/temp/lib">
<fileset dir="${basedir}/lib">
<include name="batik_da.jar"/>
<include name="batik_de.jar"/>
<include name="batik_es.jar"/>
<include name="batik_fi.jar"/>
<include name="batik_fr.jar"/>
<include name="batik_it.jar"/>
<include name="batik_ko.jar"/>
<include name="batik_ja.jar"/>
<include name="batik_nb.jar"/>
<include name="batik_nl.jar"/>
<include name="batik_pt.jar"/>
<include name="batik_ru.jar"/>
<include name="batik_sv.jar"/>
<include name="batik_zh_CN.jar"/>
<include name="batik_zh_TW.jar"/>
<include name="mxmlc_da.jar"/>
<include name="mxmlc_de.jar"/>
<include name="mxmlc_es.jar"/>
<include name="mxmlc_fi.jar"/>
<include name="mxmlc_fr.jar"/>
<include name="mxmlc_it.jar"/>
<include name="mxmlc_ja.jar"/>
<include name="mxmlc_ko.jar"/>
<include name="mxmlc_nb.jar"/>
<include name="mxmlc_nl.jar"/>
<include name="mxmlc_pt.jar"/>
<include name="mxmlc_ru.jar"/>
<include name="mxmlc_sv.jar"/>
<include name="mxmlc_zh_CN.jar"/>
<include name="mxmlc_zh_TW.jar"/>
<include name="xercesImpl_da.jar"/>
<include name="xercesImpl_de.jar"/>
<include name="xercesImpl_es.jar"/>
<include name="xercesImpl_fi.jar"/>
<include name="xercesImpl_fr.jar"/>
<include name="xercesImpl_it.jar"/>
<include name="xercesImpl_ko.jar"/>
<include name="xercesImpl_ja.jar"/>
<include name="xercesImpl_nb.jar"/>
<include name="xercesImpl_nl.jar"/>
<include name="xercesImpl_pt.jar"/>
<include name="xercesImpl_ru.jar"/>
<include name="xercesImpl_sv.jar"/>
<include name="xercesImpl_zh_CN.jar"/>
<include name="xercesImpl_zh_TW.jar"/>
</fileset>
</copy>
</target>
<target name="ja-locale-samples">
<antcall target="clean-temp"/>
<!-- ja samples -->
<copy todir="${basedir}/temp/samples_ja">
<fileset dir="${basedir}/samples/ja_JP">
<include name="README_ja.txt"/>
<include name="explorer/**"/>
</fileset>
</copy>
<mkdir dir="${basedir}/out"/>
<zip file="${basedir}/out/flex_sdk_locales.zip" basedir="${basedir}/temp" includes="**"/>
<antcall target="clean-temp"/>
</target>
<target name="antTasks-package" depends="antTasks,clean-temp">
<copy file="${basedir}/modules/antTasks/build.xml-distro"
tofile="${basedir}/temp/build.xml"/>
<copy file="${basedir}/modules/antTasks/flexTasks.tasks"
todir="${basedir}/temp"/>
<!-- lib -->
<copy todir="${basedir}/temp/lib">
<fileset dir="${basedir}/lib" includes="flexTasks.jar"/>
</copy>
<!-- src -->
<copy todir="${basedir}/temp/src">
<fileset dir="${basedir}/modules/antTasks/src/"
includes="flex2/**/*.java"
excludes="flex2/ant/AscTasks.java"/>
</copy>
<!-- templates -->
<copy todir="${basedir}/temp/templates">
<fileset dir="${basedir}/templates" >
<include name="**/*"/>
<exclude name="build.*"/>
<exclude name="swfobject/readme.txt"/>
<exclude name="metadata/**"/>
</fileset>
</copy>
<mkdir dir="${basedir}/out"/>
<zip file="${basedir}/out/flexTasks.zip" basedir="${basedir}/temp"/>
<antcall target="clean-temp"/>
</target>
<target name="fcsh-package" description="Zip up fcsh.zip">
<antcall target="clean-temp"/>
<copy todir="${basedir}/temp">
<fileset dir="${basedir}/modules/compiler">
<include name="FlexCompilerShell-license.txt"/>
</fileset>
</copy>
<!-- bin -->
<copy todir="${basedir}/temp/bin">
<fileset dir="${basedir}/bin">
<include name="fcsh"/>
<include name="fcsh.exe"/>
</fileset>
</copy>
<fixcrlf eol="unix" srcdir="${basedir}/temp/bin" includes="fcsh"/>
<!-- lib -->
<copy todir="${basedir}/temp/lib">
<fileset dir="${basedir}/lib">
<include name="fcsh.jar"/>
</fileset>
</copy>
<mkdir dir="${basedir}/out"/>
<zip destfile="${basedir}/out/fcsh.zip">
<zipfileset dir="${basedir}/temp" excludes="bin/*, **/*.bat, **/*.sh, **/*.linux"/>
<zipfileset dir="${basedir}/temp" includes="bin/*, **/*.bat, **/*.sh, **/*.linux" filemode="755" />
</zip>
<antcall target="clean-temp"/>
</target>
<target name="air-installers" description="Copy AIR runtime installers from sdk/in to sdk/out">
<mkdir dir="${basedir}/out"/>
<copy todir="${basedir}/out">
<fileset file="${basedir}/in/air/mac/Adobe AIR.dmg"/>
<fileset file="${basedir}/in/air/win/Adobe AIR Installer.exe"/>
</copy>
</target>
<target name="clean-temp">
<delete dir="${basedir}/temp" failonerror="false" includeEmptyDirs="true"/>
</target>
<target name="doc" unless="no.doc" >
<ant dir="${basedir}/frameworks" target="doc" />
</target>
<!--
Tests: The current checkintests that must be run before every checkin
-->
<target name="oldcheckintests" depends="dependencychecker-framework,checkintests-mustella" description="Run these tests before every checkin"/>
<!-- pending mustella and framework/tests/basicTests and airBasicTests to Apache -->
<!--target name="checkintests" depends="dependencychecker-framework,basictests-mustella,checkintests-mobile" description="Run these tests before every checkin"/-->
<target name="checkintests">
<echo message="FixMe: pending mustella and framework/tests donation to Apache"/>
</target>
<target name="checkintests-mobile" depends="airmobile-basictests-mustella" description="Run these tests before every checkin to mobile SDK code"/>
<!--
Tests: Mustella checkintests
-->
<target name="checkintests-mustella" depends="mustella-setup,componentsmoke-mustella,checkinapp-mustella,sparkTest-mustella,states-mustella,layout-mustella,graphics-mustella,fxgCompileTest-mustella"/>
<target name="basictests-mustella" depends="mustella-setup,basictests"/>
<target name="airmobile-basictests-mustella" depends="mustella-setup,airmobile-basictests"/>
<target name="mustella-setup" description="compile mustella java file">
<!-- delete and rebuild mustella.swc -->
<ant dir="${basedir}/mustella" target="cleanmustellaswc"/>
<ant dir="${basedir}/mustella" target="makemustellaswc"/>
<property name="moreCompilerArgs" value=""/>
<!-- compile the results parser -->
<javac srcdir="mustella" includes="MustellaResultsParser.java"/>
</target>
<target name="load-task">
<!-- load the <mxmlc> task; we can't do this at the <project> level -->
<!-- because targets that run before flexTasks.jar gets built would fail -->
<taskdef resource="flexTasks.tasks" classpath="${basedir}/lib/flexTasks.jar"/>
</target>
<target name="basictests" depends="load-task" description="run basic tests using mustella">
<!-- compile the basic tests -->
<mxmlc fork="true"
file="${basedir}/frameworks/tests/basicTests/BasicTests.mxml">
<jvmarg line="${mxmlc.jvm.args}"/>
<library-path dir="${basedir}" append="true">
<include name="mustella/mustella.swc"/>
</library-path>
</mxmlc>
<!-- compile supporting swfs for basic tests -->
<mxmlc fork="true"
file="${basedir}/frameworks/tests/basicTests/spark/views/StyleManagerModuleTest.mxml">
<jvmarg line="${mxmlc.jvm.args}"/>
</mxmlc>
<mxmlc fork="true"
file="${basedir}/frameworks/tests/basicTests/spark/views/HelloWorld.mxml"
static-rsls="false"
remove-unused-rsls="true" >
<jvmarg line="${mxmlc.jvm.args}"/>
</mxmlc>
<!-- run the component smoke -->
<echo message="launching player and swf"/>
<exec executable="${flash.player}" dir="${basedir}/frameworks" failonerror="true">
<arg line="${basedir}/frameworks/tests/basicTests/BasicTests.swf"/>
</exec>
<!-- halt if there was an error -->
<antcall target="mustellaresultsparser"/>
</target>
<target name="airmobile-basictests" depends="load-task" description="run basic tests using mustella">
<!-- compile the basic tests -->
<mxmlc fork="true"
file="${basedir}/frameworks/tests/airMobileBasicTests/src/airMobileBasicTests.mxml"
output="${basedir}/frameworks/tests/airMobileBasicTests/bin-debug/airMobileBasicTests.swf">
<jvmarg line="${mxmlc.jvm.args}"/>
<load-config filename="${basedir}/frameworks/airmobile-config.xml"/>
<library-path dir="${basedir}" append="true">
<include name="mustella/mustella.swc"/>
</library-path>
</mxmlc>
<copy file="${basedir}/frameworks/tests/airMobileBasicTests/src/airMobileBasicTests-app.xml" tofile="${basedir}/frameworks/tests/airMobileBasicTests/bin-debug/airMobileBasicTests-app.xml"/>
<!-- run the component smoke -->
<echo message="launching ADL and swf"/>
<exec executable="${adl}" dir="${basedir}/frameworks" failonerror="true">
<arg value="-profile" />
<arg value="mobileDevice" />
<arg value="-screensize" />
<arg value="SamsungGalaxyTab" />
<arg value="${basedir}/frameworks/tests/airMobileBasicTests/bin-debug/airMobileBasicTests-app.xml"/>
</exec>
<!-- halt if there was an error -->
<antcall target="mustellaresultsparser"/>
</target>
<target name="componentsmoke-mustella" depends="load-task" description="run component smoke using mustella">
<!-- compile the component smoke -->
<mxmlc fork="true"
file="${basedir}/frameworks/tests/componentSmoke/componentSmoke2.mxml">
<jvmarg line="${mxmlc.jvm.args}"/>
<includes symbol="componentSmoke_testScript"/>
<includes symbol="ExitWhenDone"/>
<includes symbol="SendFormattedResultsToLog"/>
<library-path dir="${basedir}" append="true">
<include name="mustella/mustella.swc"/>
</library-path>
<theme dir="${basedir}/frameworks/themes">
<include name="Halo/halo.swc" />
</theme>
</mxmlc>
<!-- run the component smoke -->
<echo message="launching player and swf"/>
<exec executable="${flash.player}" dir="${basedir}/frameworks" failonerror="true">
<arg line="${basedir}/frameworks/tests/componentSmoke/componentSmoke2.swf"/>
</exec>
<!-- halt if there was an error -->
<antcall target="mustellaresultsparser"/>
</target>
<target name="checkinapp-mustella" depends="load-task" description="run checkinapp using mustella">
<echo message="compiling checkinapp"/>
<!-- compile the checkinapp -->
<mxmlc fork="true"
file="${basedir}/frameworks/tests/checkinapp/checkinapp.mxml">
<arg line="-debug"/>
<jvmarg line="${mxmlc.jvm.args}"/>
<includes symbol="checkinapp_testScript"/>
<includes symbol="ExitWhenDone"/>
<includes symbol="SendFormattedResultsToLog"/>
<library-path dir="${basedir}" append="true">
<include name="mustella/mustella.swc"/>
</library-path>
<theme dir="${basedir}/frameworks/themes">
<include name="Halo/halo.swc" />
</theme>
</mxmlc>
<!-- run the component smoke -->
<echo message="launching player and swf"/>
<exec executable="${flash.player}" dir="${basedir}/frameworks">
<arg line="${basedir}/frameworks/tests/checkinapp/checkinapp.swf"/>
</exec>
<!-- halt if there was an error -->
<antcall target="mustellaresultsparser"/>
</target>
<target name="graphics-mustella" depends="load-task" description="run graphics checkinapp using mustella">
<echo message="compiling checkinapp"/>
<!-- compile the checkinapp -->
<mxmlc fork="true"
file="${basedir}/frameworks/tests/graphics/GraphicTags_checkin.mxml">
<jvmarg line="${mxmlc.jvm.args}"/>
<includes symbol="GraphicTags_checkintests"/>
<includes symbol="ExitWhenDone"/>
<includes symbol="SendFormattedResultsToLog"/>
<library-path dir="${basedir}" append="true">
<include name="mustella/mustella.swc"/>
</library-path>
</mxmlc>
<!-- run the component smoke -->
<echo message="launching player and swf"/>
<exec executable="${flash.player}" dir="${basedir}/frameworks">
<arg line="${basedir}/frameworks/tests/graphics/GraphicTags_checkin.swf"/>
</exec>
<!-- halt if there was an error -->
<antcall target="mustellaresultsparser"/>
</target>
<target name="sparkTest-mustella" depends="load-task" description="run spark test using mustella">
<echo message="compiling sparkTest"/>
<!-- compile the sparkTest -->
<mxmlc fork="true"
file="${basedir}/frameworks/tests/spark/sparkTest.mxml">
<jvmarg line="${mxmlc.jvm.args}"/>
<includes symbol="sparkTest_testScript"/>
<includes symbol="ExitWhenDone"/>
<includes symbol="SendFormattedResultsToLog"/>
<library-path dir="${basedir}" append="true">
<include name="mustella/mustella.swc"/>
</library-path>
</mxmlc>
<!-- run the component smoke -->
<echo message="launching player and swf"/>
<exec executable="${flash.player}" dir="${basedir}/frameworks">
<arg line="${basedir}/frameworks/tests/spark/sparkTest.swf"/>
</exec>
<!-- halt if there was an error -->
<antcall target="mustellaresultsparser"/>
</target>
<target name="fxgCompileTest-mustella" depends="load-task" description="run spark test using mustella">
<echo message="compiling fxgCompileTest"/>
<!-- compile the sparkTest -->
<mxmlc fork="true"
file="${basedir}/frameworks/tests/fxgCompile/fxgCompileTest.mxml">
<jvmarg line="${mxmlc.jvm.args}"/>
<includes symbol="fxgCompileTest_testScript"/>
<includes symbol="ExitWhenDone"/>
<includes symbol="SendFormattedResultsToLog"/>
<library-path dir="${basedir}" append="true">
<include name="mustella/mustella.swc"/>
</library-path>
</mxmlc>
<!-- run the component smoke -->
<echo message="launching player and swf"/>
<exec executable="${flash.player}" dir="${basedir}/frameworks">
<arg line="${basedir}/frameworks/tests/fxgCompile/fxgCompileTest.swf"/>
</exec>
<!-- halt if there was an error -->
<antcall target="mustellaresultsparser"/>
</target>
<target name="states-mustella" description="run states test using mustella">
<ant antfile="${basedir}/frameworks/tests/states/build.xml" dir="${basedir}/frameworks/tests/states"/>
</target>
<target name="layout-mustella" description="run layout test using mustella">
<ant antfile="${basedir}/frameworks/tests/layout/build.xml" dir="${basedir}/frameworks/tests/layout"/>
</target>
<target name="mustellaresultsparser">
<java classname="mustella.MustellaResultsParser" failonerror="true">
<sysproperty key="APPDATA" value="${env.APPDATA}"/>
<classpath>
<pathelement location="${basedir}"/>
</classpath>
</java>
</target>
<!--
ASC tests:
runtests.py tested on mac & windows...not sure about linux
-->
<target name="asc-tests" description="Run these tests if you are committing changes to ASC">
<pathconvert property="base" dirsep="/">
<path path="${basedir}"/>
</pathconvert>
<condition property="avm.path" value="${base}/modules/asc/bin/windows/avmplus_s.exe">
<os family="windows"/>
</condition>
<condition property="avm.path" value="${base}/modules/asc/bin/mac/shell_s">
<os family="mac"/>
</condition>
<condition property="avm.path" value="${base}/modules/asc/bin/linux/avmplus_s">
<and>
<os family="unix"/>
<not> <os family="mac"/> </not>
</and>
</condition>
<delete>
<fileset dir="${base}/modules/asc/test/compiler">
<include name="*.html"/>
<include name="result.properties"/>
<include name="asc.out.log"/>
</fileset>
</delete>
<exec executable="python" dir="${base}/modules/asc/test/compiler" output="${base}/modules/asc/test/compiler/asc.out.log">
<arg value="runtests.py"/>
<arg value="--asc"/>
<arg value="${base}/lib/asc.jar"/>
<arg value="--globalabc"/>
<arg value="${base}/modules/asc/abc/builtin.abc"/>
<arg value="--playerglobalabc"/>
<arg value="${base}/modules/asc/abc/playerglobal.abc"/>
<arg value="--toplevelabc"/>
<arg value="${base}/modules/asc/abc/toplevel.abc"/>
<arg value="--avm"/>
<arg value="${avm.path}"/>
</exec>
<property file="${base}/modules/asc/test/compiler/result.properties"/>
<fail>
<condition>
<isset property="failures"/>
</condition>
</fail>
</target>
<target name="clean-dependencychecker" description="Clean up the generated java files from dependency checker">
<!-- not currently in Apache Flex -->
<!--
<delete>
<fileset dir="${basedir}/tools/dependencychecker" includes="**/*.class"/>
</delete>
-->
</target>
<target name="setup-dependencychecker" description="Compile dependency checker java files" depends="clean-dependencychecker">
<javac srcdir="${basedir}/tools/dependencychecker"/>
</target>
<target name="dependencychecker-framework" description="Run dependency checker on framework.swc" depends="setup-dependencychecker">
<!-- need fork b/c running java from another dir -->
<java dir="${basedir}/tools/dependencychecker" fork="true" classname="flex.tools.dependencychecker.DependencyChecker" failonerror="true">
<classpath>
<pathelement location="${basedir}/tools/dependencychecker"/>
</classpath>
<arg line="${basedir}/frameworks/libs/framework.swc frameworkSwcExceptionsList.txt"/>
</java>
</target>
</project>