<?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/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/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://apacheflexbuild.cloudapp.net: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://apacheflexbuild.cloudapp.net: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>
