<?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/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>
