You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by pi...@apache.org on 2017/11/22 08:28:26 UTC

svn commit: r23241 [1/4] - in /release/flex/4.16.1: ./ binaries/ docs/

Author: piotrz
Date: Wed Nov 22 08:28:26 2017
New Revision: 23241

Log:
Apache Flex 4.16.1 Release version

Added:
    release/flex/4.16.1/
    release/flex/4.16.1/ApproveSDK.xml
    release/flex/4.16.1/README
    release/flex/4.16.1/RELEASE_NOTES
    release/flex/4.16.1/apache-flex-sdk-4.16.1-src.tar.gz   (with props)
    release/flex/4.16.1/apache-flex-sdk-4.16.1-src.tar.gz.asc
    release/flex/4.16.1/apache-flex-sdk-4.16.1-src.tar.gz.md5
    release/flex/4.16.1/apache-flex-sdk-4.16.1-src.zip   (with props)
    release/flex/4.16.1/apache-flex-sdk-4.16.1-src.zip.asc
    release/flex/4.16.1/apache-flex-sdk-4.16.1-src.zip.md5
    release/flex/4.16.1/binaries/
    release/flex/4.16.1/binaries/apache-flex-sdk-4.16.1-bin.tar.gz   (with props)
    release/flex/4.16.1/binaries/apache-flex-sdk-4.16.1-bin.tar.gz.asc
    release/flex/4.16.1/binaries/apache-flex-sdk-4.16.1-bin.tar.gz.md5
    release/flex/4.16.1/binaries/apache-flex-sdk-4.16.1-bin.zip   (with props)
    release/flex/4.16.1/binaries/apache-flex-sdk-4.16.1-bin.zip.asc
    release/flex/4.16.1/binaries/apache-flex-sdk-4.16.1-bin.zip.md5
    release/flex/4.16.1/binaries/apache-flex-sdk-installer-config.xml
    release/flex/4.16.1/docs/
    release/flex/4.16.1/docs/apache-flex-sdk-4.16.1-asdocs.zip   (with props)
    release/flex/4.16.1/docs/apache-flex-sdk-4.16.1-asdocs.zip.asc
    release/flex/4.16.1/docs/apache-flex-sdk-4.16.1-asdocs.zip.md5

