You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ah...@apache.org on 2020/05/03 19:01:04 UTC

svn commit: r39259 [2/2] - /dev/royale/0.9.7/rc3/ApproveRoyale.xml

Modified: dev/royale/0.9.7/rc3/ApproveRoyale.xml
==============================================================================
--- dev/royale/0.9.7/rc3/ApproveRoyale.xml (original)
+++ dev/royale/0.9.7/rc3/ApproveRoyale.xml Sun May  3 19:01:04 2020
@@ -1,1131 +1,1119 @@
-<?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="ApproveApacheRoyale" 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="doc.rat.report" value="${basedir}/rat-report-doc.txt"/>
-	<property name="apache.rat.jar" value="apache-rat-0.11.jar" />
-	<property name="apache.rat.tasks.jar" value="apache-rat-tasks-0.11.jar" />
-	<property name="apache.rat.url" value="https://search.maven.org/remotecontent?filepath=org/apache/rat/apache-rat/0.11" />
-    <property name="apache.rat.tasks.url" value="https://search.maven.org/remotecontent?filepath=org/apache/rat/apache-rat-tasks/0.11" />
-	   
-    <property file="${basedir}/approveroyale.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="mvn" value="mvn.cmd">
-        <isset property="isWindows" />
-    </condition>
-    <property name="mvn" value="mvn" />
-    
-	<available file="${env.ProgramFiles}/Mozilla Firefox/firefox.exe"
-		type="file" 
-		property="browser" value="${env.ProgramFiles}/Mozilla Firefox/firefox.exe" />
-	<available file="${env.ProgramFiles(x86)}/Mozilla Firefox/firefox.exe" 
-		type="file" 
-		property="browser" value="${env.ProgramFiles}/Mozilla Firefox/firefox.exe" />
-
-	<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"/>
-		
-    <target name="check-flash" if="use-flash">
-        <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="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"/>
-    </target>
-        
-    <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://apacheroyaleci2.westus2.cloudapp.azure.com:8080/job/royale-asjs/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>
-    <condition property="doc.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/royale/${release.version}/rc${rc}" />
-	<property name="package.url.name" value="apache-royale-${release.version}-src" />
-    <property name="bin.package.url.path" value="${package.url.path}/binaries" />
-    <property name="bin.package.url.name" value="apache-royale-${release.version}-bin-js-swf" />
-    <property name="maven.package.url.name" value="apache-royale-${release.version}-maven-src" />
-    <!--
-    <property name="doc.package.url.path" value="${package.url.path}/doc" />
-    <property name="doc.package.url.name" value="apache-royale-${release.version}-asdocs" />
-     -->
-	
-    <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="main" depends="check-flash,write-out-jars-list,install-rat,download,check-sigs,uncompress,copy-source-for-maven,rat-check,binary-rat,doc-rat,check-notices,examine-jars,build,approve" description="Perform required release approval steps">
-    </target>
-    
-    <target name="main-no-download" depends="check-flash,write-out-jars-list,install-rat,check-sigs,uncompress,copy-source-for-maven,rat-check,binary-rat,doc-rat,check-notices,examine-jars,build,approve" description="Perform required release approval steps">
-    </target>
-	
-    <target name="copy-source-for-maven">
-        <copy todir="${basedir}/${maven.package.url.name}">
-            <fileset dir="${basedir}/${package.url.name}">
-                <include name="**"/>
-            </fileset>
-        </copy>
-    </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="lib/compc.jar,lib/compiler.jar,lib/compiler-asc.jar,lib/compiler-common.jar,lib/compiler-compc.jar,lib/compiler-mxmlc.jar,lib/compiler-optimizer.jar,lib/compiler-swfdump.jar,lib/swfutils.jar,lib/fdb.jar,lib/flex-compiler-oem.jar,js/lib/asdoc.jar,js/lib/compiler-royaleTasks.jar,js/lib/compc.jar,js/lib/externc.jar,js/lib/jsc.jar,js/lib/mxmlc.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="${package.url.path}/${package.url.name}.${package.suffix}"
-            dest="${basedir}/${package.url.name}.${package.suffix}" />
-        <get src="${package.url.path}/${package.url.name}.${package.suffix}.sha512"
-            dest="${basedir}/${package.url.name}.${package.suffix}.sha512" />
-        <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}.sha512"
-            dest="${basedir}/${bin.package.url.name}.${package.suffix}.sha512" />
-        <!-- no doc packages in 0.8.0
-        <get src="${doc.package.url.path}/${doc.package.url.name}.zip"
-            dest="${basedir}/${doc.package.url.name}.zip" />
-        <get src="${doc.package.url.path}/${doc.package.url.name}.zip.sha512"
-            dest="${basedir}/${doc.package.url.name}.zip.sha512" />-->
-        <antcall target="get_asc" />
-    </target>
-
-    <target name="get_asc" if="rc" >
-        <get src="${package.url.path}/${package.url.name}.${package.suffix}.asc"
-        dest="${basedir}/${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" />
-        <!-- no doc packages in 0.8.0
-        <get src="${doc.package.url.path}/${doc.package.url.name}.zip.asc"
-        dest="${basedir}/${doc.package.url.name}.zip.asc" />-->
-    </target>
-    
-    <target name="check-sigs" description="check sha512 and gpg sigs">
-		<replace file="${basedir}/${package.url.name}.${package.suffix}.sha512"
-			token=" " />
-		<checksum file="${basedir}/${package.url.name}.${package.suffix}" algorithm="SHA-512" verifyproperty="SHA-512.ok" fileext=".sha512"/>
-        <condition property="SHA-512Invalid">
-			<not>
-				<equals arg1="${SHA-512.ok}" arg2="true" />
-			</not>
-        </condition>
-        <fail message="SHA-512 checksum did not match" if="SHA-512Invalid" />
-        <replace file="${basedir}/${bin.package.url.name}.${package.suffix}.sha512"
-        token=" " />
-        <checksum file="${basedir}/${bin.package.url.name}.${package.suffix}" algorithm="SHA-512" verifyproperty="bin.SHA-512.ok" fileext=".sha512"/>
-        <condition property="BinarySHA-512Invalid">
-            <not>
-                <equals arg1="${bin.SHA-512.ok}" arg2="true" />
-            </not>
-        </condition>
-        <fail message="Binary Package SHA-512 checksum did not match" if="BinarySHA-512Invalid" />
-        <!-- no doc packages in 0.8.0
-        <replace file="${basedir}/${doc.package.url.name}.zip.sha512"
-        token=" " />
-        <checksum file="${basedir}/${doc.package.url.name}.zip" algorithm="SHA-512" verifyproperty="doc.SHA-512.ok" fileext=".sha512"/>
-        <condition property="DocSHA-512Invalid">
-            <not>
-                <equals arg1="${doc.SHA-512.ok}" arg2="true" />
-            </not>
-        </condition>
-        <fail message="Doc Package SHA-512 checksum did not match" if="DocSHA-512Invalid" />-->
-        <antcall target="gpg_check" />
-    </target>
-
-    <target name="gpg_check" if="rc">
-        <exec executable="gpg" failonerror="true">
-            <arg value="--verify" />
-            <arg value="${basedir}/${package.url.name}.${package.suffix}.asc" />
-            <arg value="${basedir}/${package.url.name}.${package.suffix}" />
-        </exec>
-        <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>
-        <!-- no doc packages in 0.8.0
-        <exec executable="gpg" failonerror="true">
-            <arg value="- -verify" />
-            <arg value="${basedir}/${doc.package.url.name}.zip.asc" />
-            <arg value="${basedir}/${doc.package.url.name}.zip" />
-        </exec>-->
-    </target>
-    
-    <target name="uncompress" depends="pre-clean, untar-file, unzip-file" />
-
-    <target name="pre-clean" description="remove old uncompressed package" >
-		<delete dir="${basedir}/${package.url.name}" failonerror="false" />
-        <delete dir="${basedir}/${bin.package.url.name}" failonerror="false" />
-        <!-- no doc packages in 0.8.0
-        <delete dir="${basedir}/${doc.package.url.name}" failonerror="false" />-->
-	</target>
-	
-    <!-- untar does not restore file permissions so don't bother checking -->
-    <target name="untar-file" unless="zip.package" description="Untars zipFile">
-        <untar src="${basedir}/${package.url.name}.${package.suffix}"
-                dest="${basedir}" compression="gzip"/>
-        <untar src="${basedir}/${bin.package.url.name}.${package.suffix}"
-                dest="${basedir}" compression="gzip"/>
-        <!-- no doc packages in 0.8.0
-        <unzip src="${basedir}/${doc.package.url.name}.zip"
-                dest="${basedir}/${doc.package.url.name}"/>-->
-    </target>
-
-    <target name="unzip-file" if="zip.package" description="Unzips zipFile">
-        <unzip src="${basedir}/${package.url.name}.${package.suffix}"
-                dest="${basedir}/${package.url.name}"/>
-        <unzip src="${basedir}/${bin.package.url.name}.${package.suffix}"
-                dest="${basedir}/${bin.package.url.name}"/>
-        <!-- no doc packages in 0.8.0
-        <unzip src="${basedir}/${doc.package.url.name}.${package.suffix}"
-                dest="${basedir}/${doc.package.url.name}"/>-->
-    </target>
-
-    <target name="rat-check" >
-
-        <echo message="Checking files at ${basedir}/${package.url.name}, report is ${src.rat.report}"/>
-
-        <rat:report xmlns:rat="antlib:org.apache.rat.anttasks"
-            reportFile="${src.rat.report}">
-            <fileset dir="${basedir}/${package.url.name}">
-                <exclude name="README.md"/>
-                <exclude name="**/RELEASE_NOTES.md"/>
-                <exclude name="**/README.md"/>
-                <exclude name="LICENSE.bin"/>
-                <exclude name="LICENSE.base"/>
-                <exclude name="royale-asjs/DEPENDENCIES"/>
-                <exclude name="royale-asjs/README.md"/>
-                <exclude name="royale-asjs/LICENSE.bin"/>
-                <exclude name="royale-asjs/LICENSE.base"/>
-                <!--          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"/>
-                <!--          End of binary files           -->
-                <!--          JSON doesn't really have a comment format     -->
-                <exclude name="**/*.json"/>
-                <!--          JSHint properties file           -->
-                <exclude name="frameworks/js/jshint.properties"/>
-                <exclude name="frameworks/js/.jshintrc"/>
-                <exclude name="**/META-INF/DEPENDENCIES" />
-                <!--          ide files     -->
-                <exclude name="**/.vscode/**"/>
-                <!--          royale-compiler -->
-                <exclude name="**/org.apache.royale.tools.RoyaleToolGroup"/>
-                <exclude name="**/debugger/META-INF/MANIFEST.MF"/>
-                <exclude name="**/*.patch"/>
-                <exclude name="royale-typedefs/DEPENDENCIES"/>
-                <exclude name="royale-compiler/LICENSE.bin"/>
-                <exclude name="royale-compiler/README_MAVEN.txt"/>
-                <exclude name="royale-compiler/NOTICE.base"/>
-                <exclude name="royale-compiler/NOTICE.fdb"/>
-                <exclude name="royale-compiler/NOTICE.oem"/>
-                <exclude name="royale-asjs/examples/mxroyale/tourdeflexmodules/src/swfobject.js"/>
-            </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.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.binaries.ok"/>
-    </target>
-
-    <target name="binary-rat" >
-        <echo message="Checking files at ${basedir}/${bin.package.url.name}, report is ${bin.rat.report}"/>
-        <rat:report xmlns:rat="antlib:org.apache.rat.anttasks"
-            reportFile="${bin.rat.report}">
-            <fileset dir="${basedir}/${bin.package.url.name}">
-                <exclude name="README.md"/>
-                <exclude name="**/RELEASE_NOTES.md"/>
-                <exclude name="**/README.md"/>
-                <exclude name="LICENSE.bin"/>
-                <exclude name="LICENSE.base"/>
-                <exclude name="royale-asjs/DEPENDENCIES"/>
-                <exclude name="royale-asjs/README.md"/>
-                <exclude name="royale-asjs/LICENSE.bin"/>
-                <exclude name="royale-asjs/LICENSE.base"/>
-                <!--          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"/>
-                <!--          End of binary files           -->
-                <!--          JSON doesn't really have a comment format     -->
-                <exclude name="**/*.json"/>
-                <!--          JSHint properties file           -->
-                <exclude name="frameworks/js/jshint.properties"/>
-                <exclude name="frameworks/js/.jshintrc"/>
-                <exclude name="**/META-INF/DEPENDENCIES" />
-                <!--          ide files     -->
-                <exclude name="**/.vscode/**"/>
-                <!--          royale-compiler -->
-                <exclude name="**/org.apache.royale.tools.RoyaleToolGroup"/>
-                <exclude name="**/debugger/META-INF/MANIFEST.MF"/>
-                <exclude name="**/*.patch"/>
-                <exclude name="royale-typedefs/DEPENDENCIES"/>
-                <exclude name="royale-compiler/LICENSE.bin"/>
-                <exclude name="royale-compiler/README_MAVEN.txt"/>
-                <exclude name="royale-compiler/NOTICE.base"/>
-                <exclude name="royale-compiler/NOTICE.fdb"/>
-                <exclude name="royale-compiler/NOTICE.oem"/>
-                <!--          Google Closure Library     -->
-                <exclude name="royale-asjs/js/lib/google/**"/>
-                <!--          compiled output     -->
-                <exclude name="royale-asjs/frameworks/projects/*/target/**"/>
-                <exclude name="royale-asjs/frameworks/js/projects/*/target/**"/>
-                <!--          swcs     -->
-                <exclude name="royale-asjs/frameworks/libs/Basic.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/Binding.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/Charts.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/Collections.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/Core.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/CreateJS.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/DragDrop.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/Effects.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/Express.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/Flat.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/FontAwesome.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/Formatters.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/GoogleMaps.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/Graphics.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/HTML.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/HTML5.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/Icons.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/jQuery.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/Crux.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/Jewel.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/JewelTheme.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/Language.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/MaterialDesignLite.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/Mobile.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/MXRoyale.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/Network.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/Reflection.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/RoyaleSite.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/RoyaleUnit.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/RoyaleUnitUI.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/SparkRoyale.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/Storage.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/TLF.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/Text.swc"/>
-                <exclude name="royale-asjs/frameworks/libs/XML.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/AceJS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/BasicJS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/BindingJS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/ChartsJS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/CollectionsJS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/CoreJS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/CreateJSJS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/DragDropJS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/EffectsJS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/ExpressJS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/FlatJS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/FontAwesomeJS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/FormattersJS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/GoogleMapsJS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/GraphicsJS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/HTMLJS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/HTML5JS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/IconsJS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/JewelJS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/CruxJS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/jQueryJS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/LanguageJS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/MaterialDesignLiteJS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/MobileJS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/MXRoyaleJS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/NetworkJS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/ReflectionJS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/RoyaleSiteJS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/RoyaleUnitJS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/RoyaleUnitUIJS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/SparkRoyaleJS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/StorageJS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/TLFJS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/TextJS.swc"/>
-                <exclude name="royale-asjs/frameworks/js/libs/XMLJS.swc"/>
-                <exclude name="royale-asjs/frameworks/themes/Halo/Halo.swc"/>
-                <exclude name="royale-asjs/frameworks/themes/JewelTheme/target/JewelTheme.swc"/>
-                
-                <exclude name="royale-asjs/frameworks/projects/Graphics/src/main/royale/org/apache/royale/graphics/utils/shaderClasses/*.pbj"/>
-                <exclude name="royale-asjs/frameworks/projects/Basic/src/test/royale/FlexUnitRoyaleApplication.swf"/>
-                <exclude name="royale-asjs/frameworks/projects/Core/src/test/royale/FlexUnitRoyaleApplication.swf"/>
-                
-                <exclude name="royale-asjs/frameworks/localfonts.ser"/>
-                <exclude name="royale-asjs/frameworks/macfonts.ser"/>
-                <exclude name="royale-asjs/frameworks/winfonts.ser"/>
-                
-                <exclude name="royale-asjs/js/libs/GCL.swc"/>
-                <exclude name="royale-asjs/js/libs/cordova.swc"/>
-                <exclude name="royale-asjs/js/libs/createjs.swc"/>
-                <exclude name="royale-asjs/js/libs/google_maps.swc"/>
-                <exclude name="royale-asjs/js/libs/jasmine.swc"/>
-                <exclude name="royale-asjs/js/libs/jquery.swc"/>
-                <exclude name="royale-asjs/js/libs/js.swc"/>
-                <exclude name="royale-asjs/js/libs/node.swc"/>
-                <exclude name="royale-asjs/js/libs/ace-1.2.3.swc"/>
-
-                <exclude name="royale-asjs/js/lib/args4j.jar"/>
-                <exclude name="royale-asjs/js/lib/asdoc.jar"/>
-                <exclude name="royale-asjs/js/lib/commons-io.jar"/>
-                <exclude name="royale-asjs/js/lib/compc.jar"/>
-                <exclude name="royale-asjs/js/lib/compiler-royaleTasks.jar"/>
-                <exclude name="royale-asjs/js/lib/externc.jar"/>
-                <exclude name="royale-asjs/js/lib/flex-tool-api.jar"/>
-                <exclude name="royale-asjs/js/lib/guava.jar"/>
-                <exclude name="royale-asjs/js/lib/jsc.jar"/>
-                <exclude name="royale-asjs/js/lib/junit-4.10.jar"/>
-                <exclude name="royale-asjs/js/lib/mxmlc.jar"/>
-                <exclude name="royale-asjs/js/lib/dom4j-LICENSE.txt"/>
-                <exclude name="royale-asjs/lib/adt.jar"/>
-                <exclude name="royale-asjs/lib/compc.jar"/>
-                <exclude name="royale-asjs/lib/compiler-asc.jar"/>
-                <exclude name="royale-asjs/lib/compiler-common.jar"/>
-                <exclude name="royale-asjs/lib/compiler-compc.jar"/>
-                <exclude name="royale-asjs/lib/compiler-mxmlc.jar"/>
-                <exclude name="royale-asjs/lib/compiler-optimizer.jar"/>
-                <exclude name="royale-asjs/lib/compiler-swfdump.jar"/>
-                <exclude name="royale-asjs/lib/compiler.jar"/>
-                <exclude name="royale-asjs/lib/fdb.jar"/>
-                <exclude name="royale-asjs/lib/flex-compiler-oem.jar"/>
-                <exclude name="royale-asjs/lib/mxmlc.jar"/>
-                <exclude name="royale-asjs/lib/swfutils.jar"/>
-                <exclude name="royale-asjs/lib/external/antlr-LICENSE.html"/>
-                <exclude name="royale-asjs/lib/external/jflex-COPYRIGHT"/>
-                <exclude name="royale-asjs/lib/external/lzma-sdk-LICENSE.html"/>
-                <exclude name="royale-asjs/lib/external/antlr.jar"/>
-                <exclude name="royale-asjs/lib/external/commons-cli.jar"/>
-                <exclude name="royale-asjs/lib/external/commons-compress-1.10.jar"/>
-                <exclude name="royale-asjs/lib/external/commons-io.jar"/>
-                <exclude name="royale-asjs/lib/external/commons-lang-2.6.jar"/>
-                <exclude name="royale-asjs/lib/external/commons-lang3-3.4.jar"/>
-                <exclude name="royale-asjs/lib/external/flex-tool-api.jar"/>
-                <exclude name="royale-asjs/lib/external/guava.jar"/>
-                <exclude name="royale-asjs/lib/external/jburg.jar"/>
-                <exclude name="royale-asjs/lib/external/jflex.jar"/>
-                <exclude name="royale-asjs/lib/external/junit-4.10.jar"/>
-                <exclude name="royale-asjs/lib/external/lzma-sdk.jar"/>
-                
-                <exclude name="royale-asjs/templates/swfobject/swfobject.js"/>
-                <exclude name="royale-asjs/templates/swfobject/expressInstall.swf"/>
-                <exclude name="royale-asjs/examples/mxroyale/tourdeflexmodules/src/swfobject.js"/>
-            </fileset>
-        </rat:report>
-        
-        <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="doc-rat" >
-        <!-- no doc packages in 0.8.0
-        <echo message="Checking files at ${basedir}/${doc.package.url.name}, report is ${doc.rat.report}"/>
-        <rat:report xmlns:rat="antlib:org.apache.rat.anttasks"
-            reportFile="${doc.rat.report}">
-            <fileset dir="${basedir}/${doc.package.url.name}">
-                - - exclude generated html - -
-                <exclude name="asdoc/index.html"/>
-                <exclude name="asdoc/index-*.html"/>
-                <exclude name="asdoc/google/maps/**/*.html"/>
-                <exclude name="asdoc/org/**/*.html"/>
-                <exclude name="asdoc/package*.html"/>
-                <exclude name="asdoc/all-classes.html"/>
-                <exclude name="asdoc/all-index*.html"/>
-                <exclude name="asdoc/class-*.html"/>
-                <exclude name="asdoc/title-bar.html"/>
-                <exclude name="asdoc/Namespace.html"/>
-                <exclude name="asdoc/QName.html"/>
-                - - exclude log - -
-                <exclude name="asdoc/validation_errors.log"/>
-            </fileset>
-        </rat:report>
-        
-        <antcall target="display-text" >
-            <param name="file" value="${doc.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.doc.license.ok"/>
-        <echo>filtering out AL files to make it easier to see binary files</echo>
-        <copy file="${doc.rat.report}" tofile="${doc.rat.report}.bin.txt" />
-        <replaceregexp file="${doc.rat.report}.bin.txt" match="..AL.*" replace="__AL" byline="true"/>
-        <replaceregexp file="${doc.rat.report}.bin.txt" flags="gs" match="__AL." replace="" byline="false"/>
-        <antcall target="display-text" >
-            <param name="file" value="${doc.rat.report}.bin.txt" />
-        </antcall>
-        <input
-        message="Check that there are no unexpected binaries.  Is it ok?"
-        validargs="y,n"
-        defaultvalue="n"
-        addproperty="rat.doc.binaries.ok"/>
-        -->
-    </target>
-
-    <target name="check-notices" description="open each notice file for review, grep for a few things" >
-        <fail message="README not in package">
-			<condition>
-	            <not>
-    	            <available file="${basedir}/${package.url.name}/README" />
-        	    </not>
-			</condition>
-        </fail>
-        <fail message="RELEASE_NOTES not in package">
-			<condition>
-				<not>
-					<available file="${basedir}/${package.url.name}/RELEASE_NOTES" />
-				</not>
-			</condition>
-        </fail>
-        <fail message="NOTICE not in package">
-			<condition>
-				<not>
-					<available file="${basedir}/${package.url.name}/NOTICE" />
-				</not>
-			</condition>
-        </fail>
-        <fail message="LICENSE not in package">
-			<condition>
-				<not>
-					<available file="${basedir}/${package.url.name}/LICENSE" />
-				</not>
-			</condition>
-        </fail>
-		<antcall target="display-text" >
-            <param name="file" value="${basedir}/${package.url.name}/README" />
-        </antcall>
-		<input
-			message="Check the README for version numbers, spelling, grammar, accuracy.  Is it ok?"
-            validargs="y,n"
-        defaultvalue="y"
-        addproperty="readme.ok"/>
-		<antcall target="display-text" >
-            <param name="file" value="${basedir}/${package.url.name}/RELEASE_NOTES" />
-        </antcall>
-		<input
-			message="Check the RELEASE_NOTES for copyright years, spelling, grammar, accuracy. Is it ok?"
-            validargs="y,n"
-        defaultvalue="y"
-        addproperty="releasenotes.ok"/>
-		
-        
-		<antcall target="display-text" >
-            <param name="file" value="${basedir}/${package.url.name}/NOTICE" />
-        </antcall>
-		<input
-			message="Check the NOTICE for required notices from third-parties. Is it ok?"
-            validargs="y,n"
-        defaultvalue="y"
-        addproperty="notice.ok"/>
-
-		<antcall target="display-text" >
-            <param name="file" value="${basedir}/${package.url.name}/LICENSE" />
-        </antcall>
-		<input
-			message="Check the LICENSE for the Apache License and third-party licenses. Is it ok?"
-            validargs="y,n"
-        defaultvalue="y"
-        addproperty="license.ok"/>
-        
-        <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"/>
-        
-        <!-- no doc packages in 0.8.0
-        <antcall target="display-text" >
-            <param name="file" value="${basedir}/${doc.package.url.name}/asdoc/NOTICE" />
-        </antcall>
-        <input
-        message="Check the doc package NOTICE for required notices from third-parties. Is it ok?"
-        validargs="y,n"
-        defaultvalue="y"
-        addproperty="doc.notice.ok"/>
-        
-        <antcall target="display-text" >
-            <param name="file" value="${basedir}/${doc.package.url.name}/asdoc/LICENSE" />
-        </antcall>
-        <input
-        message="Check the doc package LICENSE for the Apache License and third-party licenses. Is it ok?"
-        validargs="y,n"
-        defaultvalue="y"
-        addproperty="doc.license.ok"/>-->
-    </target>
-
-    <target name="ask.build">
-        <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" />
-    </target>
-
-    <target name="build" depends="check-flash,ask.build,ask-font,get.dependencies,copy.downloads">
-        <property name="no.lint" value="true" />
-        <ant dir="${basedir}/${package.url.name}/royale-asjs" target="all" />
-        <ant dir="${basedir}/${package.url.name}/royale-asjs" target="examples" />
-        <antcall target="build_maven" />
-    </target>
-
-    <target name="build_maven">
-        <condition property="compiler_mvn_profiles" value="test-using-swf,main"
-            else="main">
-            <isset property="env.AIR_HOME" />
-        </condition>
-        <condition property="asjs_mvn_profiles" value="generate-swcs-for-swf,generate-swf,main"
-            else="main">
-            <isset property="env.AIR_HOME" />
-        </condition>
-        <condition property="asjs_mvn_defines" value="-Dgenerate.swf.swcs=true"
-            else="-Ddummy=true">
-            <isset property="env.AIR_HOME" />
-        </condition>
-        <echo>Path is ${env.Path}</echo>
-        <exec executable="${mvn}" dir="${basedir}/${maven.package.url.name}/royale-compiler" failonerror="true" >
-            <arg value="-P" />
-            <arg value="-main,utils" />
-            <arg value="clean" />
-            <arg value="install" />
-        </exec>
-        <exec executable="${mvn}" dir="${basedir}/${maven.package.url.name}/royale-compiler" failonerror="true" inputstring="Yes">
-            <arg value="clean" />
-            <arg value="-P" />
-            <arg value="${compiler_mvn_profiles}" />
-            <arg value="install" />
-        </exec>
-        <exec executable="${mvn}" dir="${basedir}/${maven.package.url.name}/royale-typedefs" failonerror="true" >
-            <arg value="clean" />
-            <arg value="install" />
-        </exec>
-        <exec executable="${mvn}" dir="${basedir}/${maven.package.url.name}/royale-asjs" failonerror="true" inputstring="Yes">
-            <arg value="${asjs_mvn_defines}" />
-            <arg value="clean" />
-            <arg value="-P" />
-            <arg value="${asjs_mvn_profiles}" />
-            <arg value="install" />
-        </exec>
-    </target>
-
-    <target name="copy.downloads" if="${do.copy.downloads}" description="instead of actually downloading all of the dependencies, you can save lots of time by just copying from some other folder in some other SDK.">
-		<echo>Copying downloads</echo>
-        <copy todir="${basedir}/${package.url.name}/in" >
-			<fileset dir="${download.cache.dir}" />
-		</copy>
-    </target>
-    
-    <!-- Prompt before downloading.  -->
-    <target name="ask-font" unless="font.donot.ask"
-        description="Prompt the user before downloading Flat Fonts">
-        
-        <property name="font.prompt.text"
-        value="Apache Royale includes an optional component set that
-        ${line.separator}uses fonts from designmodo.com.
-        ${line.separator}The font files are subject to and governed by the
-        ${line.separator}Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported license:
-        ${line.separator}http://creativecommons.org/licenses/by-nc-nd/3.0/
-        ${line.separator}This license is not compatible with the Apache v2 license.
-        ${line.separator}Do you want to install the designmodo fonts?"/>
-        <input
-        message="${font.prompt.text}"
-        validargs="y,n"
-        defaultvalue="n"
-        addproperty="input.font.download"/>
-        <condition property="do.flat.install">
-            <equals arg1="y" arg2="${input.font.download}"/>
-        </condition>
-        <!-- Only ask once per ant run.  -->
-        <property name="flat.donot.ask" value="set"/>
-    </target>
-    
-    <!--<target name="get.dependencies" depends="set.compiler.flags,get.compiler.if.needed,get.sdk.if.needed,get.flexunit.if.needed" />-->
-    <target name="get.dependencies" />
-    <!--
-    <target name="set.compiler.flags" >
-        <condition property="compiler.nightly">
-            <and>
-                <not>
-                    <isset property="ROYALE_COMPILER_REPO" />
-                </not>
-                <not>
-                    <isset property="rc" />
-                </not>
-            </and>
-        </condition>
-        <condition property="compiler.rc">
-            <and>
-                <not>
-                    <isset property="ROYALE_COMPILER_REPO" />
-                </not>
-                <isset property="rc" />
-            </and>
-        </condition>
-    </target>
-    <target name="get.compiler.if.needed" depends="get.compiler.nightly,get.compiler.rc" unless="ROYALE_COMPILER_REPO" />
-    <target name="get.compiler.nightly" if="compiler.nightly">
-        <property name="kit.jx.prefix" value="apache.royale-compilerjx-${release.version}"/>
-        <property name="binary.jx.kit" value="${kit.jx.prefix}-bin"/>
-        <get src="http://apacheroyaleci2.westus2.cloudapp.azure.com:8080/job/royale-compiler%20release%20branch/lastSuccessfulBuild/artifact/out/${binary.jx.kit}.zip"
-             dest="${basedir}/${binary.jx.kit}.zip" verbose="true" skipexisting="true"/>
-        <get src="http://apacheroyaleci2.westus2.cloudapp.azure.com:8080/job/royale-compiler%20release%20branch/lastSuccessfulBuild/artifact/out/${binary.jx.kit}.zip.sha512"
-             dest="${basedir}/${binary.jx.kit}.zip.sha512" verbose="true" skipexisting="true"/>
-        <checksum file="${basedir}/${binary.jx.kit}.zip" algorithm="SHA-512" verifyproperty="compiler.SHA-512.ok" fileext=".sha512"/>
-        <condition property="CompilerSHA-512Invalid">
-            <not>
-                <equals arg1="${compiler.SHA-512.ok}" arg2="true" />
-            </not>
-        </condition>
-        <fail message="SHA-512 checksum did not match" if="CompilerSHA-512Invalid" />
-        <unzip src="${basedir}/${binary.jx.kit}.zip" dest="${basedir}/compiler" />
-        <ant dir="${basedir}/compiler/compiler/src/main/resources" antfile="downloads.xml" />
-        <property name="ROYALE_COMPILER_REPO" value="${basedir}/compiler" />
-        <ant dir="${basedir}/compiler/compiler-jx" antfile="${basedir}/compiler/compiler-jx/src/main/resources/downloads.xml"/>
-    </target>
-    <target name="get.compiler.rc" if="compiler.rc">
-        <property name="kit.jx.prefix" value="apache.royale-compilerjx-${release.version}"/>
-        <property name="binary.jx.kit" value="${kit.jx.prefix}-bin"/>
-        <get src="https://dist.apache.org/repos/dist/dev/royale/compiler/${release.version}/rc1/binaries/${binary.jx.kit}.zip"
-        dest="${basedir}/${binary.jx.kit}.zip" verbose="true" skipexisting="true"/>
-        <get src="https://dist.apache.org/repos/dist/dev/royale/compiler/${release.version}/rc1/binaries/${binary.jx.kit}.zip.sha512"
-        dest="${basedir}/${binary.jx.kit}.zip.sha512" verbose="true" skipexisting="true"/>
-        <checksum file="${basedir}/${binary.jx.kit}.zip" algorithm="SHA-512" verifyproperty="compiler.SHA-512.ok" fileext=".sha512"/>
-        <condition property="CompilerSHA-512Invalid">
-            <not>
-                <equals arg1="${compiler.SHA-512.ok}" arg2="true" />
-            </not>
-        </condition>
-        <fail message="SHA-512 checksum did not match" if="CompilerSHA-512Invalid" />
-        <unzip src="${basedir}/${binary.jx.kit}.zip" dest="${basedir}/compiler" />
-        <ant dir="${basedir}/compiler/compiler/src/main/resources" antfile="downloads.xml" />
-        <property name="ROYALE_COMPILER_REPO" value="${basedir}/compiler" />
-        <ant dir="${basedir}/compiler/compiler-jx" antfile="${basedir}/compiler/compiler-jx/src/main/resources/downloads.xml"/>
-    </target>
-    <target name="get.flexunit.if.needed" unless="FLEXUNIT_HOME" >
-        <property name="binary.flexunit.kit" value="apache.royale-flexunit-4.2.0-4.12.0-bin"/>
-        <get src="https://archive.apache.org/dist/royale/flexunit/4.2.0/binaries/${binary.flexunit.kit}.zip"
-        dest="${basedir}/${binary.flexunit.kit}.zip" verbose="true" skipexisting="true"/>
-        <get src="https://archive.apache.org/dist/royale/flexunit/4.2.0/binaries/${binary.flexunit.kit}.zip.sha512"
-        dest="${basedir}/${binary.flexunit.kit}.zip.sha512" verbose="true" skipexisting="true"/>
-        <checksum file="${basedir}/${binary.flexunit.kit}.zip" algorithm="SHA-512" verifyproperty="flexunit.SHA-512.ok" fileext=".sha512"/>
-        <condition property="FlexUnitSHA-512Invalid">
-            <not>
-                <equals arg1="${flexunit.SHA-512.ok}" arg2="true" />
-            </not>
-        </condition>
-        <fail message="SHA-512 checksum did not match" if="FlexUnitSHA-512Invalid" />
-        <unzip src="${basedir}/${binary.flexunit.kit}.zip" dest="${basedir}/flexunit" />
-        <property name="FLEXUNIT_HOME" value="${basedir}/flexunit" />
-    </target>
-    <target name="get.sdk.if.needed" depends="get.sdk" unless="FLEX_SDK_HOME" />
-    <target name="get.sdk">
-        <property name="kit.sdk.prefix" value="apache.royale-sdk-4.15.0"/>
-        <property name="binary.sdk.kit" value="${kit.sdk.prefix}-bin"/>
-        <get src="https://archive.apache.org/dist/royale/4.15.0/binaries/${binary.sdk.kit}.zip"
-        dest="${basedir}/${binary.sdk.kit}.zip" verbose="true" skipexisting="true"/>
-        <get src="https://archive.apache.org/dist/royale/4.15.0/binaries/${binary.sdk.kit}.zip.sha512"
-        dest="${basedir}/${binary.sdk.kit}.zip.sha512" verbose="true" skipexisting="true"/>
-        <checksum file="${basedir}/${binary.sdk.kit}.zip" algorithm="SHA-512" verifyproperty="sdk.SHA-512.ok" fileext=".sha512"/>
-        <condition property="SDKSHA-512Invalid">
-            <not>
-                <equals arg1="${sdk.SHA-512.ok}" arg2="true" />
-            </not>
-        </condition>
-        <fail message="SHA-512 checksum did not match" if="SDKSHA-512Invalid" />
-        <unzip src="${basedir}/${binary.sdk.kit}.zip" dest="${basedir}/sdk" />
-        <ant dir="${basedir}/sdk/frameworks" antfile="downloads.xml" />
-        <property name="FLEX_SDK_HOME" value="${basedir}/sdk" />
-    </target>
-    -->
-    
-    <!-- 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="ApproveRoyale.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="ApproveRoyale.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="jar-check" >
-        <delete dir="${basedir}/jar" failonerror="false" />
-        <mkdir dir="${basedir}/jar" />
-        <unjar src="${basedir}/${bin.package.url.name}/royale-asjs/${thisFile}" dest="${basedir}/jar" />
-        <exec executable="tar" output="${basedir}/jarclasses.txt">
-            <arg value="tf" />
-            <arg value="${basedir}/${bin.package.url.name}//royale-asjs/${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>
-        <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}/royale-asjs/${thisFile}">
-            <condition>
-                <not>
-                    <available file="${basedir}/jar/META-INF/LICENSE" />
-                </not>
-            </condition>
-        </fail>
-        <fail message="NOTICE not in ${basedir}/${bin.package.url.name}/royale-asjs/${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}/royale-asjs/${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}/royale-asjs/${thisFile} not correct">
-            <condition>
-                <not>
-                    <equals arg1="${jar.notice.ok}" arg2="y" />
-                </not>
-            </condition>
-        </fail>
-        
-    </target>
-    
-	<target name="approve" >
-		<condition property="vote" value="+1">
-			<and>
-				<equals arg1="${rat.license.ok}" arg2="y" />
-				<equals arg1="${rat.binaries.ok}" arg2="y" />
-                <equals arg1="${rat.bin.license.ok}" arg2="y" />
-                <equals arg1="${rat.bin.binaries.ok}" arg2="y" />
-                <!-- no doc packages in 0.8.0
-                <equals arg1="${rat.doc.license.ok}" arg2="y" />
-                <equals arg1="${rat.doc.binaries.ok}" arg2="y" />-->
-				<equals arg1="${readme.ok}" arg2="y" />
-				<equals arg1="${releasenotes.ok}" arg2="y" />
-				<equals arg1="${notice.ok}" arg2="y" />
-				<equals arg1="${license.ok}" arg2="y" />
-                <equals arg1="${bin.notice.ok}" arg2="y" />
-                <equals arg1="${bin.license.ok}" arg2="y" />
-                <!-- no doc packages in 0.8.0
-                <equals arg1="${doc.notice.ok}" arg2="y" />
-                <equals arg1="${doc.license.ok}" arg2="y" />-->
-			</and>
-		</condition>
-		<property name="vote" value="-1" />
-        <!-- no doc packages in 0.8.0
-		<echo>
-${vote}
-Package ${package.url.path}/${package.url.name}.${package.suffix}
-Java ${ant.java.version}
-OS: ${os.name} ${os.arch} ${os.version}
-Source kit signatures match: y
-Source kit builds: y
-README is ok: ${readme.ok}
-RELEASE_NOTES is ok: ${releasenotes.ok}
-NOTICE is ok: ${notice.ok}
-LICENSE is ok: ${license.ok}
-No unapproved licenses or archives: ${rat.license.ok}
-No unapproved binaries: ${rat.binaries.ok}
-
-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 archives in binary package: ${rat.bin.license.ok}
-No unapproved binaries in binary package: ${rat.bin.binaries.ok}
-
-Package ${doc.package.url.path}/${doc.package.url.name}.zip
-Doc kit signatures match: y
-NOTICE is ok: ${doc.notice.ok}
-LICENSE is ok: ${doc.license.ok}
-No unapproved licenses or archives in doc package: ${rat.doc.license.ok}
-No unapproved binaries in doc package: ${rat.doc.binaries.ok}
-        </echo>-->
-        <echo>
-${vote}
-Package ${package.url.path}/${package.url.name}.${package.suffix}
-Java ${ant.java.version}
-OS: ${os.name} ${os.arch} ${os.version}
-Source kit signatures match: y
-Source kit builds: y
-README is ok: ${readme.ok}
-RELEASE_NOTES is ok: ${releasenotes.ok}
-NOTICE is ok: ${notice.ok}
-LICENSE is ok: ${license.ok}
-No unapproved licenses or archives: ${rat.license.ok}
-No unapproved binaries: ${rat.binaries.ok}
-
-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 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>
+<?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="ApproveApacheRoyale" 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="doc.rat.report" value="${basedir}/rat-report-doc.txt"/>
+	<property name="apache.rat.jar" value="apache-rat-0.11.jar" />
+	<property name="apache.rat.tasks.jar" value="apache-rat-tasks-0.11.jar" />
+	<property name="apache.rat.url" value="https://search.maven.org/remotecontent?filepath=org/apache/rat/apache-rat/0.11" />
+    <property name="apache.rat.tasks.url" value="https://search.maven.org/remotecontent?filepath=org/apache/rat/apache-rat-tasks/0.11" />
+	   
+    <property file="${basedir}/approveroyale.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="mvn" value="mvn.cmd">
+        <isset property="isWindows" />
+    </condition>
+    <property name="mvn" value="mvn" />
+    
+	<available file="${env.ProgramFiles}/Mozilla Firefox/firefox.exe"
+		type="file" 
+		property="browser" value="${env.ProgramFiles}/Mozilla Firefox/firefox.exe" />
+	<available file="${env.ProgramFiles(x86)}/Mozilla Firefox/firefox.exe" 
+		type="file" 
+		property="browser" value="${env.ProgramFiles}/Mozilla Firefox/firefox.exe" />
+
+	<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"/>
+		
+    <target name="check-flash" if="use-flash">
+        <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="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"/>
+    </target>
+        
+    <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/royale-asjs/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>
+    <condition property="doc.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/royale/${release.version}/rc${rc}" />
+	<property name="package.url.name" value="apache-royale-${release.version}-src" />
+    <property name="bin.package.url.path" value="${package.url.path}/binaries" />
+    <property name="bin.package.url.name" value="apache-royale-${release.version}-bin-js-swf" />
+    <property name="maven.package.url.name" value="apache-royale-${release.version}-maven-src" />
+    <!--
+    <property name="doc.package.url.path" value="${package.url.path}/doc" />
+    <property name="doc.package.url.name" value="apache-royale-${release.version}-asdocs" />
+     -->
+	
+    <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="main" depends="check-flash,write-out-jars-list,install-rat,download,check-sigs,uncompress,copy-source-for-maven,rat-check,binary-rat,doc-rat,check-notices,examine-jars,build,approve" description="Perform required release approval steps">
+    </target>
+    
+    <target name="main-no-download" depends="check-flash,write-out-jars-list,install-rat,check-sigs,uncompress,copy-source-for-maven,rat-check,binary-rat,doc-rat,check-notices,examine-jars,build,approve" description="Perform required release approval steps">
+    </target>
+	
+    <target name="copy-source-for-maven">
+        <copy todir="${basedir}/${maven.package.url.name}">
+            <fileset dir="${basedir}/${package.url.name}">
+                <include name="**"/>
+            </fileset>
+        </copy>
+    </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="lib/compc.jar,lib/compiler.jar,lib/compiler-asc.jar,lib/compiler-common.jar,lib/compiler-compc.jar,lib/compiler-mxmlc.jar,lib/compiler-optimizer.jar,lib/compiler-swfdump.jar,lib/swfutils.jar,lib/fdb.jar,lib/flex-compiler-oem.jar,js/lib/asdoc.jar,js/lib/compiler-royaleTasks.jar,js/lib/compc.jar,js/lib/externc.jar,js/lib/jsc.jar,js/lib/mxmlc.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="${package.url.path}/${package.url.name}.${package.suffix}"
+            dest="${basedir}/${package.url.name}.${package.suffix}" />
+        <get src="${package.url.path}/${package.url.name}.${package.suffix}.sha512"
+            dest="${basedir}/${package.url.name}.${package.suffix}.sha512" />
+        <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}.sha512"
+            dest="${basedir}/${bin.package.url.name}.${package.suffix}.sha512" />
+        <!-- no doc packages in 0.8.0
+        <get src="${doc.package.url.path}/${doc.package.url.name}.zip"
+            dest="${basedir}/${doc.package.url.name}.zip" />
+        <get src="${doc.package.url.path}/${doc.package.url.name}.zip.sha512"
+            dest="${basedir}/${doc.package.url.name}.zip.sha512" />-->
+        <antcall target="get_asc" />
+    </target>
+
+    <target name="get_asc" if="rc" >
+        <get src="${package.url.path}/${package.url.name}.${package.suffix}.asc"
+        dest="${basedir}/${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" />
+        <!-- no doc packages in 0.8.0
+        <get src="${doc.package.url.path}/${doc.package.url.name}.zip.asc"
+        dest="${basedir}/${doc.package.url.name}.zip.asc" />-->
+    </target>
+    
+    <target name="check-sigs" description="check sha512 and gpg sigs">
+		<replace file="${basedir}/${package.url.name}.${package.suffix}.sha512"
+			token=" " />
+		<checksum file="${basedir}/${package.url.name}.${package.suffix}" algorithm="SHA-512" verifyproperty="SHA-512.ok" fileext=".sha512"/>
+        <condition property="SHA-512Invalid">
+			<not>
+				<equals arg1="${SHA-512.ok}" arg2="true" />
+			</not>
+        </condition>
+        <fail message="SHA-512 checksum did not match" if="SHA-512Invalid" />
+        <replace file="${basedir}/${bin.package.url.name}.${package.suffix}.sha512"
+        token=" " />
+        <checksum file="${basedir}/${bin.package.url.name}.${package.suffix}" algorithm="SHA-512" verifyproperty="bin.SHA-512.ok" fileext=".sha512"/>
+        <condition property="BinarySHA-512Invalid">
+            <not>
+                <equals arg1="${bin.SHA-512.ok}" arg2="true" />
+            </not>
+        </condition>
+        <fail message="Binary Package SHA-512 checksum did not match" if="BinarySHA-512Invalid" />
+        <!-- no doc packages in 0.8.0
+        <replace file="${basedir}/${doc.package.url.name}.zip.sha512"
+        token=" " />
+        <checksum file="${basedir}/${doc.package.url.name}.zip" algorithm="SHA-512" verifyproperty="doc.SHA-512.ok" fileext=".sha512"/>
+        <condition property="DocSHA-512Invalid">
+            <not>
+                <equals arg1="${doc.SHA-512.ok}" arg2="true" />
+            </not>
+        </condition>
+        <fail message="Doc Package SHA-512 checksum did not match" if="DocSHA-512Invalid" />-->
+        <antcall target="gpg_check" />
+    </target>
+
+    <target name="gpg_check" if="rc">
+        <exec executable="gpg" failonerror="true">
+            <arg value="--verify" />
+            <arg value="${basedir}/${package.url.name}.${package.suffix}.asc" />
+            <arg value="${basedir}/${package.url.name}.${package.suffix}" />
+        </exec>
+        <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>
+        <!-- no doc packages in 0.8.0
+        <exec executable="gpg" failonerror="true">
+            <arg value="- -verify" />
+            <arg value="${basedir}/${doc.package.url.name}.zip.asc" />
+            <arg value="${basedir}/${doc.package.url.name}.zip" />
+        </exec>-->
+    </target>
+    
+    <target name="uncompress" depends="pre-clean, untar-file, unzip-file" />
+
+    <target name="pre-clean" description="remove old uncompressed package" >
+		<delete dir="${basedir}/${package.url.name}" failonerror="false" />
+        <delete dir="${basedir}/${bin.package.url.name}" failonerror="false" />
+        <!-- no doc packages in 0.8.0
+        <delete dir="${basedir}/${doc.package.url.name}" failonerror="false" />-->
+	</target>
+	
+    <!-- untar does not restore file permissions so don't bother checking -->
+    <target name="untar-file" unless="zip.package" description="Untars zipFile">
+        <untar src="${basedir}/${package.url.name}.${package.suffix}"
+                dest="${basedir}" compression="gzip"/>
+        <untar src="${basedir}/${bin.package.url.name}.${package.suffix}"
+                dest="${basedir}" compression="gzip"/>
+        <!-- no doc packages in 0.8.0
+        <unzip src="${basedir}/${doc.package.url.name}.zip"
+                dest="${basedir}/${doc.package.url.name}"/>-->
+    </target>
+
+    <target name="unzip-file" if="zip.package" description="Unzips zipFile">
+        <unzip src="${basedir}/${package.url.name}.${package.suffix}"
+                dest="${basedir}/${package.url.name}"/>
+        <unzip src="${basedir}/${bin.package.url.name}.${package.suffix}"
+                dest="${basedir}/${bin.package.url.name}"/>
+        <!-- no doc packages in 0.8.0
+        <unzip src="${basedir}/${doc.package.url.name}.${package.suffix}"
+                dest="${basedir}/${doc.package.url.name}"/>-->
+    </target>
+
+    <target name="rat-check" >
+
+        <echo message="Checking files at ${basedir}/${package.url.name}, report is ${src.rat.report}"/>
+
+        <rat:report xmlns:rat="antlib:org.apache.rat.anttasks"
+            reportFile="${src.rat.report}">
+            <fileset dir="${basedir}/${package.url.name}">
+                <exclude name="README.md"/>
+                <exclude name="**/RELEASE_NOTES.md"/>
+                <exclude name="**/README.md"/>
+                <exclude name="LICENSE.bin"/>
+                <exclude name="LICENSE.base"/>
+                <exclude name="royale-asjs/DEPENDENCIES"/>
+                <exclude name="royale-asjs/README.md"/>
+                <exclude name="royale-asjs/LICENSE.bin"/>
+                <exclude name="royale-asjs/LICENSE.base"/>
+                <!--          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"/>
+                <!--          End of binary files           -->
+                <!--          JSON doesn't really have a comment format     -->
+                <exclude name="**/*.json"/>
+                <!--          JSHint properties file           -->
+                <exclude name="frameworks/js/jshint.properties"/>
+                <exclude name="frameworks/js/.jshintrc"/>
+                <exclude name="**/META-INF/DEPENDENCIES" />
+                <!--          ide files     -->
+                <exclude name="**/.vscode/**"/>
+                <!--          royale-compiler -->
+                <exclude name="**/org.apache.royale.tools.RoyaleToolGroup"/>
+                <exclude name="**/debugger/META-INF/MANIFEST.MF"/>
+                <exclude name="**/*.patch"/>
+                <exclude name="royale-typedefs/DEPENDENCIES"/>
+                <exclude name="royale-compiler/LICENSE.bin"/>
+                <exclude name="royale-compiler/README_MAVEN.txt"/>
+                <exclude name="royale-compiler/NOTICE.base"/>
+                <exclude name="royale-compiler/NOTICE.fdb"/>
+                <exclude name="royale-compiler/NOTICE.oem"/>
+                <exclude name="royale-asjs/examples/mxroyale/tourdeflexmodules/src/swfobject.js"/>
+            </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.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.binaries.ok"/>
+    </target>
+
+    <target name="binary-rat" >
+        <echo message="Checking files at ${basedir}/${bin.package.url.name}, report is ${bin.rat.report}"/>
+        <rat:report xmlns:rat="antlib:org.apache.rat.anttasks"
+            reportFile="${bin.rat.report}">
+            <fileset dir="${basedir}/${bin.package.url.name}">
+                <exclude name="README.md"/>
+                <exclude name="**/RELEASE_NOTES.md"/>
+                <exclude name="**/README.md"/>
+                <exclude name="LICENSE.bin"/>
+                <exclude name="LICENSE.base"/>
+                <exclude name="royale-asjs/DEPENDENCIES"/>
+                <exclude name="royale-asjs/README.md"/>
+                <exclude name="royale-asjs/LICENSE.bin"/>
+                <exclude name="royale-asjs/LICENSE.base"/>
+                <!--          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"/>
+                <!--          End of binary files           -->
+                <!--          JSON doesn't really have a comment format     -->
+                <exclude name="**/*.json"/>
+                <!--          JSHint properties file           -->
+                <exclude name="frameworks/js/jshint.properties"/>
+                <exclude name="frameworks/js/.jshintrc"/>
+                <exclude name="**/META-INF/DEPENDENCIES" />
+                <!--          ide files     -->
+                <exclude name="**/.vscode/**"/>
+                <!--          royale-compiler -->
+                <exclude name="**/org.apache.royale.tools.RoyaleToolGroup"/>
+                <exclude name="**/debugger/META-INF/MANIFEST.MF"/>
+                <exclude name="**/*.patch"/>
+                <exclude name="royale-typedefs/DEPENDENCIES"/>
+                <exclude name="royale-compiler/LICENSE.bin"/>
+                <exclude name="royale-compiler/README_MAVEN.txt"/>
+                <exclude name="royale-compiler/NOTICE.base"/>
+                <exclude name="royale-compiler/NOTICE.fdb"/>
+                <exclude name="royale-compiler/NOTICE.oem"/>
+                <!--          Google Closure Library     -->
+                <exclude name="royale-asjs/js/lib/google/**"/>
+                <!--          compiled output     -->
+                <exclude name="royale-asjs/frameworks/projects/*/target/**"/>
+                <exclude name="royale-asjs/frameworks/js/projects/*/target/**"/>
+                <!--          swcs     -->
+                <exclude name="royale-asjs/frameworks/libs/Basic.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/Binding.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/Charts.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/Collections.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/Core.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/CreateJS.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/DragDrop.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/Effects.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/Express.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/Flat.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/FontAwesome.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/Formatters.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/GoogleMaps.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/Graphics.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/HTML.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/HTML5.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/Icons.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/jQuery.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/Crux.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/Jewel.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/JewelTheme.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/Language.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/MaterialDesignLite.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/Mobile.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/MXRoyale.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/Network.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/Reflection.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/RoyaleSite.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/RoyaleUnit.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/RoyaleUnitUI.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/SparkRoyale.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/Storage.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/TLF.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/Text.swc"/>
+                <exclude name="royale-asjs/frameworks/libs/XML.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/AceJS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/BasicJS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/BindingJS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/ChartsJS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/CollectionsJS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/CoreJS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/CreateJSJS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/DragDropJS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/EffectsJS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/ExpressJS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/FlatJS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/FontAwesomeJS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/FormattersJS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/GoogleMapsJS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/GraphicsJS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/HTMLJS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/HTML5JS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/IconsJS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/JewelJS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/CruxJS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/jQueryJS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/LanguageJS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/MaterialDesignLiteJS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/MobileJS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/MXRoyaleJS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/NetworkJS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/ReflectionJS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/RoyaleSiteJS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/RoyaleUnitJS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/RoyaleUnitUIJS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/SparkRoyaleJS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/StorageJS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/TLFJS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/TextJS.swc"/>
+                <exclude name="royale-asjs/frameworks/js/libs/XMLJS.swc"/>
+                <exclude name="royale-asjs/frameworks/themes/Halo/Halo.swc"/>
+                <exclude name="royale-asjs/frameworks/themes/JewelTheme/target/JewelTheme.swc"/>
+                
+                <exclude name="royale-asjs/frameworks/projects/Graphics/src/main/royale/org/apache/royale/graphics/utils/shaderClasses/*.pbj"/>
+                <exclude name="royale-asjs/frameworks/projects/**/src/test/royale/FlexUnitRoyaleApplication.swf"/>                
+                <exclude name="royale-asjs/frameworks/localfonts.ser"/>
+                <exclude name="royale-asjs/frameworks/macfonts.ser"/>
+                <exclude name="royale-asjs/frameworks/winfonts.ser"/>
+                
+                <exclude name="royale-asjs/js/libs/GCL.swc"/>
+                <exclude name="royale-asjs/js/libs/cordova.swc"/>
+                <exclude name="royale-asjs/js/libs/createjs.swc"/>
+                <exclude name="royale-asjs/js/libs/google_maps.swc"/>
+                <exclude name="royale-asjs/js/libs/jasmine.swc"/>
+                <exclude name="royale-asjs/js/libs/jquery.swc"/>
+                <exclude name="royale-asjs/js/libs/js.swc"/>
+                <exclude name="royale-asjs/js/libs/node.swc"/>
+                <exclude name="royale-asjs/js/libs/ace-1.2.3.swc"/>
+
+                <exclude name="royale-asjs/js/lib/args4j.jar"/>
+                <exclude name="royale-asjs/js/lib/asdoc.jar"/>
+                <exclude name="royale-asjs/js/lib/commons-io.jar"/>
+                <exclude name="royale-asjs/js/lib/compc.jar"/>
+                <exclude name="royale-asjs/js/lib/compiler-royaleTasks.jar"/>
+                <exclude name="royale-asjs/js/lib/royaleUnitTasks.jar"/>
+                <exclude name="royale-asjs/js/lib/externc.jar"/>
+                <exclude name="royale-asjs/js/lib/flex-tool-api.jar"/>
+                <exclude name="royale-asjs/js/lib/guava.jar"/>
+                <exclude name="royale-asjs/js/lib/jsc.jar"/>
+                <exclude name="royale-asjs/js/lib/junit-4.10.jar"/>
+                <exclude name="royale-asjs/js/lib/mxmlc.jar"/>
+                <exclude name="royale-asjs/js/lib/java-websocket.jar"/>
+                <exclude name="royale-asjs/js/lib/dom4j.jar"/>
+                <exclude name="royale-asjs/js/lib/dom4j-LICENSE.txt"/>
+                <exclude name="royale-asjs/js/lib/slf4j-api.jar"/>
+                <exclude name="royale-asjs/lib/adt.jar"/>
+                <exclude name="royale-asjs/lib/compc.jar"/>
+                <exclude name="royale-asjs/lib/compiler-asc.jar"/>
+                <exclude name="royale-asjs/lib/compiler-common.jar"/>
+                <exclude name="royale-asjs/lib/compiler-compc.jar"/>
+                <exclude name="royale-asjs/lib/compiler-mxmlc.jar"/>
+                <exclude name="royale-asjs/lib/compiler-optimizer.jar"/>
+                <exclude name="royale-asjs/lib/compiler-swfdump.jar"/>
+                <exclude name="royale-asjs/lib/compiler.jar"/>
+                <exclude name="royale-asjs/lib/fdb.jar"/>
+                <exclude name="royale-asjs/lib/flex-compiler-oem.jar"/>

[... 545 lines stripped ...]