| <?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="falcon" default="main" basedir="."> |
| |
| <property file="${basedir}/env.properties"/> |
| <property environment="env"/> |
| <property file="${basedir}/local.properties"/> |
| <property file="${basedir}/build.properties"/> |
| |
| <property name="kit.prefix" value="apache-flex-falcon-${release.version}"/> |
| <property name="kit.jx.prefix" value="apache-flex-falconjx-${release.version}"/> |
| <property name="source.kit" value="${kit.prefix}-src"/> |
| <property name="binary.kit" value="${kit.prefix}-bin"/> |
| <property name="source.jx.kit" value="${kit.jx.prefix}-src"/> |
| <property name="binary.jx.kit" value="${kit.jx.prefix}-bin"/> |
| |
| <!-- |
| Optional jars but should be in place for a real release build. |
| |
| For <grep> put AntelopeTasks_*.jar in this path. |
| See version-update. |
| |
| For <rat> apache-rat-0.8.jar and apache-rat-tasks-0.8.jar should be in classpath. |
| See rat-check. |
| --> |
| <path id="anttask.classpath"> |
| <fileset dir="${env.ANT_HOME}/lib"> |
| <include name="**/AntelopeTasks_*.jar"/> |
| <include name="**/apache-rat*.jar"/> |
| </fileset> |
| <fileset dir="${user.home}"> |
| <include name=".ant/lib/**/AntelopeTasks_*.jar"/> |
| <include name=".ant/lib/**/apache-rat*.jar"/> |
| </fileset> |
| </path> |
| |
| <target name="javadoc" description="Builds Falcon's Javadoc at generated/javadoc."> |
| <!--<ant dir="compiler" target="javadoc"/>--> |
| </target> |
| |
| <target name="eclipse" description="Prepares or updates Falcon's project(s) for use in Eclipse. This takes care of generating Java files for lexers, parsers, and BURMs."> |
| <ant dir="compiler" target="eclipse"/> |
| <ant dir="compiler.tests" target="eclipse"/> |
| </target> |
| |
| <target name="sdk" description="Produces an SDK at generated/dist/sdk containing both Falcon and the legacy compiler."> |
| <ant dir="compiler" target="sdk"/> |
| </target> |
| |
| <target name="main" depends="sdk, javadoc, tests" description="Default target - Builds a Falcon SDK, builds Falcon Javadoc, and runs tests."/> |
| |
| <target name="all" depends="main, jx, oem, debugger" description="Builds Falcon, then FalconJX"/> |
| |
| <target name="jx" depends="compiler.jx, compiler.jx.tests" description="Builds FalconJX" /> |
| |
| <target name="oem" depends="check-flex-home, compiler.oem" description="Builds FB Integration JAR" /> |
| |
| <target name="compiler.binary.release" > |
| <ant dir="compiler" target="release-binaries" /> |
| </target> |
| |
| <target name="tests" description="Runs the tests."> |
| <ant dir="compiler.tests" target="main"/> |
| </target> |
| |
| <target name="compiler.oem" depends="compiler.jx, swfutils" description="Builds FB Integration JAR"> |
| <ant dir="flex-compiler-oem" target="main"/> |
| </target> |
| |
| <target name="debugger" depends="swfutils" description="Builds FDB JAR"> |
| <ant dir="debugger" target="jar"/> |
| </target> |
| |
| <target name="swfutils" depends="check-flex-home,swfutils_check" unless="swfutils.bundled" |
| description="Copies a subset of files from swfutils.jar into the swfutils folder so flex-compiler-oem and the debugger can use them"> |
| <mkdir dir="swfutils" /> |
| <mkdir dir="swfutils/src" /> |
| <mkdir dir="swfutils/classes" /> |
| <copy todir="swfutils/src" > |
| <fileset dir="${FLEX_SDK_HOME}/modules/swfutils/src"> |
| <include name="java/flash/localization/**"/> |
| <include name="java/flash/swf/Movie.java"/> |
| <include name="java/flash/swf/actions/**"/> |
| <include name="java/flash/swf/Action.java"/> |
| <include name="java/flash/swf/ActionConstants.java"/> |
| <include name="java/flash/swf/ActionDecoder.java"/> |
| <include name="java/flash/swf/ActionFactory.java"/> |
| <include name="java/flash/swf/ActionHandler.java"/> |
| <include name="java/flash/swf/CompressionLevel.java"/> |
| <include name="java/flash/swf/debug/**"/> |
| <include name="java/flash/swf/DebugDecoder.java"/> |
| <include name="java/flash/swf/DebugHandler.java"/> |
| <include name="java/flash/swf/DebugTags.java"/> |
| <include name="java/flash/swf/Dictionary.java"/> |
| <include name="java/flash/swf/Frame.java"/> |
| <include name="java/flash/swf/Header.java"/> |
| <include name="java/flash/swf/MovieMetaData.java"/> |
| <include name="java/flash/swf/RandomAccessBuffer.java"/> |
| <include name="java/flash/swf/SwfDecoder.java"/> |
| <include name="java/flash/swf/SwfEncoder.java"/> |
| <include name="java/flash/swf/SwfFormatException.java"/> |
| <include name="java/flash/swf/Tag.java"/> |
| <include name="java/flash/swf/TagDecoder.java"/> |
| <include name="java/flash/swf/TagHandler.java"/> |
| <include name="java/flash/swf/TagValues.java"/> |
| <include name="java/flash/swf/tags/**"/> |
| <include name="java/flash/swf/tools/Disassembler.java"/> |
| <!-- <include name="java/flash/swf/tags/EnableDebugger.java"/> |
| <include name="java/flash/swf/tags/DefineShape.java"/> |
| <include name="java/flash/swf/tags/DefineTag.java"/> |
| <include name="java/flash/swf/tags/GenericTag.java"/> |
| <include name="java/flash/swf/tags/ScriptLimits.java"/> |
| <include name="java/flash/swf/tags/SetBackgroundColor.java"/> |
| <include name="java/flash/swf/tags/ShowFrame.java"/> |
| <include name="java/flash/swf/tags/FileAttributes.java"/> |
| <include name="java/flash/swf/tags/EnableTelemetry.java"/> |
| <include name="java/flash/swf/tags/ProductInfo.java"/> |
| <include name="java/flash/swf/tags/Metadata.java"/> |
| <include name="java/flash/swf/tags/DefineSceneAndFrameLabelData.java"/> |
| <include name="java/flash/swf/types/FlashUUID.java"/> |
| <include name="java/flash/swf/types/Rect.java"/> |
| --> |
| <include name="java/flash/swf/types/**"/> |
| <include name="java/flash/util/ExceptionUtil.java"/> |
| <include name="java/flash/util/FieldFormat.java"/> |
| <include name="java/flash/util/FileUtils.java"/> |
| <include name="java/flash/util/IntMap.java"/> |
| <include name="java/flash/util/Trace.java"/> |
| </fileset> |
| </copy> |
| <property name="javac.src" value="1.6"/> |
| <javac includes="**/*.java" destdir="${basedir}/swfutils/classes" |
| source="${javac.src}" target="${javac.src}"> |
| <src path="${basedir}/swfutils/src" /> |
| </javac> |
| <mkdir dir="${basedir}/swfutils/classes/META-INF"/> |
| <copy file="${basedir}/LICENSE.base" tofile="${basedir}/swfutils/classes/META-INF/LICENSE"/> |
| <copy file="${basedir}/NOTICE.base" tofile="${basedir}/swfutils/classes/META-INF/NOTICE"/> |
| <jar destfile="${basedir}/compiler/generated/dist/sdk/lib/swfutils.jar" basedir="${basedir}/swfutils/classes" includes="**/*.class **/*.properties **/*.txt"> |
| <include name="META-INF/LICENSE"/> |
| <include name="META-INF/NOTICE"/> |
| <manifest> |
| <attribute name="Sealed" value="${manifest.sealed}" /> |
| <attribute name="Implementation-Title" value="${manifest.Implementation-Title}" /> |
| <attribute name="Implementation-Version" value="${manifest.Implementation-Version}.${build.number}" /> |
| <attribute name="Implementation-Vendor" value="${manifest.Implementation-Vendor}" /> |
| </manifest> |
| </jar> |
| </target> |
| |
| <target name="swfutils_check" description="determine if we have bundled swfutils source"> |
| <available file="swfutils" |
| type="dir" |
| property="swfutils.bundled" |
| value="true" /> |
| </target> |
| |
| <target name="compiler.jx" description="Builds FalconJX."> |
| <ant dir="compiler.jx" target="main"/> |
| </target> |
| |
| <target name="compiler.jx.tests" description="Runs the tests."> |
| <ant dir="compiler.jx.tests" target="main"/> |
| </target> |
| |
| <target name="copyLastSuccessfulBuild" description="Copies last flex-asjs build."> |
| <ant dir="compiler.jx.tests" target="copyLastSuccessfulBuild"/> |
| </target> |
| |
| <target name="clean" description="Cleans the build output but leaves any downloaded JARs."> |
| <ant dir="compiler" target="clean"/> |
| <ant dir="compiler.tests" target="clean"/> |
| </target> |
| |
| <target name="clean-all" description="Cleans the build output but leaves any downloaded JARs."> |
| <ant dir="compiler" target="clean"/> |
| <ant dir="compiler.tests" target="clean"/> |
| <ant dir="compiler.jx" target="clean"/> |
| <ant dir="compiler.jx.tests" target="clean"/> |
| <ant dir="flex-compiler-oem" target="clean"/> |
| <ant dir="debugger" target="clean"/> |
| <antcall target="extern.swcs.clean"/> |
| </target> |
| |
| <target name="wipe" description="Wipes out everything that didn't come from Git."> |
| <ant dir="compiler" target="wipe"/> |
| <ant dir="compiler.tests" target="wipe"/> |
| </target> |
| |
| <target name="wipe-all" description="Wipes out everything that didn't come from Git."> |
| <ant dir="compiler" target="wipe"/> |
| <ant dir="compiler.tests" target="wipe"/> |
| <ant dir="compiler.jx" target="super-clean"/> |
| <ant dir="compiler.jx.tests" target="wipe"/> |
| <ant dir="flex-compiler-oem" target="wipe"/> |
| <ant dir="debugger" target="clean"/> |
| <delete dir="${basedir}/swfutils" failonerror="false" includeEmptyDirs="true"/> |
| <delete dir="${basedir}/out" failonerror="false" includeEmptyDirs="true"/> |
| <delete dir="${basedir}/temp" failonerror="false" includeEmptyDirs="true"/> |
| <antcall target="extern.swcs.wipe"/> |
| </target> |
| |
| <target name="maven-artifacts" description="Installs Falcon artifacts to a local maven repository"> |
| <ant dir="compiler" target="maven-artifacts"/> |
| </target> |
| |
| <target name="check-flex-home" unless="mxmlc.jar.exists" |
| description="Check FLEX_HOME for both a directory and an exe file"> |
| |
| <echo message="FLEX_HOME is ${env.FLEX_HOME}"/> |
| |
| <available file="${env.FLEX_HOME}" |
| type="dir" |
| property="FLEX_SDK_HOME" |
| value="${env.FLEX_HOME}" /> |
| |
| <fail message="The environment variable FLEX_HOME is not set to a directory" |
| unless="FLEX_SDK_HOME"/> |
| |
| <condition property="mxmlc.jar.exists"> |
| <available file="${env.FLEX_HOME}/lib/mxmlc.jar" type="file"/> |
| </condition> |
| |
| <fail message="The directory ${env.FLEX_HOME} does not contain mxmlc.jar" |
| unless="mxmlc.jar.exists"/> |
| </target> |
| |
| <!-- |
| Can set build.additional-packages to build additional-packages as part of a release. |
| This does not build the docs. Use doc-packages or asdoc-packages. |
| --> |
| <target name="release" |
| depends="source-release,binary-release,rat-check" |
| description="Creates source and binary kits for Apache Falcon and FalconJX."/> |
| |
| <target name="source-release" |
| depends="wipe-all,check-flex-home,swfutils,source-package" |
| description="Packages the source release kit which is the official Apache release."/> |
| |
| <target name="binary-release" |
| depends="setup-binary-release,compiler.binary.release,compiler.jx,extern.swcs,compiler.oem,debugger,binary-package,javadoc" |
| description="Builds and packages the binary kit which is provided as a convenience."/> |
| |
| <!-- |
| Package up the Apache Flex sources. Do not include empty directories. |
| |
| Note: even if cleaned, this will package up unversioned files that happen |
| to be in the tree. |
| |
| FixMe: clean needs to clean - add code to detect unversioned files |
| --> |
| <target name="source-package" depends="stage-source,source-package-zip,source-package-tgz,stage-source-jx,source-package-jx-zip,source-package-jx-tgz" |
| description="Package source files required to build in zip and tar-gzip file"> |
| </target> |
| |
| <!-- |
| Packages the source distribution with ZIP. |
| --> |
| <target name="source-package-zip" unless="no.zip"> |
| <mkdir dir="${basedir}/out"/> |
| <zip destfile="${basedir}/out/${source.kit}.zip" basedir="${basedir}/temp"/> |
| </target> |
| |
| <!-- |
| Packages the source distribution with TAR-GZIP. |
| --> |
| <target name="source-package-tgz" unless="no.zip"> |
| <tar-gzip name="${source.kit}" /> |
| </target> |
| |
| <!-- |
| Packages the source distribution with ZIP. |
| --> |
| <target name="source-package-jx-zip" unless="no.zip"> |
| <mkdir dir="${basedir}/out"/> |
| <zip destfile="${basedir}/out/${source.jx.kit}.zip" basedir="${basedir}/temp"/> |
| </target> |
| |
| <!-- |
| Packages the source distribution with TAR-GZIP. |
| --> |
| <target name="source-package-jx-tgz" unless="no.zip"> |
| <tar-gzip name="${source.jx.kit}" /> |
| </target> |
| |
| <target name="stage-source" |
| description="Package source files required to build in zip file" > |
| <antcall target="clean-temp"/> |
| |
| <copy todir="${basedir}/temp" includeEmptyDirs="false"> |
| <fileset dir="${basedir}"> |
| <include name="build.xml"/> |
| <include name="build.properties"/> |
| <include name="env-template.properties"/> |
| <include name="README"/> |
| <include name="LICENSE"/> |
| <include name="LICENSE.base"/> |
| <include name="NOTICE"/> |
| <include name="NOTICE.base"/> |
| <include name="RELEASE_NOTES"/> |
| <include name="installer.xml"/> |
| <include name="installer.properties/**"/> |
| </fileset> |
| </copy> |
| |
| <!-- compiler --> |
| <antcall target="stage-compiler"/> |
| |
| <!-- compiler.tests --> |
| <antcall target="stage-compiler.tests"/> |
| |
| <!-- compiler --> |
| <antcall target="stage-fb-integration"/> |
| |
| <!-- exters --> |
| <antcall target="stage-externs"/> |
| |
| <!-- |
| Source files have Windows line endings. Most UNIX editors can handle |
| either type of line endings but the converse is often not true. |
| --> |
| <fixcrlf srcdir="${basedir}/temp" eol="crlf" fixlast="false"> |
| <exclude name="compiler/generated/dist/sdk/bin/**"/> |
| <exclude name="compiler/generated/dist/sdk/bin-legacy/**"/> |
| <exclude name="compiler/commandline/**"/> |
| <exclude name="**/assets/**"/> |
| <exclude name="**/*.fla"/> |
| <exclude name="**/*.flv"/> |
| <exclude name="**/*.gif"/> |
| <exclude name="**/*.jar"/> |
| <exclude name="**/*.jpg"/> |
| <exclude name="**/*.mp3"/> |
| <exclude name="**/*.pbj"/> |
| <exclude name="**/*.png"/> |
| <exclude name="**/*.sh"/> |
| <exclude name="**/*.swf"/> |
| </fixcrlf> |
| <fixcrlf srcdir="${basedir}/temp/compiler/commandline" eol="crlf" fixlast="false"> |
| <include name="**.bat"/> |
| </fixcrlf> |
| |
| <!-- |
| Unix shell scripts need the correct line endings. |
| --> |
| <fixcrlf srcdir="${basedir}/temp" eol="unix" fixlast="false"> |
| <include name="**.sh"/> |
| <exclude name="compiler/generated/dist/sdk/bin/**"/> |
| <exclude name="compiler/generated/dist/sdk/bin-legacy/**"/> |
| </fixcrlf> |
| </target> |
| |
| <target name="stage-compiler"> |
| <copy todir="${basedir}/temp/compiler" includeEmptyDirs="false"> |
| <fileset dir="${basedir}/compiler"> |
| <include name="**"/> |
| <exclude name=".classpath" /> |
| <exclude name=".project" /> |
| <exclude name=".settings/**" /> |
| <exclude name="dist/**"/> |
| <exclude name="generated/**"/> |
| <exclude name="in/**"/> |
| <exclude name="lib/**"/> |
| </fileset> |
| </copy> |
| |
| <tstamp> |
| <format property="build.number.date" pattern="yyyyMMdd" /> |
| </tstamp> |
| <property name="build.version" value="${release.version}.${build.number.date}" /> |
| |
| <!-- Update all Version.as files in the kit frameworks directory with build.number --> |
| <!--<antcall target="version-update"/>--> |
| </target> |
| |
| <target name="stage-fb-integration"> |
| <copy todir="${basedir}/temp/debugger" includeEmptyDirs="false"> |
| <fileset dir="${basedir}/debugger"> |
| <include name="**"/> |
| <exclude name=".classpath" /> |
| <exclude name=".project" /> |
| <exclude name=".settings/**" /> |
| <exclude name="bin/**"/> |
| </fileset> |
| </copy> |
| <copy todir="${basedir}/temp/flex-compiler-oem" includeEmptyDirs="false"> |
| <fileset dir="${basedir}/flex-compiler-oem"> |
| <include name="**"/> |
| <exclude name=".classpath" /> |
| <exclude name=".project" /> |
| <exclude name=".settings/**" /> |
| <exclude name="bin/**"/> |
| </fileset> |
| </copy> |
| <mkdir dir="${basedir}/temp/swfutils" /> |
| <copy todir="${basedir}/temp/swfutils" includeEmptyDirs="false"> |
| <fileset dir="${basedir}/swfutils"> |
| <include name="**"/> |
| <exclude name=".classpath" /> |
| <exclude name=".project" /> |
| <exclude name=".settings/**" /> |
| <exclude name="unittest.properties" /> |
| <exclude name="classes/**"/> |
| <exclude name="lib/**"/> |
| <exclude name="results/**"/> |
| <exclude name="temp/**"/> |
| <exclude name="test/classes/**"/> |
| </fileset> |
| </copy> |
| </target> |
| |
| <target name="stage-externs"> |
| <copy todir="${basedir}/temp/externs" includeEmptyDirs="false"> |
| <fileset dir="${basedir}/externs"> |
| <include name="**/*.xml"/> |
| <include name="js/missing.js"/> |
| </fileset> |
| </copy> |
| </target> |
| |
| <target name="stage-compiler.tests"> |
| <copy todir="${basedir}/temp/compiler.tests" includeEmptyDirs="false"> |
| <fileset dir="${basedir}/compiler.tests"> |
| <include name="**"/> |
| <exclude name=".classpath" /> |
| <exclude name=".project" /> |
| <exclude name="unittest.properties" /> |
| <exclude name="classes/**"/> |
| <exclude name="lib/**"/> |
| <exclude name="results/**"/> |
| <exclude name="temp/**"/> |
| </fileset> |
| </copy> |
| </target> |
| |
| <target name="stage-source-jx" |
| description="Package jx source files with other falcon files required to build in zip file" > |
| |
| <copy todir="${basedir}/temp" includeEmptyDirs="false"> |
| <fileset dir="${basedir}"> |
| <include name="README_JX"/> |
| <include name="NOTICE_JX"/> |
| <include name="RELEASE_NOTES_JX"/> |
| </fileset> |
| </copy> |
| |
| <copy todir="${basedir}/temp/compiler.jx" includeEmptyDirs="false"> |
| <fileset dir="${basedir}/compiler.jx"> |
| <include name="**"/> |
| <exclude name=".classpath" /> |
| <exclude name=".project" /> |
| <exclude name=".settings/**" /> |
| <exclude name="classes/**"/> |
| <exclude name="in/**"/> |
| <exclude name="lib/**"/> |
| </fileset> |
| </copy> |
| |
| <copy todir="${basedir}/temp/compiler.jx.tests" includeEmptyDirs="false"> |
| <fileset dir="${basedir}/compiler.jx.tests"> |
| <include name="**"/> |
| <exclude name=".classpath" /> |
| <exclude name=".project" /> |
| <exclude name=".settings/**" /> |
| <exclude name="unittest.properties" /> |
| <exclude name="classes/**"/> |
| <exclude name="lib/**"/> |
| <exclude name="results/**"/> |
| <exclude name="temp/**"/> |
| </fileset> |
| </copy> |
| |
| <!-- |
| Source files have Windows line endings. Most UNIX editors can handle |
| either type of line endings but the converse is often not true. |
| --> |
| <fixcrlf srcdir="${basedir}/temp" eol="crlf" fixlast="false"> |
| <exclude name="compiler/generated/dist/sdk/bin/**"/> |
| <exclude name="compiler/generated/dist/sdk/bin-legacy/**"/> |
| <exclude name="compiler/commandline/**"/> |
| <exclude name="compiler.jx/bin/**"/> |
| <exclude name="**/assets/**"/> |
| <exclude name="**/*.fla"/> |
| <exclude name="**/*.flv"/> |
| <exclude name="**/*.gif"/> |
| <exclude name="**/*.jar"/> |
| <exclude name="**/*.jpg"/> |
| <exclude name="**/*.mp3"/> |
| <exclude name="**/*.pbj"/> |
| <exclude name="**/*.png"/> |
| <exclude name="**/*.sh"/> |
| <exclude name="**/*.swf"/> |
| </fixcrlf> |
| <fixcrlf srcdir="${basedir}/temp/compiler/commandline" eol="crlf" fixlast="false"> |
| <include name="**.bat"/> |
| </fixcrlf> |
| <fixcrlf srcdir="${basedir}/temp/compiler.jx/bin" eol="crlf" fixlast="false"> |
| <include name="**.bat"/> |
| </fixcrlf> |
| <chmod dir="${basedir}/temp/compiler/commandline" excludes="**/*.bat" perm="+x" /> |
| <chmod dir="${basedir}/temp/compiler.jx/bin" excludes="**/*.bat" perm="+x" /> |
| |
| <!-- |
| Unix shell scripts need the correct line endings. |
| --> |
| <fixcrlf srcdir="${basedir}/temp" eol="unix" fixlast="false"> |
| <include name="**.sh"/> |
| <exclude name="compiler/generated/dist/sdk/bin/**"/> |
| <exclude name="compiler/generated/dist/sdk/bin-legacy/**"/> |
| </fixcrlf> |
| </target> |
| |
| <target name="setup-binary-release" depends="wipe-all" |
| description="Set properties needed to turn on features for release sdk"> |
| <!-- |
| For a release build, download everything fresh. |
| Build changes to the downloads, might not be caught by the refresh logic. |
| thirdparty-clean should leave this directory empty but just in case... |
| --> |
| <delete dir="${basedir}/in" failonerror="false" includeEmptyDirs="true" /> |
| |
| </target> |
| |
| <target name="extern.swcs" depends="externc.js.swc, externc.jquery.swc, externc.jasmine.swc" /> |
| <target name="extern.swcs.clean" depends="externc.js.swc.clean, externc.jquery.swc.clean, externc.jasmine.swc.clean" /> |
| <target name="extern.swcs.wipe" depends="extern.swcs.clean" > |
| <delete failonerror="false" includeEmptyDirs="true" > |
| <fileset dir="${basedir}/externs/js"> |
| <include name="**/*.js"/> |
| <exclude name="missing.js"/> |
| </fileset> |
| </delete> |
| <delete failonerror="false" includeEmptyDirs="true" > |
| <fileset dir="${basedir}/externs/jquery"> |
| <include name="**/*.js"/> |
| </fileset> |
| </delete> |
| <delete failonerror="false" includeEmptyDirs="true" > |
| <fileset dir="${basedir}/externs/jasmine"> |
| <include name="**/*.js"/> |
| </fileset> |
| </delete> |
| </target> |
| |
| <target name="externc.js.swc.clean" > |
| <delete dir="${basedir}/externs/js/out" failonerror="false" includeEmptyDirs="true"/> |
| </target> |
| <target name="externc.jquery.swc.clean" > |
| <delete dir="${basedir}/externs/jquery/out" failonerror="false" includeEmptyDirs="true"/> |
| </target> |
| <target name="externc.jasmine.swc.clean" > |
| <delete dir="${basedir}/externs/jasmine/out" failonerror="false" includeEmptyDirs="true"/> |
| </target> |
| |
| <target name="externc.js.swc" > |
| <echo>${env.ASJS_HOME}</echo> |
| <java jar="${basedir}/compiler.jx/lib/externc.jar" fork="true" |
| failonerror="false"> |
| <arg value="+flexlib=${env.ASJS_HOME}/frameworks" /> |
| <arg value="-debug" /> |
| <arg value="-load-config=externs/js/js-compile-config.xml" /> |
| </java> |
| <java jar="${basedir}/compiler/generated/dist/sdk/lib/falcon-compc.jar" fork="true" |
| failonerror="true"> |
| <arg value="+flexlib=${env.ASJS_HOME}/frameworks" /> |
| <arg value="-debug" /> |
| <arg value="-load-config=${basedir}/externs/js/compile-config.xml" /> |
| <arg value="-output=${basedir}/externs/js/out/bin/js.swc" /> |
| </java> |
| </target> |
| |
| <target name="externc.jquery.swc" > |
| <echo>${env.ASJS_HOME}</echo> |
| <java jar="${basedir}/compiler.jx/lib/externc.jar" fork="true" |
| failonerror="false"> |
| <arg value="+flexlib=${env.ASJS_HOME}/frameworks" /> |
| <arg value="-debug" /> |
| <arg value="-load-config=${basedir}/externs/jquery/jquery-compile-config.xml" /> |
| </java> |
| <java jar="${basedir}/compiler/generated/dist/sdk/lib/falcon-compc.jar" fork="true" |
| failonerror="true"> |
| <arg value="+flexlib=${env.ASJS_HOME}/frameworks" /> |
| <arg value="-debug" /> |
| <arg value="-load-config=${basedir}/externs/jquery/compile-config.xml" /> |
| <arg value="-output=${basedir}/externs/jquery/out/bin/jquery-1.9.swc" /> |
| </java> |
| </target> |
| |
| <target name="externc.jasmine.swc" > |
| <echo>${env.ASJS_HOME}</echo> |
| <java jar="${basedir}/compiler.jx/lib/externc.jar" fork="true" |
| failonerror="false"> |
| <arg value="+flexlib=${env.ASJS_HOME}/frameworks" /> |
| <arg value="-debug" /> |
| <arg value="-load-config=${basedir}/externs/jasmine/jasmine-compile-config.xml" /> |
| </java> |
| <java jar="${basedir}/compiler/generated/dist/sdk/lib/falcon-compc.jar" fork="true" |
| failonerror="true"> |
| <arg value="+flexlib=${env.ASJS_HOME}/frameworks" /> |
| <arg value="-debug" /> |
| <arg value="-load-config=${basedir}/externs/jasmine/compile-config.xml" /> |
| <arg value="-output=${basedir}/externs/jasmine/out/bin/jasmine-2.0.swc" /> |
| </java> |
| </target> |
| |
| <target name="binary-package" |
| description="Package binary files in zip and tar-gzip file."> |
| |
| <antcall target="stage-source"/> |
| |
| <!-- these files are in addition to the remaining source files --> |
| |
| <!-- concat the license file with the binary license file for the 3rd party deps --> |
| <!--concat destfile="${basedir}/temp/LICENSE"> |
| <filelist dir="${FLEX_SDK_HOME}" files="LICENSE,LICENSE.bin"/> |
| </concat--> |
| |
| <!-- generated --> |
| <copy todir="${basedir}/temp/compiler/generated/dist/sdk"> |
| <fileset dir="${basedir}/compiler/generated/dist/sdk"> |
| <include name="**"/> |
| <exclude name="lib/external/**"/> |
| </fileset> |
| </copy> |
| |
| <fixcrlf srcdir="${basedir}/temp/compiler/generated/dist/sdk/bin" eol="unix" fixlast="false"> |
| <include name="aasdoc"/> |
| <include name="acompc"/> |
| <include name="adl"/> |
| <include name="amxmlc"/> |
| <include name="asc"/> |
| <include name="asdoc"/> |
| <include name="compc"/> |
| <include name="copylocale"/> |
| <include name="digest"/> |
| <include name="fcsh"/> |
| <include name="fdb"/> |
| <include name="fontswf"/> |
| <include name="mxmlc"/> |
| <include name="optimizer"/> |
| <include name="swcdepends"/> |
| <include name="swfdump"/> |
| </fixcrlf> |
| |
| <fixcrlf srcdir="${basedir}/temp/compiler/generated/dist/sdk/bin-legacy" eol="unix" fixlast="false"> |
| <include name="aasdoc"/> |
| <include name="acompc"/> |
| <include name="adl"/> |
| <include name="amxmlc"/> |
| <include name="asc"/> |
| <include name="asdoc"/> |
| <include name="compc"/> |
| <include name="copylocale"/> |
| <include name="digest"/> |
| <include name="fcsh"/> |
| <include name="fdb"/> |
| <include name="fontswf"/> |
| <include name="mxmlc"/> |
| <include name="optimizer"/> |
| <include name="swcdepends"/> |
| <include name="swfdump"/> |
| </fixcrlf> |
| |
| <chmod dir="${basedir}/temp/compiler/generated/dist/sdk/bin" excludes="**/*.bat" perm="+x" /> |
| <chmod dir="${basedir}/temp/compiler/generated/dist/sdk/bin-legacy" excludes="**/*.bat" perm="+x" /> |
| |
| <antcall target="binary-package-zip"/> |
| <antcall target="binary-package-tgz"/> |
| |
| <antcall target="stage-source-jx" /> |
| |
| <!-- generated --> |
| <mkdir dir="${basedir}/temp/js"/> |
| <copy todir="${basedir}/temp/js"> |
| <fileset dir="${basedir}/compiler.jx"> |
| <include name="bin/**"/> |
| <include name="lib/**"/> |
| <exclude name="lib/commons-io**"/> |
| <exclude name="lib/flex-tool**"/> |
| <exclude name="lib/google/**"/> |
| <exclude name="lib/args4j**"/> |
| <exclude name="lib/guava**"/> |
| <exclude name="lib/org.json**"/> |
| </fileset> |
| </copy> |
| |
| <!-- generated --> |
| <mkdir dir="${basedir}/temp/js/libs"/> |
| <copy tofile="${basedir}/temp/js/libs/js.swc" file="${basedir}/externs/js/out/bin/js.swc" /> |
| <copy tofile="${basedir}/temp/js/libs/jquery.swc" file="${basedir}/externs/jquery/out/bin/jquery-1.9.swc" /> |
| |
| <antcall target="binary-package-jx-zip"/> |
| <antcall target="binary-package-jx-tgz"/> |
| |
| <copy todir="${basedir}/out"> |
| <fileset dir="${basedir}"> |
| <include name="apache-flex-falcon-installer-config.xml"/> |
| <include name="apache-flex-falconjx-installer-config.xml"/> |
| </fileset> |
| </copy> |
| </target> |
| |
| <!-- |
| Packages the binary distribution with ZIP. |
| --> |
| <target name="binary-package-zip" unless="no.zip"> |
| <mkdir dir="${basedir}/out"/> |
| <zip destfile="${basedir}/out/${binary.kit}.zip" basedir="${basedir}/temp"/> |
| </target> |
| |
| <!-- |
| Packages the binary distribution with TAR-GZIP. |
| --> |
| <target name="binary-package-tgz" unless="no.zip"> |
| <tar-gzip name="${binary.kit}" /> |
| </target> |
| |
| <!-- |
| Packages the binary distribution with ZIP. |
| --> |
| <target name="binary-package-jx-zip" unless="no.zip"> |
| <mkdir dir="${basedir}/out"/> |
| <zip destfile="${basedir}/out/${binary.jx.kit}.zip" basedir="${basedir}/temp"/> |
| </target> |
| |
| <!-- |
| Packages the binary distribution with TAR-GZIP. |
| --> |
| <target name="binary-package-jx-tgz" unless="no.zip"> |
| <tar-gzip name="${binary.jx.kit}" /> |
| </target> |
| |
| <!-- |
| tar with gzip compression, the temp directory and put it in the out directory. |
| The shell scripts in the bin directory (no extension) and other .sh files have |
| mode set to execute. |
| |
| name - the basename name of the kit in out directory, without the .tar.gz extension |
| --> |
| <macrodef name="tar-gzip"> |
| <attribute name="name"/> |
| <sequential> |
| <mkdir dir="${basedir}/out"/> |
| <tar destfile="${basedir}/out/@{name}.tar.gz" |
| compression="gzip" |
| longfile="gnu"> |
| <tarfileset dir="${basedir}/temp" prefix="@{name}"> |
| <include name="**" /> |
| <exclude name="bin/**" /> |
| <exclude name="**/*.sh" /> |
| </tarfileset> |
| <tarfileset dir="${basedir}/temp" prefix="@{name}"> |
| <include name="bin/*.bat" /> |
| </tarfileset> |
| <tarfileset dir="${basedir}/temp" prefix="@{name}" mode="755"> |
| <include name="bin/*" /> |
| <include name="**/*.sh" /> |
| <exclude name="bin/*.bat" /> |
| </tarfileset> |
| </tar> |
| </sequential> |
| </macrodef> |
| |
| <!-- |
| Run the Apache Rat audit tool against the source in the source kit. |
| The report is written to rat.report. |
| |
| To check a subset of files run with -Drat.dir=<dir>. |
| |
| 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-check" depends="rat-taskdef" if="have.rattasks" |
| description="Report on licenses in source kit."> |
| |
| <property name="rat.dir" value="${basedir}/temp"/> |
| <antcall target="rat-unzip" /> |
| |
| <property name="rat.report" value="${basedir}/rat.report"/> |
| <echo message="Checking files at ${rat.dir}, report is ${rat.report}"/> |
| |
| <rat:report xmlns:rat="antlib:org.apache.rat.anttasks" reportFile="${rat.report}"> |
| <fileset dir="${rat.dir}"> |
| <!-- Start of binary files --> |
| <!-- exclude media (png, gif, jpg, mp3, flv) --> |
| <exclude name="**/*.png"/> |
| <exclude name="**/*.gif"/> |
| <exclude name="**/*.jpg"/> |
| <exclude name="**/*.mp3"/> |
| <exclude name="**/*.flv"/> |
| <exclude name="**/org.apache.flex.tools.FlexToolGroup"/> |
| <exclude name="debugger/META-INF/MANIFEST.MF"/> |
| <exclude name="README_JX"/> |
| <exclude name="RELEASE_NOTES_JX"/> |
| <exclude name="NOTICE_JX"/> |
| <exclude name="NOTICE.base"/> |
| </fileset> |
| </rat:report> |
| </target> |
| |
| <target name="rat-unzip" unless="no.zip"> |
| <antcall target="clean-temp" /> |
| <unzip src="${basedir}/out/${source.jx.kit}.zip" dest="${rat.dir}"/> |
| </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="clean-temp" unless="noclean.temp"> |
| <delete dir="${basedir}/temp" failonerror="false" includeEmptyDirs="true"/> |
| </target> |
| |
| <target name="create-md5" > |
| <echo message="Generating MD5 hashes for release artifacts"/> |
| <checksum algorithm="md5" file="${basedir}/out/${binary.kit}.tar.gz" forceOverwrite="yes"/> |
| <checksum algorithm="md5" file="${basedir}/out/${binary.kit}.zip" forceOverwrite="yes"/> |
| <checksum algorithm="md5" file="${basedir}/out/${source.kit}.tar.gz" forceOverwrite="yes"/> |
| <checksum algorithm="md5" file="${basedir}/out/${source.kit}.zip" forceOverwrite="yes"/> |
| <checksum algorithm="md5" file="${basedir}/out/${binary.jx.kit}.tar.gz" forceOverwrite="yes"/> |
| <checksum algorithm="md5" file="${basedir}/out/${binary.jx.kit}.zip" forceOverwrite="yes"/> |
| <checksum algorithm="md5" file="${basedir}/out/${source.jx.kit}.tar.gz" forceOverwrite="yes"/> |
| <checksum algorithm="md5" file="${basedir}/out/${source.jx.kit}.zip" forceOverwrite="yes"/> |
| </target> |
| |
| <target name="sign" > |
| <exec executable="gpg"> |
| <arg value="--armor" /> |
| <arg value="--output" /> |
| <arg value="${basedir}/out/${source.kit}.zip.asc" /> |
| <arg value="--detach-sig" /> |
| <arg value="${basedir}/out/${source.kit}.zip" /> |
| </exec> |
| |
| <exec executable="gpg"> |
| <arg value="--armor" /> |
| <arg value="--output" /> |
| <arg value="${basedir}/out/${source.kit}.tar.gz.asc" /> |
| <arg value="--detach-sig" /> |
| <arg value="${basedir}/out/${source.kit}.tar.gz" /> |
| </exec> |
| |
| <exec executable="gpg"> |
| <arg value="--armor" /> |
| <arg value="--output" /> |
| <arg value="${basedir}/out/${binary.kit}.zip.asc" /> |
| <arg value="--detach-sig" /> |
| <arg value="${basedir}/out/${binary.kit}.zip" /> |
| </exec> |
| |
| <exec executable="gpg"> |
| <arg value="--armor" /> |
| <arg value="--output" /> |
| <arg value="${basedir}/out/${binary.kit}.tar.gz.asc" /> |
| <arg value="--detach-sig" /> |
| <arg value="${basedir}/out/${binary.kit}.tar.gz" /> |
| </exec> |
| |
| <exec executable="gpg"> |
| <arg value="--armor" /> |
| <arg value="--output" /> |
| <arg value="${basedir}/out/${source.jx.kit}.zip.asc" /> |
| <arg value="--detach-sig" /> |
| <arg value="${basedir}/out/${source.jx.kit}.zip" /> |
| </exec> |
| |
| <exec executable="gpg"> |
| <arg value="--armor" /> |
| <arg value="--output" /> |
| <arg value="${basedir}/out/${source.jx.kit}.tar.gz.asc" /> |
| <arg value="--detach-sig" /> |
| <arg value="${basedir}/out/${source.jx.kit}.tar.gz" /> |
| </exec> |
| |
| <exec executable="gpg"> |
| <arg value="--armor" /> |
| <arg value="--output" /> |
| <arg value="${basedir}/out/${binary.jx.kit}.zip.asc" /> |
| <arg value="--detach-sig" /> |
| <arg value="${basedir}/out/${binary.jx.kit}.zip" /> |
| </exec> |
| |
| <exec executable="gpg"> |
| <arg value="--armor" /> |
| <arg value="--output" /> |
| <arg value="${basedir}/out/${binary.jx.kit}.tar.gz.asc" /> |
| <arg value="--detach-sig" /> |
| <arg value="${basedir}/out/${binary.jx.kit}.tar.gz" /> |
| </exec> |
| </target> |
| |
| </project> |