Added: release/flex/4.16.1/ApproveSDK.xml
==============================================================================
--- release/flex/4.16.1/ApproveSDK.xml (added)
+++ release/flex/4.16.1/ApproveSDK.xml Wed Nov 22 08:28:26 2017
@@ -0,0 +1,1242 @@
+<?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="ApproveApacheSDK" 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="src.rat.report" value="${basedir}/rat-report-src.txt"/>
+    <property name="bin.rat.report" value="${basedir}/rat-report-bin.txt"/>
+    <property name="apache.rat.jar" value="apache-rat-0.12.jar" />
+    <property name="apache.rat.tasks.jar" value="apache-rat-tasks-0.12.jar" />
+    <property name="apache.rat.url" value="http://central.maven.org/maven2/org/apache/rat/apache-rat/0.12" />
+    <property name="apache.rat.tasks.url" value="http://central.maven.org/maven2/org/apache/rat/apache-rat-tasks/0.12" />
+	   
+    <property file="${basedir}/approvesdk.properties"/>
+    
+	<property name="mac.text.display" value="cat" />
+	<property name="win.text.display" value="type" />
+	<property name="linux.text.display" value="cat" />
+    <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.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.PLAYERGLOBAL_HOME}"
+        type="dir"
+        property="PLAYERGLOBAL_HOME" value="${env.PLAYERGLOBAL_HOME}" />
+    
+    <fail message="The PLAYERGLOBAL_HOME property is not set in environment or command-line."
+        unless="PLAYERGLOBAL_HOME"/>
+    
+    <available file="${env.FLASHPLAYER_DEBUGGER}"
+        type="dir"
+        property="FLASHPLAYER_DEBUGGER" value="${env.FLASHPLAYER_DEBUGGER}" />
+    
+    <available file="${env.FLASHPLAYER_DEBUGGER}"
+        type="file"
+        property="FLASHPLAYER_DEBUGGER" value="${env.FLASHPLAYER_DEBUGGER}" />
+    
+    <fail message="The FLASHPLAYER_DEBUGGER property is not set in environment or command-line."
+        unless="FLASHPLAYER_DEBUGGER"/>
+        
+    <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=&lt;release version (e.g. 3.1, 3.2, etc)&gt;"
+    unless="release.version"/>
+
+    <condition property="package.url.path"
+        value="http://apacheflexbuild.cloudapp.net:8080/job/flex-sdk_release-candidate/lastSuccessfulBuild/artifact/out">
+        <not>
+            <isset property="rc" />
+        </not>
+    </condition>
+    <condition property="bin.package.url.path"
+        value="${package.url.path}">
+        <not>
+            <isset property="rc" />
+        </not>
+    </condition>
+
+	<property name="package.url.path" value="https://dist.apache.org/repos/dist/dev/flex/sdk/${release.version}/rc${rc}" />
+    <property name="src.package.url.path" value="${package.url.path}" />
+    <property name="bin.package.url.path" value="${package.url.path}/binaries" />
+    <property name="src.package.url.name" value="apache-flex-sdk-${release.version}-src" />
+    <property name="bin.package.url.name" value="apache-flex-sdk-${release.version}-bin" />
+	
+    <condition property="zip.package">
+        <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.tasks.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="echo-mode" depends="echo-rc, echo-nightly" />
+    <target name="echo-rc" unless="nightly">
+        <fail message="The release candidate number is not set.  Specify -Drc=&lt;rc number (e.g. 1, 2, 3, etc)&gt;"
+        unless="rc"/>
+        <echo>Testing RC${rc} of release ${release.version}</echo>
+    </target>
+    <target name="echo-nightly" if="nightly">
+        <echo>Testing nightly build of release ${release.version}</echo>
+    </target>
+    
+    <target name="main" depends="write-out-jars-list,install-rat,download,check-sigs,uncompress,rat-check,examine-jars,external-jar-folder-dump,check-notices,build,approve" description="Perform required release approval steps">
+    </target>
+    
+    <target name="main-no-download" depends="write-out-jars-list,install-rat,check-sigs,uncompress,rat-check,examine-jars,external-jar-folder-dump,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="write-out-jars-list" >
+        <delete file="jars.txt" />
+        <!-- this is a comma-delimited, no spaces, no-line-breaks list used to decide which jars
+         to skip in the rat-check of the binaries and which jars to examine before approval -->
+        <property name="jars-list" value="ant/lib/flexTasks.jar,lib/asc.jar,lib/asdoc.jar,lib/batik-all-flex.jar,lib/compc.jar,lib/copylocale.jar,lib/digest.jar,lib/fcsh.jar,lib/fdb.jar,lib/flex-compiler-oem.jar,lib/flex-tool-api.jar,lib/fxgutils.jar,lib/mxmlc.jar,lib/mxmlc_da.jar,lib/mxmlc_de.jar,lib/mxmlc_es.jar,lib/mxmlc_fi.jar,lib/mxmlc_fr.jar,lib/mxmlc_it.jar,lib/mxmlc_ja.jar,lib/mxmlc_ko.jar,lib/mxmlc_nb.jar,lib/mxmlc_nl.jar,lib/mxmlc_pt.jar,lib/mxmlc_ru.jar,lib/mxmlc_sv.jar,lib/mxmlc_zh_CN.jar,lib/mxmlc_zh_TW.jar,lib/optimizer.jar,lib/swcdepends.jar,lib/swfdump.jar,lib/swfutils.jar,lib/velocity-dep-1.4-flex.jar"/>
+        <echo file="${basedir}/jars.txt" message="${jars-list}"/>
+        <echo file="${basedir}/jarexcludes.txt" message="${jars-list}"/>
+        <replaceregexp file="${basedir}/jarexcludes.txt" match="," flags="g" replace="${line.separator}" />
+    </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="${src.package.url.path}/${src.package.url.name}.${package.suffix}"
+        dest="${basedir}/${src.package.url.name}.${package.suffix}" />
+        <get src="${src.package.url.path}/${src.package.url.name}.${package.suffix}.md5"
+        dest="${basedir}/${src.package.url.name}.${package.suffix}.md5" />
+        <get src="${bin.package.url.path}/${bin.package.url.name}.${package.suffix}"
+        dest="${basedir}/${bin.package.url.name}.${package.suffix}" />
+        <get src="${bin.package.url.path}/${bin.package.url.name}.${package.suffix}.md5"
+        dest="${basedir}/${bin.package.url.name}.${package.suffix}.md5" />
+        <antcall target="asc_get" />
+    </target>
+    
+    <target name="asc_get" if="rc" >
+        <get src="${src.package.url.path}/${src.package.url.name}.${package.suffix}.asc"
+        dest="${basedir}/${src.package.url.name}.${package.suffix}.asc" />
+        <get src="${bin.package.url.path}/${bin.package.url.name}.${package.suffix}.asc"
+        dest="${basedir}/${bin.package.url.name}.${package.suffix}.asc" />
+    </target>
+    
+    <target name="check-sigs" description="check md5 and gpg sigs">
+        <replace file="${basedir}/${src.package.url.name}.${package.suffix}.md5"
+        token=" " />
+        <checksum file="${basedir}/${src.package.url.name}.${package.suffix}" algorithm="md5" verifyproperty="src.md5.ok" />
+        <condition property="SourceMD5Invalid">
+            <not>
+                <equals arg1="${src.md5.ok}" arg2="true" />
+            </not>
+        </condition>
+        <fail message="Source Package MD5 checksum did not match" if="SourceMD5Invalid" />
+        <replace file="${basedir}/${bin.package.url.name}.${package.suffix}.md5"
+        token=" " />
+        <checksum file="${basedir}/${bin.package.url.name}.${package.suffix}" algorithm="md5" verifyproperty="bin.md5.ok" />
+        <condition property="BinaryMD5Invalid">
+            <not>
+                <equals arg1="${bin.md5.ok}" arg2="true" />
+            </not>
+        </condition>
+        <fail message="Binary Package MD5 checksum did not match" if="BinaryMD5Invalid" />
+        <echo>rc is ${rc}</echo>
+        <antcall target="gpg_check" />
+    </target>
+    
+    <target name="gpg_check" if="rc">
+        <exec executable="gpg" failonerror="true">
+            <arg value="--verify" />
+            <arg value="${basedir}/${src.package.url.name}.${package.suffix}.asc" />
+            <arg value="${basedir}/${src.package.url.name}.${package.suffix}" />
+        </exec>
+        <exec executable="gpg" failonerror="true">
+            <arg value="--verify" />
+            <arg value="${basedir}/${bin.package.url.name}.${package.suffix}.asc" />
+            <arg value="${basedir}/${bin.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}/${src.package.url.name}" failonerror="false" />
+        <delete dir="${basedir}/${bin.package.url.name}" failonerror="false" />
+    </target>
+
+    <target name="untar-file" unless="zip.package" description="Untars zipFile">
+        <untar src="${basedir}/${src.package.url.name}.${package.suffix}"
+        dest="${basedir}" compression="gzip"/>
+        <untar src="${basedir}/${bin.package.url.name}.${package.suffix}"
+        dest="${basedir}" compression="gzip"/>
+    </target>
+
+    <target name="unzip-file" if="zip.package" description="Unzips zipFile">
+        <unzip src="${basedir}/${src.package.url.name}.${package.suffix}"
+        dest="${basedir}/${src.package.url.name}"/>
+        <unzip src="${basedir}/${bin.package.url.name}.${package.suffix}"
+        dest="${basedir}/${bin.package.url.name}"/>
+    </target>
+
+    <target name="rat-check" >
+
+        <echo message="Checking files at ${basedir}/${src.package.url.name}, report is ${src.rat.report}"/>
+
+        <rat:report xmlns:rat="antlib:org.apache.rat.anttasks"
+            reportFile="${src.rat.report}">
+            <fileset dir="${basedir}/${src.package.url.name}">
+                <!--          Start of binary files           -->
+                <!-- exclude Flash Professional file used for integration with Flash Professional -->
+                <exclude name="frameworks/projects/flash-integration/FLA/ContentHolder.fla"/>
+                <!-- exclude font embedded in asdoc example -->
+                <exclude name="frameworks/projects/framework/asdoc/en_US/mx/effects/examples/assets/OpenSans-Regular.ttf"/>
+                <!-- exclude media (png, gif, jpg, mp3, flv) -->
+                <exclude name="**/*.png"/>
+                <exclude name="**/*.gif"/>
+                <exclude name="**/*.jpg"/>
+                <exclude name="**/*.mp3"/>
+                <exclude name="**/*.flv"/>
+                <!-- exclude batik icon -->
+                <exclude name="modules/thirdparty/batik/sources/*.icns"/>
+                <!--          End of binary files           -->
+                <!-- exclude batik manifests -->
+                <exclude name="modules/thirdparty/batik/sources/*.mf"/>
+                <!-- exclude text files -->
+                <exclude name="CONTRIBUTING"/>
+                <exclude name="CONTRIBUTORS"/>
+                <exclude name="licenseParts/LICENSE.bin"/>
+                <exclude name="licenseParts/NOTICE.bin"/>
+                <exclude name="licenseParts/NOTICE.asc"/>
+                <exclude name="licenseParts/NOTICE.base"/>
+                <exclude name="licenseParts/NOTICE.pb"/>
+                <exclude name="licenseParts/saxon9-NOTICES/*"/>
+                <exclude name="modules/thirdparty/batik/lib/**/LICENSE*.txt"/>
+                <exclude name="modules/thirdparty/batik/lib/**/README*.txt"/>
+                <exclude name="frameworks/projects/flatspark/src/flatspark/assets/fonts/**/OFL.txt"/>
+                <!-- exclude w3c sources -->
+                <exclude name="modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/*.mod"/>
+                <exclude name="modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/*.dtd"/>
+                <exclude name="modules/thirdparty/batik/sources/org/w3c/css/sac/LexicalUnit.java"/>
+                <exclude name="modules/thirdparty/batik/sources/org/w3c/flex/forks/css/sac/*.java"/>
+                <exclude name="modules/thirdparty/batik/sources/org/w3c/flex/forks/css/sac/helpers/ParserFactory.java"/>
+                <!-- exclude config files -->
+                <exclude name="modules/thirdparty/batik/svn-revision"/>
+                <exclude name="modules/thirdparty/xerces-patch/src/java/META-INF/services/javax.xml.parsers.SAXParserFactory"/>
+                <exclude name="modules/thirdparty/xerces-patch/src/java/META-INF/services/org.apache.xerces.xni.parser.XMLParserConfiguration"/>
+                <exclude name="modules/thirdparty/xerces-patch/src/java/org/apache/xerces/jaxp/javax.xml.parsers.SAXParserFactory"/>
+            </fileset>
+        </rat:report>
+		<antcall target="display-text" >
+            <param name="file" value="${src.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.src.license.ok"/>
+		<echo>filtering out AL files to make it easier to see binary files</echo>
+		<copy file="${src.rat.report}" tofile="${src.rat.report}.bin.txt" />
+        <replaceregexp file="${src.rat.report}.bin.txt" match="..AL.*" replace="__AL" byline="true"/>
+        <replaceregexp file="${src.rat.report}.bin.txt" flags="gs" match="__AL." replace="" byline="false"/>
+        <antcall target="display-text" >
+            <param name="file" value="${src.rat.report}.bin.txt" />
+        </antcall>
+        <input
+        message="Check that there are no unexpected binaries.  Is it ok?"
+        validargs="y,n"
+        defaultvalue="n"
+        addproperty="rat.src.binaries.ok"/>
+        
+        <echo message="Checking files at ${basedir}/${bin.package.url.name}, report is ${bin.rat.report}"/>
+        
+        <antcall target="binary-rat" />
+        <antcall target="display-text" >
+            <param name="file" value="${bin.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.bin.license.ok"/>
+        <echo>filtering out AL files to make it easier to see binary files</echo>
+        <copy file="${bin.rat.report}" tofile="${bin.rat.report}.bin.txt" />
+        <replaceregexp file="${bin.rat.report}.bin.txt" match="..AL.*" replace="__AL" byline="true"/>
+        <replaceregexp file="${bin.rat.report}.bin.txt" flags="gs" match="__AL." replace="" byline="false"/>
+        <antcall target="display-text" >
+            <param name="file" value="${bin.rat.report}.bin.txt" />
+        </antcall>
+        <input
+        message="Check that there are no unexpected binaries.  Is it ok?"
+        validargs="y,n"
+        defaultvalue="n"
+        addproperty="rat.bin.binaries.ok"/>
+    </target>
+
+    <target name="binary-rat" >
+        <echo>${jars-list}</echo>
+        <rat:report xmlns:rat="antlib:org.apache.rat.anttasks"
+            reportFile="${bin.rat.report}">
+            <fileset dir="${basedir}/${bin.package.url.name}">
+                <!--          Start of binary files           -->
+                <!-- exclude Flash Professional file used for integration with Flash Professional -->
+                <exclude name="frameworks/projects/flash-integration/FLA/ContentHolder.fla"/>
+                <!-- exclude font embedded in asdoc example -->
+                <exclude name="frameworks/projects/framework/asdoc/en_US/mx/effects/examples/assets/OpenSans-Regular.ttf"/>
+                <!-- exclude media (png, gif, jpg, mp3, flv) -->
+                <exclude name="**/*.png"/>
+                <exclude name="**/*.gif"/>
+                <exclude name="**/*.jpg"/>
+                <exclude name="**/*.mp3"/>
+                <exclude name="**/*.flv"/>
+                <!-- exclude batik icon -->
+                <exclude name="modules/thirdparty/batik/sources/*.icns"/>
+                <!--          End of binary files           -->
+                <!-- exclude batik manifests -->
+                <exclude name="modules/thirdparty/batik/sources/*.mf"/>
+                <!-- exclude text files -->
+                <exclude name="CONTRIBUTING"/>
+                <exclude name="CONTRIBUTORS"/>
+                <exclude name="licenseParts/LICENSE.bin"/>
+                <exclude name="licenseParts/NOTICE.bin"/>
+                <exclude name="licenseParts/NOTICE.asc"/>
+                <exclude name="licenseParts/NOTICE.base"/>
+                <exclude name="licenseParts/NOTICE.pb"/>
+                <exclude name="modules/thirdparty/batik/lib/**/LICENSE*.txt"/>
+                <exclude name="modules/thirdparty/batik/lib/**/README*.txt"/>
+                <exclude name="frameworks/projects/flatspark/src/flatspark/assets/fonts/**/OFL.txt"/>
+                <!-- exclude w3c sources -->
+                <exclude name="modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/*.mod"/>
+                <exclude name="modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/*.dtd"/>
+                <exclude name="modules/thirdparty/batik/sources/org/w3c/css/sac/LexicalUnit.java"/>
+                <exclude name="modules/thirdparty/batik/sources/org/w3c/flex/forks/css/sac/*.java"/>
+                <exclude name="modules/thirdparty/batik/sources/org/w3c/flex/forks/css/sac/helpers/ParserFactory.java"/>
+                <!-- exclude config files -->
+                <exclude name="modules/thirdparty/batik/svn-revision"/>
+                <exclude name="modules/thirdparty/xerces-patch/src/java/META-INF/services/javax.xml.parsers.SAXParserFactory"/>
+                <exclude name="modules/thirdparty/xerces-patch/src/java/META-INF/services/org.apache.xerces.xni.parser.XMLParserConfiguration"/>
+                <exclude name="modules/thirdparty/xerces-patch/src/java/org/apache/xerces/jaxp/javax.xml.parsers.SAXParserFactory"/>
+                <exclude name="frameworks/libs/advancedgrids.swc"/>
+                <exclude name="frameworks/libs/air/airframework.swc"/>
+                <exclude name="frameworks/libs/air/airspark.swc"/>
+                <exclude name="frameworks/libs/apache.swc"/>
+                <exclude name="frameworks/libs/authoringsupport.swc"/>
+                <exclude name="frameworks/libs/automation/automation.swc"/>
+                <exclude name="frameworks/libs/automation/automation_agent.swc"/>
+                <exclude name="frameworks/libs/automation/automation_air.swc"/>
+                <exclude name="frameworks/libs/automation/automation_airspark.swc"/>
+                <exclude name="frameworks/libs/automation/automation_dmv.swc"/>
+                <exclude name="frameworks/libs/automation/automation_flashflexkit.swc"/>
+                <exclude name="frameworks/libs/automation/automation_spark.swc"/>
+                <exclude name="frameworks/libs/automation/tool.swc"/>
+                <exclude name="frameworks/libs/automation/tool_air.swc"/>
+                <exclude name="frameworks/libs/charts.swc"/>
+                <exclude name="frameworks/libs/core.swc"/>
+                <exclude name="frameworks/libs/experimental.swc"/>
+                <exclude name="frameworks/libs/experimental_mobile.swc"/>
+                <exclude name="frameworks/libs/flash-integration.swc"/>
+                <exclude name="frameworks/libs/flatspark.swc"/>
+                <exclude name="frameworks/libs/framework.swc"/>
+                <exclude name="frameworks/libs/mobile/mobilecomponents.swc"/>
+                <exclude name="frameworks/libs/mx/mx.swc"/>
+                <exclude name="frameworks/libs/rpc.swc"/>
+                <exclude name="frameworks/libs/spark.swc"/>
+                <exclude name="frameworks/libs/spark_dmv.swc"/>
+                <exclude name="frameworks/libs/sparkskins.swc"/>
+                <exclude name="frameworks/libs/textLayout.swc"/>
+                <exclude name="frameworks/locale/da_DK/advancedgrids_rb.swc"/>
+                <exclude name="frameworks/locale/da_DK/airframework_rb.swc"/>
+                <exclude name="frameworks/locale/da_DK/airspark_rb.swc"/>
+                <exclude name="frameworks/locale/da_DK/apache_rb.swc"/>
+                <exclude name="frameworks/locale/da_DK/automation_agent_rb.swc"/>
+                <exclude name="frameworks/locale/da_DK/automation_rb.swc"/>
+                <exclude name="frameworks/locale/da_DK/charts_rb.swc"/>
+                <exclude name="frameworks/locale/da_DK/experimental_mobile_rb.swc"/>
+                <exclude name="frameworks/locale/da_DK/experimental_rb.swc"/>
+                <exclude name="frameworks/locale/da_DK/framework_rb.swc"/>
+                <exclude name="frameworks/locale/da_DK/mobilecomponents_rb.swc"/>
+                <exclude name="frameworks/locale/da_DK/mx_rb.swc"/>
+                <exclude name="frameworks/locale/da_DK/rpc_rb.swc"/>
+                <exclude name="frameworks/locale/da_DK/spark_rb.swc"/>
+                <exclude name="frameworks/locale/da_DK/textLayout_rb.swc"/>
+                <exclude name="frameworks/locale/da_DK/tool_air_rb.swc"/>
+                <exclude name="frameworks/locale/de_CH/advancedgrids_rb.swc"/>
+                <exclude name="frameworks/locale/de_CH/airframework_rb.swc"/>
+                <exclude name="frameworks/locale/de_CH/apache_rb.swc"/>
+                <exclude name="frameworks/locale/de_CH/automation_agent_rb.swc"/>
+                <exclude name="frameworks/locale/de_CH/automation_rb.swc"/>
+                <exclude name="frameworks/locale/de_CH/charts_rb.swc"/>
+                <exclude name="frameworks/locale/de_CH/experimental_mobile_rb.swc"/>
+                <exclude name="frameworks/locale/de_CH/experimental_rb.swc"/>
+                <exclude name="frameworks/locale/de_CH/framework_rb.swc"/>
+                <exclude name="frameworks/locale/de_CH/mx_rb.swc"/>
+                <exclude name="frameworks/locale/de_CH/rpc_rb.swc"/>
+                <exclude name="frameworks/locale/de_CH/spark_rb.swc"/>
+                <exclude name="frameworks/locale/de_CH/tool_air_rb.swc"/>
+                <exclude name="frameworks/locale/de_DE/advancedgrids_rb.swc"/>
+                <exclude name="frameworks/locale/de_DE/airframework_rb.swc"/>
+                <exclude name="frameworks/locale/de_DE/airspark_rb.swc"/>
+                <exclude name="frameworks/locale/de_DE/apache_rb.swc"/>
+                <exclude name="frameworks/locale/de_DE/automation_agent_rb.swc"/>
+                <exclude name="frameworks/locale/de_DE/automation_rb.swc"/>
+                <exclude name="frameworks/locale/de_DE/charts_rb.swc"/>
+                <exclude name="frameworks/locale/de_DE/experimental_mobile_rb.swc"/>
+                <exclude name="frameworks/locale/de_DE/experimental_rb.swc"/>
+                <exclude name="frameworks/locale/de_DE/flash-integration_rb.swc"/>
+                <exclude name="frameworks/locale/de_DE/framework_rb.swc"/>
+                <exclude name="frameworks/locale/de_DE/mobilecomponents_rb.swc"/>
+                <exclude name="frameworks/locale/de_DE/mx_rb.swc"/>
+                <exclude name="frameworks/locale/de_DE/playerglobal_rb.swc"/>
+                <exclude name="frameworks/locale/de_DE/rpc_rb.swc"/>
+                <exclude name="frameworks/locale/de_DE/spark_rb.swc"/>
+                <exclude name="frameworks/locale/de_DE/textLayout_rb.swc"/>
+                <exclude name="frameworks/locale/de_DE/tool_air_rb.swc"/>
+                <exclude name="frameworks/locale/el_GR/advancedgrids_rb.swc"/>
+                <exclude name="frameworks/locale/el_GR/airframework_rb.swc"/>
+                <exclude name="frameworks/locale/el_GR/airspark_rb.swc"/>
+                <exclude name="frameworks/locale/el_GR/apache_rb.swc"/>
+                <exclude name="frameworks/locale/el_GR/automation_rb.swc"/>
+                <exclude name="frameworks/locale/el_GR/charts_rb.swc"/>
+                <exclude name="frameworks/locale/el_GR/experimental_mobile_rb.swc"/>
+                <exclude name="frameworks/locale/el_GR/experimental_rb.swc"/>
+                <exclude name="frameworks/locale/el_GR/framework_rb.swc"/>
+                <exclude name="frameworks/locale/el_GR/mobilecomponents_rb.swc"/>
+                <exclude name="frameworks/locale/el_GR/mx_rb.swc"/>
+                <exclude name="frameworks/locale/el_GR/rpc_rb.swc"/>
+                <exclude name="frameworks/locale/el_GR/spark_rb.swc"/>
+                <exclude name="frameworks/locale/el_GR/textLayout_rb.swc"/>
+                <exclude name="frameworks/locale/en_AU/advancedgrids_rb.swc"/>
+                <exclude name="frameworks/locale/en_AU/airframework_rb.swc"/>
+                <exclude name="frameworks/locale/en_AU/airspark_rb.swc"/>
+                <exclude name="frameworks/locale/en_AU/apache_rb.swc"/>
+                <exclude name="frameworks/locale/en_AU/automation_rb.swc"/>
+                <exclude name="frameworks/locale/en_AU/charts_rb.swc"/>
+                <exclude name="frameworks/locale/en_AU/experimental_mobile_rb.swc"/>
+                <exclude name="frameworks/locale/en_AU/experimental_rb.swc"/>
+                <exclude name="frameworks/locale/en_AU/framework_rb.swc"/>
+                <exclude name="frameworks/locale/en_AU/mobilecomponents_rb.swc"/>
+                <exclude name="frameworks/locale/en_AU/mx_rb.swc"/>
+                <exclude name="frameworks/locale/en_AU/rpc_rb.swc"/>
+                <exclude name="frameworks/locale/en_AU/spark_rb.swc"/>
+                <exclude name="frameworks/locale/en_AU/textLayout_rb.swc"/>
+                <exclude name="frameworks/locale/en_CA/advancedgrids_rb.swc"/>
+                <exclude name="frameworks/locale/en_CA/airframework_rb.swc"/>
+                <exclude name="frameworks/locale/en_CA/airspark_rb.swc"/>
+                <exclude name="frameworks/locale/en_CA/apache_rb.swc"/>
+                <exclude name="frameworks/locale/en_CA/automation_rb.swc"/>
+                <exclude name="frameworks/locale/en_CA/charts_rb.swc"/>
+                <exclude name="frameworks/locale/en_CA/experimental_mobile_rb.swc"/>
+                <exclude name="frameworks/locale/en_CA/experimental_rb.swc"/>
+                <exclude name="frameworks/locale/en_CA/framework_rb.swc"/>
+                <exclude name="frameworks/locale/en_CA/mobilecomponents_rb.swc"/>
+                <exclude name="frameworks/locale/en_CA/mx_rb.swc"/>
+                <exclude name="frameworks/locale/en_CA/rpc_rb.swc"/>
+                <exclude name="frameworks/locale/en_CA/spark_rb.swc"/>
+                <exclude name="frameworks/locale/en_CA/textLayout_rb.swc"/>
+                <exclude name="frameworks/locale/en_GB/advancedgrids_rb.swc"/>
+                <exclude name="frameworks/locale/en_GB/airframework_rb.swc"/>
+                <exclude name="frameworks/locale/en_GB/airspark_rb.swc"/>
+                <exclude name="frameworks/locale/en_GB/apache_rb.swc"/>
+                <exclude name="frameworks/locale/en_GB/automation_rb.swc"/>
+                <exclude name="frameworks/locale/en_GB/charts_rb.swc"/>
+                <exclude name="frameworks/locale/en_GB/experimental_mobile_rb.swc"/>
+                <exclude name="frameworks/locale/en_GB/experimental_rb.swc"/>
+                <exclude name="frameworks/locale/en_GB/framework_rb.swc"/>
+                <exclude name="frameworks/locale/en_GB/mobilecomponents_rb.swc"/>
+                <exclude name="frameworks/locale/en_GB/mx_rb.swc"/>
+                <exclude name="frameworks/locale/en_GB/rpc_rb.swc"/>
+                <exclude name="frameworks/locale/en_GB/spark_rb.swc"/>
+                <exclude name="frameworks/locale/en_GB/textLayout_rb.swc"/>
+                <exclude name="frameworks/locale/en_US/advancedgrids_rb.swc"/>
+                <exclude name="frameworks/locale/en_US/airframework_rb.swc"/>
+                <exclude name="frameworks/locale/en_US/airspark_rb.swc"/>
+                <exclude name="frameworks/locale/en_US/apache_rb.swc"/>
+                <exclude name="frameworks/locale/en_US/automation_agent_rb.swc"/>
+                <exclude name="frameworks/locale/en_US/automation_rb.swc"/>
+                <exclude name="frameworks/locale/en_US/charts_rb.swc"/>
+                <exclude name="frameworks/locale/en_US/experimental_mobile_rb.swc"/>
+                <exclude name="frameworks/locale/en_US/experimental_rb.swc"/>
+                <exclude name="frameworks/locale/en_US/flash-integration_rb.swc"/>
+                <exclude name="frameworks/locale/en_US/framework_rb.swc"/>
+                <exclude name="frameworks/locale/en_US/mobilecomponents_rb.swc"/>
+                <exclude name="frameworks/locale/en_US/mx_rb.swc"/>
+                <exclude name="frameworks/locale/en_US/playerglobal_rb.swc"/>
+                <exclude name="frameworks/locale/en_US/rpc_rb.swc"/>
+                <exclude name="frameworks/locale/en_US/spark_rb.swc"/>
+                <exclude name="frameworks/locale/en_US/textLayout_rb.swc"/>
+                <exclude name="frameworks/locale/en_US/tool_air_rb.swc"/>
+                <exclude name="frameworks/locale/es_ES/advancedgrids_rb.swc"/>
+                <exclude name="frameworks/locale/es_ES/airframework_rb.swc"/>
+                <exclude name="frameworks/locale/es_ES/airspark_rb.swc"/>
+                <exclude name="frameworks/locale/es_ES/apache_rb.swc"/>
+                <exclude name="frameworks/locale/es_ES/automation_agent_rb.swc"/>
+                <exclude name="frameworks/locale/es_ES/automation_rb.swc"/>
+                <exclude name="frameworks/locale/es_ES/charts_rb.swc"/>
+                <exclude name="frameworks/locale/es_ES/experimental_mobile_rb.swc"/>
+                <exclude name="frameworks/locale/es_ES/experimental_rb.swc"/>
+                <exclude name="frameworks/locale/es_ES/framework_rb.swc"/>
+                <exclude name="frameworks/locale/es_ES/mobilecomponents_rb.swc"/>
+                <exclude name="frameworks/locale/es_ES/mx_rb.swc"/>
+                <exclude name="frameworks/locale/es_ES/rpc_rb.swc"/>
+                <exclude name="frameworks/locale/es_ES/spark_rb.swc"/>
+                <exclude name="frameworks/locale/es_ES/textLayout_rb.swc"/>
+                <exclude name="frameworks/locale/es_ES/tool_air_rb.swc"/>
+                <exclude name="frameworks/locale/fi_FI/advancedgrids_rb.swc"/>
+                <exclude name="frameworks/locale/fi_FI/airframework_rb.swc"/>
+                <exclude name="frameworks/locale/fi_FI/airspark_rb.swc"/>
+                <exclude name="frameworks/locale/fi_FI/apache_rb.swc"/>
+                <exclude name="frameworks/locale/fi_FI/automation_agent_rb.swc"/>
+                <exclude name="frameworks/locale/fi_FI/automation_rb.swc"/>
+                <exclude name="frameworks/locale/fi_FI/charts_rb.swc"/>
+                <exclude name="frameworks/locale/fi_FI/experimental_mobile_rb.swc"/>
+                <exclude name="frameworks/locale/fi_FI/experimental_rb.swc"/>
+                <exclude name="frameworks/locale/fi_FI/framework_rb.swc"/>
+                <exclude name="frameworks/locale/fi_FI/mobilecomponents_rb.swc"/>
+                <exclude name="frameworks/locale/fi_FI/mx_rb.swc"/>
+                <exclude name="frameworks/locale/fi_FI/rpc_rb.swc"/>
+                <exclude name="frameworks/locale/fi_FI/spark_rb.swc"/>
+                <exclude name="frameworks/locale/fi_FI/textLayout_rb.swc"/>
+                <exclude name="frameworks/locale/fi_FI/tool_air_rb.swc"/>
+                <exclude name="frameworks/locale/fr_CH/advancedgrids_rb.swc"/>
+                <exclude name="frameworks/locale/fr_CH/airframework_rb.swc"/>
+                <exclude name="frameworks/locale/fr_CH/airspark_rb.swc"/>
+                <exclude name="frameworks/locale/fr_CH/apache_rb.swc"/>
+                <exclude name="frameworks/locale/fr_CH/automation_agent_rb.swc"/>
+                <exclude name="frameworks/locale/fr_CH/automation_rb.swc"/>
+                <exclude name="frameworks/locale/fr_CH/charts_rb.swc"/>
+                <exclude name="frameworks/locale/fr_CH/experimental_mobile_rb.swc"/>
+                <exclude name="frameworks/locale/fr_CH/experimental_rb.swc"/>
+                <exclude name="frameworks/locale/fr_CH/framework_rb.swc"/>
+                <exclude name="frameworks/locale/fr_CH/mx_rb.swc"/>
+                <exclude name="frameworks/locale/fr_CH/rpc_rb.swc"/>
+                <exclude name="frameworks/locale/fr_CH/spark_rb.swc"/>
+                <exclude name="frameworks/locale/fr_FR/advancedgrids_rb.swc"/>
+                <exclude name="frameworks/locale/fr_FR/airframework_rb.swc"/>
+                <exclude name="frameworks/locale/fr_FR/airspark_rb.swc"/>
+                <exclude name="frameworks/locale/fr_FR/apache_rb.swc"/>
+                <exclude name="frameworks/locale/fr_FR/automation_agent_rb.swc"/>
+                <exclude name="frameworks/locale/fr_FR/automation_rb.swc"/>
+                <exclude name="frameworks/locale/fr_FR/charts_rb.swc"/>
+                <exclude name="frameworks/locale/fr_FR/experimental_mobile_rb.swc"/>
+                <exclude name="frameworks/locale/fr_FR/experimental_rb.swc"/>
+                <exclude name="frameworks/locale/fr_FR/flash-integration_rb.swc"/>
+                <exclude name="frameworks/locale/fr_FR/framework_rb.swc"/>
+                <exclude name="frameworks/locale/fr_FR/mobilecomponents_rb.swc"/>
+                <exclude name="frameworks/locale/fr_FR/mx_rb.swc"/>
+                <exclude name="frameworks/locale/fr_FR/playerglobal_rb.swc"/>
+                <exclude name="frameworks/locale/fr_FR/rpc_rb.swc"/>
+                <exclude name="frameworks/locale/fr_FR/spark_rb.swc"/>
+                <exclude name="frameworks/locale/fr_FR/textLayout_rb.swc"/>
+                <exclude name="frameworks/locale/fr_FR/tool_air_rb.swc"/>
+                <exclude name="frameworks/locale/it_IT/advancedgrids_rb.swc"/>
+                <exclude name="frameworks/locale/it_IT/airframework_rb.swc"/>
+                <exclude name="frameworks/locale/it_IT/airspark_rb.swc"/>
+                <exclude name="frameworks/locale/it_IT/apache_rb.swc"/>
+                <exclude name="frameworks/locale/it_IT/automation_agent_rb.swc"/>
+                <exclude name="frameworks/locale/it_IT/automation_rb.swc"/>
+                <exclude name="frameworks/locale/it_IT/charts_rb.swc"/>
+                <exclude name="frameworks/locale/it_IT/experimental_mobile_rb.swc"/>
+                <exclude name="frameworks/locale/it_IT/experimental_rb.swc"/>
+                <exclude name="frameworks/locale/it_IT/framework_rb.swc"/>
+                <exclude name="frameworks/locale/it_IT/mobilecomponents_rb.swc"/>
+                <exclude name="frameworks/locale/it_IT/mx_rb.swc"/>
+                <exclude name="frameworks/locale/it_IT/rpc_rb.swc"/>
+                <exclude name="frameworks/locale/it_IT/spark_rb.swc"/>
+                <exclude name="frameworks/locale/it_IT/textLayout_rb.swc"/>
+                <exclude name="frameworks/locale/it_IT/tool_air_rb.swc"/>
+                <exclude name="frameworks/locale/ja_JP/advancedgrids_rb.swc"/>
+                <exclude name="frameworks/locale/ja_JP/airframework_rb.swc"/>
+                <exclude name="frameworks/locale/ja_JP/airspark_rb.swc"/>
+                <exclude name="frameworks/locale/ja_JP/apache_rb.swc"/>
+                <exclude name="frameworks/locale/ja_JP/automation_agent_rb.swc"/>
+                <exclude name="frameworks/locale/ja_JP/automation_rb.swc"/>
+                <exclude name="frameworks/locale/ja_JP/charts_rb.swc"/>
+                <exclude name="frameworks/locale/ja_JP/experimental_mobile_rb.swc"/>
+                <exclude name="frameworks/locale/ja_JP/experimental_rb.swc"/>
+                <exclude name="frameworks/locale/ja_JP/flash-integration_rb.swc"/>
+                <exclude name="frameworks/locale/ja_JP/framework_rb.swc"/>
+                <exclude name="frameworks/locale/ja_JP/mobilecomponents_rb.swc"/>
+                <exclude name="frameworks/locale/ja_JP/mx_rb.swc"/>
+                <exclude name="frameworks/locale/ja_JP/playerglobal_rb.swc"/>
+                <exclude name="frameworks/locale/ja_JP/rpc_rb.swc"/>
+                <exclude name="frameworks/locale/ja_JP/spark_rb.swc"/>
+                <exclude name="frameworks/locale/ja_JP/textLayout_rb.swc"/>
+                <exclude name="frameworks/locale/ja_JP/tool_air_rb.swc"/>
+                <exclude name="frameworks/locale/ko_KR/advancedgrids_rb.swc"/>
+                <exclude name="frameworks/locale/ko_KR/airframework_rb.swc"/>
+                <exclude name="frameworks/locale/ko_KR/airspark_rb.swc"/>
+                <exclude name="frameworks/locale/ko_KR/apache_rb.swc"/>
+                <exclude name="frameworks/locale/ko_KR/automation_agent_rb.swc"/>
+                <exclude name="frameworks/locale/ko_KR/automation_rb.swc"/>
+                <exclude name="frameworks/locale/ko_KR/charts_rb.swc"/>
+                <exclude name="frameworks/locale/ko_KR/experimental_mobile_rb.swc"/>
+                <exclude name="frameworks/locale/ko_KR/experimental_rb.swc"/>
+                <exclude name="frameworks/locale/ko_KR/framework_rb.swc"/>
+                <exclude name="frameworks/locale/ko_KR/mobilecomponents_rb.swc"/>
+                <exclude name="frameworks/locale/ko_KR/mx_rb.swc"/>
+                <exclude name="frameworks/locale/ko_KR/rpc_rb.swc"/>
+                <exclude name="frameworks/locale/ko_KR/spark_rb.swc"/>
+                <exclude name="frameworks/locale/ko_KR/textLayout_rb.swc"/>
+                <exclude name="frameworks/locale/ko_KR/tool_air_rb.swc"/>
+                <exclude name="frameworks/locale/nb_NO/advancedgrids_rb.swc"/>
+                <exclude name="frameworks/locale/nb_NO/airframework_rb.swc"/>
+                <exclude name="frameworks/locale/nb_NO/airspark_rb.swc"/>
+                <exclude name="frameworks/locale/nb_NO/apache_rb.swc"/>
+                <exclude name="frameworks/locale/nb_NO/automation_agent_rb.swc"/>
+                <exclude name="frameworks/locale/nb_NO/automation_rb.swc"/>
+                <exclude name="frameworks/locale/nb_NO/charts_rb.swc"/>
+                <exclude name="frameworks/locale/nb_NO/experimental_mobile_rb.swc"/>
+                <exclude name="frameworks/locale/nb_NO/experimental_rb.swc"/>
+                <exclude name="frameworks/locale/nb_NO/framework_rb.swc"/>
+                <exclude name="frameworks/locale/nb_NO/mobilecomponents_rb.swc"/>
+                <exclude name="frameworks/locale/nb_NO/mx_rb.swc"/>
+                <exclude name="frameworks/locale/nb_NO/rpc_rb.swc"/>
+                <exclude name="frameworks/locale/nb_NO/spark_rb.swc"/>
+                <exclude name="frameworks/locale/nb_NO/textLayout_rb.swc"/>
+                <exclude name="frameworks/locale/nb_NO/tool_air_rb.swc"/>
+                <exclude name="frameworks/locale/nl_NL/advancedgrids_rb.swc"/>
+                <exclude name="frameworks/locale/nl_NL/airframework_rb.swc"/>
+                <exclude name="frameworks/locale/nl_NL/airspark_rb.swc"/>
+                <exclude name="frameworks/locale/nl_NL/apache_rb.swc"/>
+                <exclude name="frameworks/locale/nl_NL/automation_agent_rb.swc"/>
+                <exclude name="frameworks/locale/nl_NL/automation_rb.swc"/>
+                <exclude name="frameworks/locale/nl_NL/charts_rb.swc"/>
+                <exclude name="frameworks/locale/nl_NL/experimental_mobile_rb.swc"/>
+                <exclude name="frameworks/locale/nl_NL/experimental_rb.swc"/>
+                <exclude name="frameworks/locale/nl_NL/framework_rb.swc"/>
+                <exclude name="frameworks/locale/nl_NL/mobilecomponents_rb.swc"/>
+                <exclude name="frameworks/locale/nl_NL/mx_rb.swc"/>
+                <exclude name="frameworks/locale/nl_NL/rpc_rb.swc"/>
+                <exclude name="frameworks/locale/nl_NL/spark_rb.swc"/>
+                <exclude name="frameworks/locale/nl_NL/textLayout_rb.swc"/>
+                <exclude name="frameworks/locale/nl_NL/tool_air_rb.swc"/>
+                <exclude name="frameworks/locale/pt_BR/advancedgrids_rb.swc"/>
+                <exclude name="frameworks/locale/pt_BR/airframework_rb.swc"/>
+                <exclude name="frameworks/locale/pt_BR/airspark_rb.swc"/>
+                <exclude name="frameworks/locale/pt_BR/apache_rb.swc"/>
+                <exclude name="frameworks/locale/pt_BR/automation_agent_rb.swc"/>
+                <exclude name="frameworks/locale/pt_BR/automation_rb.swc"/>
+                <exclude name="frameworks/locale/pt_BR/charts_rb.swc"/>
+                <exclude name="frameworks/locale/pt_BR/experimental_mobile_rb.swc"/>
+                <exclude name="frameworks/locale/pt_BR/experimental_rb.swc"/>
+                <exclude name="frameworks/locale/pt_BR/framework_rb.swc"/>
+                <exclude name="frameworks/locale/pt_BR/mobilecomponents_rb.swc"/>
+                <exclude name="frameworks/locale/pt_BR/mx_rb.swc"/>
+                <exclude name="frameworks/locale/pt_BR/rpc_rb.swc"/>
+                <exclude name="frameworks/locale/pt_BR/spark_rb.swc"/>
+                <exclude name="frameworks/locale/pt_BR/textLayout_rb.swc"/>
+                <exclude name="frameworks/locale/pt_BR/tool_air_rb.swc"/>
+                <exclude name="frameworks/locale/pt_PT/advancedgrids_rb.swc"/>
+                <exclude name="frameworks/locale/pt_PT/airframework_rb.swc"/>
+                <exclude name="frameworks/locale/pt_PT/airspark_rb.swc"/>
+                <exclude name="frameworks/locale/pt_PT/apache_rb.swc"/>
+                <exclude name="frameworks/locale/pt_PT/automation_rb.swc"/>
+                <exclude name="frameworks/locale/pt_PT/charts_rb.swc"/>
+                <exclude name="frameworks/locale/pt_PT/experimental_mobile_rb.swc"/>
+                <exclude name="frameworks/locale/pt_PT/experimental_rb.swc"/>
+                <exclude name="frameworks/locale/pt_PT/framework_rb.swc"/>
+                <exclude name="frameworks/locale/pt_PT/mobilecomponents_rb.swc"/>
+                <exclude name="frameworks/locale/pt_PT/mx_rb.swc"/>
+                <exclude name="frameworks/locale/pt_PT/rpc_rb.swc"/>
+                <exclude name="frameworks/locale/pt_PT/spark_rb.swc"/>
+                <exclude name="frameworks/locale/pt_PT/textLayout_rb.swc"/>
+                <exclude name="frameworks/locale/ru_RU/advancedgrids_rb.swc"/>
+                <exclude name="frameworks/locale/ru_RU/airframework_rb.swc"/>
+                <exclude name="frameworks/locale/ru_RU/airspark_rb.swc"/>
+                <exclude name="frameworks/locale/ru_RU/apache_rb.swc"/>
+                <exclude name="frameworks/locale/ru_RU/automation_agent_rb.swc"/>
+                <exclude name="frameworks/locale/ru_RU/automation_rb.swc"/>
+                <exclude name="frameworks/locale/ru_RU/charts_rb.swc"/>
+                <exclude name="frameworks/locale/ru_RU/experimental_mobile_rb.swc"/>
+                <exclude name="frameworks/locale/ru_RU/experimental_rb.swc"/>
+                <exclude name="frameworks/locale/ru_RU/flash-integration_rb.swc"/>
+                <exclude name="frameworks/locale/ru_RU/framework_rb.swc"/>
+                <exclude name="frameworks/locale/ru_RU/mobilecomponents_rb.swc"/>
+                <exclude name="frameworks/locale/ru_RU/mx_rb.swc"/>
+                <exclude name="frameworks/locale/ru_RU/playerglobal_rb.swc"/>
+                <exclude name="frameworks/locale/ru_RU/rpc_rb.swc"/>
+                <exclude name="frameworks/locale/ru_RU/spark_rb.swc"/>
+                <exclude name="frameworks/locale/ru_RU/textLayout_rb.swc"/>
+                <exclude name="frameworks/locale/ru_RU/tool_air_rb.swc"/>
+                <exclude name="frameworks/locale/sv_SE/advancedgrids_rb.swc"/>
+                <exclude name="frameworks/locale/sv_SE/airframework_rb.swc"/>
+                <exclude name="frameworks/locale/sv_SE/airspark_rb.swc"/>
+                <exclude name="frameworks/locale/sv_SE/apache_rb.swc"/>
+                <exclude name="frameworks/locale/sv_SE/automation_agent_rb.swc"/>
+                <exclude name="frameworks/locale/sv_SE/automation_rb.swc"/>
+                <exclude name="frameworks/locale/sv_SE/charts_rb.swc"/>
+                <exclude name="frameworks/locale/sv_SE/experimental_mobile_rb.swc"/>
+                <exclude name="frameworks/locale/sv_SE/experimental_rb.swc"/>
+                <exclude name="frameworks/locale/sv_SE/framework_rb.swc"/>
+                <exclude name="frameworks/locale/sv_SE/mobilecomponents_rb.swc"/>
+                <exclude name="frameworks/locale/sv_SE/mx_rb.swc"/>
+                <exclude name="frameworks/locale/sv_SE/rpc_rb.swc"/>
+                <exclude name="frameworks/locale/sv_SE/spark_rb.swc"/>
+                <exclude name="frameworks/locale/sv_SE/textLayout_rb.swc"/>
+                <exclude name="frameworks/locale/sv_SE/tool_air_rb.swc"/>
+                <exclude name="frameworks/locale/zh_CN/advancedgrids_rb.swc"/>
+                <exclude name="frameworks/locale/zh_CN/airframework_rb.swc"/>
+                <exclude name="frameworks/locale/zh_CN/airspark_rb.swc"/>
+                <exclude name="frameworks/locale/zh_CN/apache_rb.swc"/>
+                <exclude name="frameworks/locale/zh_CN/automation_agent_rb.swc"/>
+                <exclude name="frameworks/locale/zh_CN/automation_rb.swc"/>
+                <exclude name="frameworks/locale/zh_CN/charts_rb.swc"/>
+                <exclude name="frameworks/locale/zh_CN/experimental_mobile_rb.swc"/>
+                <exclude name="frameworks/locale/zh_CN/experimental_rb.swc"/>
+                <exclude name="frameworks/locale/zh_CN/flash-integration_rb.swc"/>
+                <exclude name="frameworks/locale/zh_CN/framework_rb.swc"/>
+                <exclude name="frameworks/locale/zh_CN/mobilecomponents_rb.swc"/>
+                <exclude name="frameworks/locale/zh_CN/mx_rb.swc"/>
+                <exclude name="frameworks/locale/zh_CN/playerglobal_rb.swc"/>
+                <exclude name="frameworks/locale/zh_CN/rpc_rb.swc"/>
+                <exclude name="frameworks/locale/zh_CN/spark_rb.swc"/>
+                <exclude name="frameworks/locale/zh_CN/textLayout_rb.swc"/>
+                <exclude name="frameworks/locale/zh_CN/tool_air_rb.swc"/>
+                <exclude name="frameworks/locale/zh_TW/advancedgrids_rb.swc"/>
+                <exclude name="frameworks/locale/zh_TW/airframework_rb.swc"/>
+                <exclude name="frameworks/locale/zh_TW/airspark_rb.swc"/>
+                <exclude name="frameworks/locale/zh_TW/apache_rb.swc"/>
+                <exclude name="frameworks/locale/zh_TW/automation_agent_rb.swc"/>
+                <exclude name="frameworks/locale/zh_TW/automation_rb.swc"/>
+                <exclude name="frameworks/locale/zh_TW/charts_rb.swc"/>
+                <exclude name="frameworks/locale/zh_TW/experimental_mobile_rb.swc"/>
+                <exclude name="frameworks/locale/zh_TW/experimental_rb.swc"/>
+                <exclude name="frameworks/locale/zh_TW/framework_rb.swc"/>
+                <exclude name="frameworks/locale/zh_TW/mobilecomponents_rb.swc"/>
+                <exclude name="frameworks/locale/zh_TW/mx_rb.swc"/>
+                <exclude name="frameworks/locale/zh_TW/rpc_rb.swc"/>
+                <exclude name="frameworks/locale/zh_TW/spark_rb.swc"/>
+                <exclude name="frameworks/locale/zh_TW/textLayout_rb.swc"/>
+                <exclude name="frameworks/locale/zh_TW/tool_air_rb.swc"/>
+                <exclude name="frameworks/projects/flash-integration/libs/flash-integration.swc"/>
+                <exclude name="frameworks/themes/Halo/halo.swc"/>
+                <exclude name="frameworks/themes/Mobile/mobile.swc"/>
+                <exclude name="frameworks/themes/Wireframe/wireframe.swc"/>
+                <exclude name="samples/themes/arcade/arcade.swc"/>
+                <exclude name="samples/themes/cobalt/cobalt.swc"/>
+                <exclude name="samples/themes/graphite/graphite.swc"/>
+                <exclude name="frameworks/localFonts.ser"/>
+                <exclude name="frameworks/macFonts.ser"/>
+                <exclude name="frameworks/projects/advancedgrids/bundles.properties"/>
+                <exclude name="frameworks/projects/airframework/bundles.properties"/>
+                <exclude name="frameworks/projects/airspark/bundles.properties"/>
+                <exclude name="frameworks/projects/apache/bundles.properties"/>
+                <exclude name="frameworks/projects/authoringsupport/bundles.properties"/>
+                <exclude name="frameworks/projects/automation/bundles.properties"/>
+                <exclude name="frameworks/projects/automation_agent/bundles.properties"/>
+                <exclude name="frameworks/projects/automation_air/bundles.properties"/>
+                <exclude name="frameworks/projects/automation_airspark/bundles.properties"/>
+                <exclude name="frameworks/projects/charts/bundles.properties"/>
+                <exclude name="frameworks/projects/core/bundles.properties"/>
+                <exclude name="frameworks/projects/experimental/bundles.properties"/>
+                <exclude name="frameworks/projects/experimental_mobile/bundles.properties"/>
+                <exclude name="frameworks/projects/flash-integration/bundles.properties"/>
+                <exclude name="frameworks/projects/flatspark/bundles.properties"/>
+                <exclude name="frameworks/projects/framework/bundles.properties"/>
+                <exclude name="frameworks/projects/halo/bundles.properties"/>
+                <exclude name="frameworks/projects/mobilecomponents/bundles.properties"/>
+                <exclude name="frameworks/projects/mobiletheme/bundles.properties"/>
+                <exclude name="frameworks/projects/mx/bundles.properties"/>
+                <exclude name="frameworks/projects/rpc/bundles.properties"/>
+                <exclude name="frameworks/projects/spark/bundles.properties"/>
+                <exclude name="frameworks/projects/spark_dmv/bundles.properties"/>
+                <exclude name="frameworks/projects/sparkskins/bundles.properties"/>
+                <exclude name="frameworks/projects/tool/bundles.properties"/>
+                <exclude name="frameworks/projects/tool_air/bundles.properties"/>
+                <exclude name="frameworks/projects/wireframe/bundles.properties"/>
+                <exclude name="frameworks/winFonts.ser"/>
+                <!-- external jars.  If you add an external jar, also add it to the external-jar-folder-dump target -->
+                <exclude name="lib/external/commons-collections.jar"/>
+                <exclude name="lib/external/commons-discovery.jar"/>
+                <exclude name="lib/external/commons-logging.jar"/>
+                <exclude name="lib/external/javacc.jar"/>
+                <exclude name="lib/external/saxon9.jar"/>
+                <exclude name="lib/external/xalan.jar"/>
+                <exclude name="lib/external/xercesImpl.jar"/>
+                <exclude name="lib/external/xercesPatch.jar"/>
+                <exclude name="lib/external/xml-apis-ext.jar"/>
+                <exclude name="lib/external/xml-apis.jar"/>
+                <!-- end list of external jars.  Next is their collateral files -->
+                <exclude name="lib/external/README.xml-apis-ext.txt"/>
+                <exclude name="lib/external/commons-collections-LICENSE.txt"/>
+                <exclude name="lib/external/commons-discovery-LICENSE"/>
+                <exclude name="lib/external/commons-logging-NOTICE.txt"/>
+                <exclude name="lib/external/saxon9-NOTICES/APACHE-ANT.txt"/>
+                <exclude name="lib/external/saxon9-NOTICES/APACHE-RESOLVER.txt"/>
+                <exclude name="lib/external/saxon9-NOTICES/APACHE-XERCES.txt"/>
+                <exclude name="lib/external/saxon9-NOTICES/FRIJTERS.txt"/>
+                <exclude name="lib/external/saxon9-NOTICES/GPL+CLASSPATH.txt"/>
+                <exclude name="lib/external/saxon9-NOTICES/JAMESCLARK.txt"/>
+                <exclude name="lib/external/saxon9-NOTICES/LEGAL.txt"/>
+                <exclude name="lib/external/saxon9-NOTICES/THAI.txt"/>
+                <exclude name="lib/external/xalan-LICENSES/BCEL.README.txt"/>
+                <exclude name="lib/external/xalan-LICENSES/java_cup.README.txt"/>
+                <exclude name="lib/external/xalan-LICENSES/regexp.README.txt"/>
+                <exclude name="lib/external/xalan-LICENSES/runtime.README.txt"/>
+                <exclude name="lib/external/xalan-NOTICE"/>
+                <exclude name="lib/external/xerces-LICENSE/LICENSE-SAX.html"/>
+                <exclude name="lib/external/xerces-NOTICES/NOTICE.resolver.txt"/>
+                <exclude name="lib/external/xerces-NOTICES/NOTICE.serializer.txt"/>
+                <exclude name="lib/external/xml-apis-LICENSES/LICENSE.sax.txt"/>
+                <exclude name="lib/external/xml-apis-LICENSES/README.dom.txt"/>
+                <exclude name="lib/external/xml-apis-LICENSES/README.sax.txt"/>
+                <exclude name="lib/external/xml-apis-ext-LICENSES/LICENSE.sac.html"/>
+                <exclude name="lib/external/xml-apis-ext-LICENSES/README.dom.txt"/>
+                <!-- this list is generated from a list at the top of this file -->
+                <excludesfile name="${basedir}/jarexcludes.txt" />
+            </fileset>
+        </rat:report>
+    </target>
+    
+    <target name="external-jar-folder-dump" if="isMac">
+        <echo>list of folders in external jars.  This may impact LICENSE and NOTICE</echo>
+        <antcall target="show-jar-folders" >
+            <param name="thisFile" value="lib/external/commons-collections.jar" />
+        </antcall>
+        <antcall target="show-jar-folders" >
+            <param name="thisFile" value="lib/external/commons-discovery.jar" />
+        </antcall>
+        <antcall target="show-jar-folders" >
+            <param name="thisFile" value="lib/external/commons-logging.jar" />
+        </antcall>
+        <antcall target="show-jar-folders" >
+            <param name="thisFile" value="lib/external/javacc.jar" />
+        </antcall>
+        <antcall target="show-jar-folders" >
+            <param name="thisFile" value="lib/external/saxon9.jar" />
+        </antcall>
+        <antcall target="show-jar-folders" >
+            <param name="thisFile" value="lib/external/xalan.jar" />
+        </antcall>
+        <antcall target="show-jar-folders" >
+            <param name="thisFile" value="lib/external/xercesImpl.jar" />
+        </antcall>
+        <antcall target="show-jar-folders" >
+            <param name="thisFile" value="lib/external/xercesPatch.jar" />
+        </antcall>
+        <antcall target="show-jar-folders" >
+            <param name="thisFile" value="lib/external/xml-apis-ext.jar" />
+        </antcall>
+        <antcall target="show-jar-folders" >
+            <param name="thisFile" value="lib/external/xml-apis.jar" />
+        </antcall>
+        <echo>end of list of folders in external jars.  This may impact LICENSE and NOTICE</echo>
+    </target>
+
+    <!-- someday figure out how to use
+     find . -name "*.jar" -exec tar ft {} \; | sort -u > paths.txt -->
+
+    <!-- how to do tar and sort on Windows? -->
+    <target name="examine-jars" if="isMac">
+        <!-- comma delimited list, no spaces, not one file per line -->
+        <copy file="jars.txt" tofile="loop.txt" />
+        <ant antfile="ApproveSDK.xml" target="loopOnce" inheritAll="false" />
+    </target>
+    <target name="loopOnce" >
+        <!-- make a copy of the list so we can munge it to
+         get the first item in the list -->
+        <delete file="loop1.txt" />
+        <copy file="loop.txt" tofile="loop1.txt" />
+        <loadfile srcFile="loop.txt" property="checkiflast" />
+        <condition property="islast" value="true">
+            <not>
+                <contains string="${checkiflast}" substring="," />
+            </not>
+        </condition>
+        <antcall target="notlast" />
+        <antcall target="lastone" />
+    </target>
+    <target name="notlast" unless="islast">
+        <loadfile srcFile="loop1.txt" property="echoFile" />
+        <replaceregexp file="loop1.txt" match="^(.*),(.*)" replace="\2" />
+        <loadfile srcFile="loop1.txt" property="thisFile" />
+        <antcall target="jar-check" />
+        <replaceregexp file="loop.txt" match="^(.*),(.*)" replace="\1" />
+        <ant antfile="ApproveSDK.xml" target="loopOnce" inheritAll="false"/>
+    </target>
+    <target name="lastone" if="islast">
+        <loadfile srcFile="loop1.txt" property="thisFile" />
+        <antcall target="jar-check" />
+        <delete file="loop.txt" />
+        <delete file="loop1.txt" />
+    </target>
+
+    <target name="show-jar-folders">
+        <delete dir="${basedir}/jar" failonerror="false" />
+        <mkdir dir="${basedir}/jar" />
+        <unjar src="${basedir}/${bin.package.url.name}/${thisFile}" dest="${basedir}/jar" />
+        <exec executable="tar" output="${basedir}/jarclasses.txt">
+            <arg value="tf" />
+            <arg value="${basedir}/${bin.package.url.name}/${thisFile}" />
+        </exec>
+        <replaceregexp file="${basedir}/jarclasses.txt" match="(.*)/(.*)" replace="\1" flags="m" byline="true"/>
+        <exec executable="sort" output="${basedir}/jarpaths.txt">
+            <arg value="-u" />
+            <arg value="${basedir}/jarclasses.txt" />
+        </exec>
+        <antcall target="display-text" >
+            <param name="file" value="${basedir}/jarpaths.txt" />
+        </antcall>
+    </target>
+    
+    <target name="jar-check" >
+        <antcall target="show-jar-folders" />
+        <input
+        message="Above is the list of folders in this ${thisFile}.&#xA;Folder names can sometimes indicate presence of third-party content that needs to be in LICENSE and/or NOTICE files.&#xA;Press the Enter key to see the LICENSE for this jar."/>
+        <fail message="LICENSE not in ${basedir}/${bin.package.url.name}/${thisFile}">
+            <condition>
+                <not>
+                    <available file="${basedir}/jar/META-INF/LICENSE" />
+                </not>
+            </condition>
+        </fail>
+        <fail message="NOTICE not in ${basedir}/${bin.package.url.name}/${thisFile}">
+            <condition>
+                <not>
+                    <available file="${basedir}/jar/META-INF/NOTICE" />
+                </not>
+            </condition>
+        </fail>
+        <antcall target="display-text" >
+            <param name="file" value="${basedir}/jar/META-INF/LICENSE" />
+        </antcall>
+        <input
+        message="Check the LICENSE for the Apache License and third-party licenses. Is it ok?"
+        validargs="y,n"
+        defaultvalue="y"
+        addproperty="jar.license.ok"/>
+        <fail message="LICENSE for ${basedir}/${bin.package.url.name}/${thisFile} not correct">
+            <condition>
+                <not>
+                    <equals arg1="${jar.license.ok}" arg2="y" />
+                </not>
+            </condition>
+        </fail>
+        <antcall target="display-text" >
+            <param name="file" value="${basedir}/jar/META-INF/NOTICE" />
+        </antcall>
+        <input
+        message="Check the NOTICE for required notices from third-parties. Is it ok?"
+        validargs="y,n"
+        defaultvalue="y"
+        addproperty="jar.notice.ok"/>
+        <fail message="NOTICE for ${basedir}/${bin.package.url.name}/${thisFile} not correct">
+            <condition>
+                <not>
+                    <equals arg1="${jar.notice.ok}" arg2="y" />
+                </not>
+            </condition>
+        </fail>
+        
+    </target>
+
+    <target name="check-notices" description="open each notice file for review, grep for a few things" >
+        <fail message="README not in source package">
+            <condition>
+                <not>
+                    <available file="${basedir}/${src.package.url.name}/README" />
+                </not>
+            </condition>
+        </fail>
+        <fail message="RELEASE_NOTES not in source package">
+            <condition>
+                <not>
+                    <available file="${basedir}/${src.package.url.name}/RELEASE_NOTES" />
+                </not>
+            </condition>
+        </fail>
+        <fail message="NOTICE not in source package">
+            <condition>
+                <not>
+                    <available file="${basedir}/${src.package.url.name}/NOTICE" />
+                </not>
+            </condition>
+        </fail>
+        <fail message="LICENSE not in source package">
+            <condition>
+                <not>
+                    <available file="${basedir}/${src.package.url.name}/LICENSE" />
+                </not>
+            </condition>
+        </fail>
+        <fail message="README not in binary package">
+            <condition>
+                <not>
+                    <available file="${basedir}/${bin.package.url.name}/README" />
+                </not>
+            </condition>
+        </fail>
+        <fail message="RELEASE_NOTES not in binary package">
+            <condition>
+                <not>
+                    <available file="${basedir}/${bin.package.url.name}/RELEASE_NOTES" />
+                </not>
+            </condition>
+        </fail>
+        <fail message="NOTICE not in binary package">
+            <condition>
+                <not>
+                    <available file="${basedir}/${bin.package.url.name}/NOTICE" />
+                </not>
+            </condition>
+        </fail>
+        <fail message="LICENSE not in binary package">
+            <condition>
+                <not>
+                    <available file="${basedir}/${bin.package.url.name}/LICENSE" />
+                </not>
+            </condition>
+        </fail>
+        <checksum file="${basedir}/${src.package.url.name}/RELEASE_NOTES" property="src.rnmd5" />
+        <checksum file="${basedir}/${bin.package.url.name}/RELEASE_NOTES" property="bin.rnmd5" />
+        <fail message="RELEASE_NOTES in binary package does not match source package">
+            <condition>
+                <not>
+                    <equals arg1="${src.rnmd5}" arg2="${bin.rnmd5}" />
+                </not>
+            </condition>
+        </fail>
+        <checksum file="${basedir}/${src.package.url.name}/README" property="src.rmd5" />
+        <checksum file="${basedir}/${bin.package.url.name}/README" property="bin.rmd5" />
+        <fail message="README in binary package does not match source package">
+            <condition>
+                <not>
+                    <equals arg1="${src.rmd5}" arg2="${bin.rmd5}" />
+                </not>
+            </condition>
+        </fail>
+        <antcall target="display-text" >
+            <param name="file" value="${basedir}/${src.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}/${src.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}/${src.package.url.name}/NOTICE" />
+        </antcall>
+        <input
+        message="Check the source package NOTICE for required notices from third-parties. Is it ok?"
+        validargs="y,n"
+        defaultvalue="y"
+        addproperty="src.notice.ok"/>
+        
+        <antcall target="display-text" >
+            <param name="file" value="${basedir}/${src.package.url.name}/LICENSE" />
+        </antcall>
+        <input
+        message="Check the source package LICENSE for the Apache License and third-party licenses. Is it ok?"
+        validargs="y,n"
+        defaultvalue="y"
+        addproperty="src.license.ok"/>
+        
+        <antcall target="display-text" >
+            <param name="file" value="${basedir}/${bin.package.url.name}/NOTICE" />
+        </antcall>
+        <input
+        message="Check the binary package NOTICE for required notices from third-parties. Is it ok?"
+        validargs="y,n"
+        defaultvalue="y"
+        addproperty="bin.notice.ok"/>
+        
+        <antcall target="display-text" >
+            <param name="file" value="${basedir}/${bin.package.url.name}/LICENSE" />
+        </antcall>
+        <input
+        message="Check the binary package LICENSE for the Apache License and third-party licenses. Is it ok?"
+        validargs="y,n"
+        defaultvalue="y"
+        addproperty="bin.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" />
+        <chmod file="${basedir}/${src.package.url.name}/bin/compc" perm="ugo+rx"/>
+        <chmod file="${basedir}/${src.package.url.name}/bin/mxmlc" perm="ugo+rx"/>
+        <property name="build.noprompt" value="true" />
+        <ant dir="${basedir}/${src.package.url.name}" target="main" />
+        <ant dir="${basedir}/${src.package.url.name}" target="checkintests" />
+    </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}/${src.package.url.name}/in" >
+			<fileset dir="${download.cache.dir}" />
+		</copy>
+    </target>
+    	
+	<target name="approve" >
+		<condition property="vote" value="+1">
+			<and>
+                <equals arg1="${rat.src.license.ok}" arg2="y" />
+                <equals arg1="${rat.src.binaries.ok}" arg2="y" />
+                <equals arg1="${rat.bin.license.ok}" arg2="y" />
+                <equals arg1="${rat.bin.binaries.ok}" arg2="y" />
+                <equals arg1="${readme.ok}" arg2="y" />
+                <equals arg1="${releasenotes.ok}" arg2="y" />
+                <equals arg1="${src.notice.ok}" arg2="y" />
+                <equals arg1="${bin.notice.ok}" arg2="y" />
+                <equals arg1="${src.license.ok}" arg2="y" />
+                <equals arg1="${bin.license.ok}" arg2="y" />
+			</and>
+		</condition>
+		<property name="vote" value="-1" />
+		<echo>
+${vote}
+Package ${src.package.url.path}/${src.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: ${src.notice.ok}
+LICENSE is ok: ${src.license.ok}
+No unapproved licenses or archives: ${rat.src.license.ok}
+No unapproved binaries: ${rat.src.binaries.ok}
+
+Package ${bin.package.url.path}/${bin.package.url.name}.${package.suffix}
+Binary kit signatures match: y
+NOTICE is ok: ${bin.notice.ok}
+LICENSE is ok: ${bin.license.ok}
+No unapproved licenses or files in jars: y
+No unapproved licenses or archives in binary package: ${rat.bin.license.ok}
+No unapproved binaries in binary package: ${rat.bin.binaries.ok}
+
+		</echo>
+		<fail>
+			<condition>
+	            <equals arg1="-1" arg2="${vote}"/>
+			</condition>
+		</fail>
+	</target>
+</project>