<?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="ApproveApacheFlexFalcon" default="main" basedir=".">


    <!-- Required for OSX 10.6 / Snow Leopard Performance. -->
    <!-- Java 7 on Mac requires OSX 10.7.3 or higher and is 64-bit only -->
    <!-- local.d32 is set/used in build.properties so this needs to be done first. -->
    <condition property="local.d32" value="-d32">
        <and>
            <os family="windows"/>
            <equals arg1="${sun.arch.data.model}" arg2="64"/>
            <equals arg1="${os.arch}" arg2="x86_64"/>
            <equals arg1="${ant.java.version}" arg2="1.6"/>
        </and>
    </condition>

    <condition property="isMac" value="mac">
        <os family="mac" />
    </condition>
    <condition property="isWindows" value="windows">
        <os family="windows" />
    </condition>
    <condition property="isLinux" value="linux">
		<and>
			<os family="unix" />
			<not>
				<isset property="isMac" />
			</not>
		</and>
    </condition>
    <condition property="package.suffix" value="zip">
        <os family="windows" />
    </condition>
	<property name="package.suffix" value="tar.gz" />
	
	<property name="src.rat.report" value="${basedir}/rat-report-src.txt"/>
    <property name="bin.rat.report" value="${basedir}/rat-report-bin.txt"/>
    <property name="apache.rat.jar" value="apache-rat-0.11.jar" />
    <property name="apache.rat.tasks.jar" value="apache-rat-tasks-0.11.jar" />
    <property name="apache.rat.url" value="http://search.maven.org/remotecontent?filepath=org/apache/rat/apache-rat/0.11" />
    <property name="apache.rat.tasks.url" value="http://search.maven.org/remotecontent?filepath=org/apache/rat/apache-rat-tasks/0.11" />
	   
    <property file="${basedir}/approvefalcon.properties"/>
    
	<property name="mac.text.display" value="cat" />
	<property name="win.text.display" value="type" />
	<property name="linux.text.display" value="cat" />
    <property environment="env"/>

    <property name="build.target" value="main" />
    
	<condition property="do.copy.downloads" >
		<isset property="download.cache.dir" /> 
	</condition>
	
    <fail message="The ANT_HOME environment variable is not set."
        unless="env.ANT_HOME"/>
		
	<available file="${env.AIR_HOME}"
		type="dir" 
		property="AIR_HOME" value="${env.AIR_HOME}" />

    <fail message="The AIR_HOME property is not set in environment or command-line."
        unless="AIR_HOME"/>
		
    <available file="${env.PLAYERGLOBAL_HOME}"
        type="dir"
        property="PLAYERGLOBAL_HOME" value="${env.PLAYERGLOBAL_HOME}" />
    
    <fail message="The PLAYERGLOBAL_HOME property is not set in environment or command-line."
        unless="PLAYERGLOBAL_HOME"/>
    
    <available file="${env.FLASHPLAYER_DEBUGGER}"
        type="dir"
        property="FLASHPLAYER_DEBUGGER" value="${env.FLASHPLAYER_DEBUGGER}" />
    
    <available file="${env.FLASHPLAYER_DEBUGGER}"
        type="file"
        property="FLASHPLAYER_DEBUGGER" value="${env.FLASHPLAYER_DEBUGGER}" />
    
    <fail message="The FLASHPLAYER_DEBUGGER property is not set in environment or command-line."
        unless="FLASHPLAYER_DEBUGGER"/>
        
    <available file="${env.ANT_HOME}/lib/${apache.rat.jar}"
        type="file"
        property="apache.rat.found"/>
    <available file="${env.ANT_HOME}/lib/${apache.rat.tasks.jar}"
        type="file"
        property="apache.rat.tasks.found"/>
		
    <fail message="The release version is not set.  Specify -Drelease.version=&lt;release version (e.g. 3.1, 3.2, etc)&gt;"
    unless="release.version"/>

    <condition property="package.url.path"
        value="http://apacheflexbuild.cloudapp.net:8080/job/flex-falcon%20release%20branch/lastSuccessfulBuild/artifact/out">
        <not>
            <isset property="rc" />
        </not>
    </condition>
    <condition property="bin.package.url.path"
        value="${package.url.path}">
        <not>
            <isset property="rc" />
        </not>
    </condition>

	<property name="package.url.path" value="https://dist.apache.org/repos/dist/dev/flex/falcon/${release.version}/rc${rc}" />
	<property name="src.package.url.path" value="${package.url.path}" />
    <property name="bin.package.url.path" value="${package.url.path}/binaries" />
    <property name="src.package.url.name" value="apache-flex-falconjx-${release.version}-src" />
    <property name="bin.package.url.name" value="apache-flex-falconjx-${release.version}-bin" />
	
    <condition property="zip.package">
        <equals arg1="zip" arg2="${package.suffix}" />
    </condition>
    
	<target name="display-text-mac" if="isMac">
		<echo>========================= Begin ${file} ==============================</echo>
		<exec executable="${mac.text.display}" >
			<arg value="${file}" /> 
		</exec>
		<echo>========================= End ${file} ==============================</echo>
	</target>
	<target name="display-text-win" if="isWindows">
		<pathconvert targetos="windows" property="winfile">
			<path path="${file}" />
		</pathconvert>
		<echo>========================= Begin ${winfile} ==============================</echo>
		<exec executable="cmd.exe" >
			<arg value="/c" />
			<arg value="${win.text.display}" />
			<arg value="${winfile}" /> 
		</exec>		
		<echo>========================= End ${winfile} ==============================</echo>
	</target>
	<target name="display-text-linux" if="isLinux">
		<echo>========================= Begin ${file} ==============================</echo>
		<exec executable="${linux.text.display}" >
			<arg value="${file}" /> 
		</exec>
		<echo>========================= End ${file} ==============================</echo>
	</target>
	
	<target name="install-rat" depends="install-rat.jar,install-rat.tasks.jar" />
	<target name="install-rat.jar" unless="apache.rat.found">
		<get src="${apache.rat.url}/${apache.rat.jar}" dest="${env.ANT_HOME}/lib/${apache.rat.jar}" />
	</target>
	<target name="install-rat.tasks.jar" unless="apache.rat.tasks.found">
		<get src="${apache.rat.tasks.url}/${apache.rat.tasks.jar}" dest="${env.ANT_HOME}/lib/${apache.rat.tasks.jar}" />
	</target>
	
    <target name="rat-taskdef" description="Rat taskdef">
        <typedef resource="org/apache/rat/anttasks/antlib.xml"
        uri="antlib:org.apache.rat.anttasks"
        classpathref="anttask.classpath"/>
    </target>

    <target name="main" depends="write-out-jars-list,install-rat,download,check-sigs,uncompress,rat-check,examine-jars,check-notices,build,approve" description="Perform required release approval steps">
    </target>
    
    <target name="main-no-download" depends="write-out-jars-list,install-rat,check-sigs,uncompress,rat-check,examine-jars,check-notices,build,approve" description="Perform required release approval steps">
    </target>
	
    <target name="test" >
		<echo>${rat.report}.bin.txt</echo>
		<replaceregexp file="${rat.report}.bin.txt" match="..AL.*" replace="" byline="true"/>
    </target>
    
    <target name="write-out-jars-list" >
        <delete file="jars.txt" />
        <!-- this is a comma-delimited, no spaces, no-line-breaks list used to decide which jars
         to skip in the rat-check of the binaries and which jars to examine before approval -->
        <property name="jars-list" value="compiler/lib/falcon-flexTasks.jar,compiler/lib/compc.jar,compiler/lib/compiler.jar,compiler/lib/falcon-asc.jar,compiler/lib/falcon-compc.jar,compiler/lib/falcon-flexTasks.jar,compiler/lib/falcon-mxmlc.jar,compiler/lib/falcon-optimizer.jar,compiler/lib/falcon-swfdump.jar,compiler/lib/fdb.jar,compiler/lib/flex-compiler-oem.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="${src.package.url.path}/${src.package.url.name}.${package.suffix}"
            dest="${basedir}/${src.package.url.name}.${package.suffix}" />
        <get src="${src.package.url.path}/${src.package.url.name}.${package.suffix}.md5"
            dest="${basedir}/${src.package.url.name}.${package.suffix}.md5" />
        <get src="${bin.package.url.path}/${bin.package.url.name}.${package.suffix}"
            dest="${basedir}/${bin.package.url.name}.${package.suffix}" />
        <get src="${bin.package.url.path}/${bin.package.url.name}.${package.suffix}.md5"
            dest="${basedir}/${bin.package.url.name}.${package.suffix}.md5" />
        <antcall target="asc_get" />
    </target>
    
    <target name="asc_get" if="rc" >
        <get src="${src.package.url.path}/${src.package.url.name}.${package.suffix}.asc"
            dest="${basedir}/${src.package.url.name}.${package.suffix}.asc" />
        <get src="${bin.package.url.path}/${bin.package.url.name}.${package.suffix}.asc"
            dest="${basedir}/${bin.package.url.name}.${package.suffix}.asc" />
    </target>
    
    <target name="check-sigs" description="check md5 and gpg sigs">
		<replace file="${basedir}/${src.package.url.name}.${package.suffix}.md5"
			token=" " />
		<checksum file="${basedir}/${src.package.url.name}.${package.suffix}" algorithm="md5" verifyproperty="src.md5.ok" />
        <condition property="SourceMD5Invalid">
			<not>
				<equals arg1="${src.md5.ok}" arg2="true" />
			</not>
        </condition>
        <fail message="Source Package MD5 checksum did not match" if="SourceMD5Invalid" />
        <replace file="${basedir}/${bin.package.url.name}.${package.suffix}.md5"
            token=" " />
        <checksum file="${basedir}/${bin.package.url.name}.${package.suffix}" algorithm="md5" verifyproperty="bin.md5.ok" />
        <condition property="BinaryMD5Invalid">
            <not>
                <equals arg1="${bin.md5.ok}" arg2="true" />
            </not>
        </condition>
        <fail message="Binary Package MD5 checksum did not match" if="BinaryMD5Invalid" />
        <echo>rc is ${rc}</echo>
        <antcall target="gpg_check" />
    </target>

    <target name="gpg_check" if="rc">
        <exec executable="gpg" failonerror="true">
            <arg value="--verify" />
            <arg value="${basedir}/${src.package.url.name}.${package.suffix}.asc" />
            <arg value="${basedir}/${src.package.url.name}.${package.suffix}" />
        </exec>
        <exec executable="gpg" failonerror="true">
            <arg value="--verify" />
            <arg value="${basedir}/${bin.package.url.name}.${package.suffix}.asc" />
            <arg value="${basedir}/${bin.package.url.name}.${package.suffix}" />
        </exec>
    </target>
    
    <target name="uncompress" depends="pre-clean, untar-file, unzip-file" />

    <target name="pre-clean" description="remove old uncompressed package" >
		<delete dir="${basedir}/${src.package.url.name}" failonerror="false" />
        <delete dir="${basedir}/${bin.package.url.name}" failonerror="false" />
	</target>
	
    <target name="untar-file" unless="zip.package" description="Untars zipFile">
        <untar src="${basedir}/${src.package.url.name}.${package.suffix}"
                dest="${basedir}" compression="gzip"/>
        <untar src="${basedir}/${bin.package.url.name}.${package.suffix}"
                dest="${basedir}" compression="gzip"/>
    </target>

    <target name="unzip-file" if="zip.package" description="Unzips zipFile">
        <unzip src="${basedir}/${src.package.url.name}.${package.suffix}"
                dest="${basedir}/${src.package.url.name}"/>
        <unzip src="${basedir}/${bin.package.url.name}.${package.suffix}"
                dest="${basedir}/${bin.package.url.name}"/>
    </target>

    <target name="rat-check" >

        <echo message="Checking files at ${basedir}/${src.package.url.name}, report is ${src.rat.report}"/>

        <rat:report xmlns:rat="antlib:org.apache.rat.anttasks"
            reportFile="${src.rat.report}">
            <fileset dir="${basedir}/${src.package.url.name}">
                <!-- exclude media (png, gif, jpg, mp3, flv) -->
                <exclude name="**/*.png"/>
                <exclude name="**/*.gif"/>
                <exclude name="**/*.jpg"/>
                <exclude name="**/*.mp3"/>
                <exclude name="**/*.flv"/>
                <exclude name="**/org.apache.flex.tools.FlexToolGroup"/>
                <exclude name="debugger/META-INF/MANIFEST.MF"/>
                <exclude name="flex-typedefs/target/maven-shared-archive-resources/META-INF/DEPENDENCIES"/>
                <exclude name="**/*.patch"/>
                <exclude name="README_MAVEN.txt"/>
                <exclude name="RELEASE_NOTES_JX"/>
                <exclude name="LICENSE.jx.bin"/>
                <exclude name="NOTICE.jx"/>
                <exclude name="README_JX"/>
                <exclude name="NOTICE.base"/>
                <exclude name="NOTICE.fdb"/>
                <exclude name="NOTICE.oem"/>
                <exclude name="NOTICE.swfutils"/>
            </fileset>
        </rat:report>
		<antcall target="display-text" >
            <param name="file" value="${src.rat.report}" />
        </antcall>
        <input
			message="Check that there are no unknown or unapproved licenses or archives. Is it ok?"
            validargs="y,n"
        defaultvalue="y"
        addproperty="rat.src.license.ok"/>
		<echo>filtering out AL files to make it easier to see binary files</echo>
		<copy file="${src.rat.report}" tofile="${src.rat.report}.bin.txt" />
		<replaceregexp file="${src.rat.report}.bin.txt" match="..AL.*" replace="__AL" byline="true"/>
        <replaceregexp file="${src.rat.report}.bin.txt" flags="gs" match="__AL." replace="" byline="false"/>
		<antcall target="display-text" >
            <param name="file" value="${src.rat.report}.bin.txt" />
        </antcall>
        <input
			message="Check that there are no unexpected binaries.  Is it ok?"
            validargs="y,n"
        defaultvalue="n"
        addproperty="rat.src.binaries.ok"/>
        
        <echo message="Checking files at ${basedir}/${bin.package.url.name}, report is ${bin.rat.report}"/>
        
        <antcall target="binary-rat" />
        <antcall target="display-text" >
            <param name="file" value="${bin.rat.report}" />
        </antcall>
        <input
        message="Check that there are no unknown or unapproved licenses or archives. Is it ok?"
        validargs="y,n"
        defaultvalue="y"
        addproperty="rat.bin.license.ok"/>
        <echo>filtering out AL files to make it easier to see binary files</echo>
        <copy file="${bin.rat.report}" tofile="${bin.rat.report}.bin.txt" />
        <replaceregexp file="${bin.rat.report}.bin.txt" match="..AL.*" replace="__AL" byline="true"/>
        <replaceregexp file="${bin.rat.report}.bin.txt" flags="gs" match="__AL." replace="" byline="false"/>
        <antcall target="display-text" >
            <param name="file" value="${bin.rat.report}.bin.txt" />
        </antcall>
        <input
        message="Check that there are no unexpected binaries.  Is it ok?"
        validargs="y,n"
        defaultvalue="n"
        addproperty="rat.bin.binaries.ok"/>
    </target>

    <target name="binary-rat" >
        <echo>${jars-list}</echo>
        <rat:report xmlns:rat="antlib:org.apache.rat.anttasks"
            reportFile="${bin.rat.report}">
            <fileset dir="${basedir}/${bin.package.url.name}">
                <!-- exclude media (png, gif, jpg, mp3, flv) -->
                <exclude name="**/*.png"/>
                <exclude name="**/*.gif"/>
                <exclude name="**/*.jpg"/>
                <exclude name="**/*.mp3"/>
                <exclude name="**/*.flv"/>
                <exclude name="**/org.apache.flex.tools.FlexToolGroup"/>
                <exclude name="debugger/META-INF/MANIFEST.MF"/>
                <exclude name="flex-typedefs/target/maven-shared-archive-resources/META-INF/DEPENDENCIES"/>
                <exclude name="**/*.patch"/>
                <exclude name="LICENSE.jx.bin"/>
                <exclude name="README_MAVEN.txt"/>
                <exclude name="RELEASE_NOTES_JX"/>
                <exclude name="NOTICE.jx"/>
                <exclude name="README_JX"/>
                <exclude name="NOTICE.base"/>
                <exclude name="NOTICE.fdb"/>
                <exclude name="NOTICE.oem"/>
                <exclude name="NOTICE.swfutils"/>
                <exclude name="compiler/target/generated-sources/**" />
                <exclude name="flex-typedefs/js/target/downloads/svg.js" />
                <exclude name="flex-typedefs/createjs/target/downloads/**" />
                <exclude name="flex-typedefs//**/*.swc" />
                <exclude name="js/libs/cordova.swc"/>
                <exclude name="js/libs/createjs.swc"/>
                <exclude name="js/libs/GCL.swc"/>
                <exclude name="js/libs/google_maps.swc"/>
                <exclude name="js/libs/jasmine.swc"/>
                <exclude name="js/libs/jquery.swc"/>
                <exclude name="js/libs/js.swc"/>
                <exclude name="js/libs/node.swc"/>
                <excludesfile name="${basedir}/jarexcludes.txt" />
            </fileset>
        </rat:report>
    </target>
    
    <!-- someday figure out how to use 
        find . -name "*.jar" -exec tar ft {} \; | sort -u > paths.txt -->
    
    <!-- how to do tar and sort on Windows? -->
    <target name="examine-jars" if="isMac">
        <!-- comma delimited list, no spaces, not one file per line -->
        <copy file="jars.txt" tofile="loop.txt" />
        <ant antfile="ApproveFalcon.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="ApproveFalcon.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}/${thisFile}" dest="${basedir}/jar" />
        <exec executable="tar" output="${basedir}/jarclasses.txt">
            <arg value="tf" />
            <arg value="${basedir}/${bin.package.url.name}/${thisFile}" />
        </exec>
        <replaceregexp file="${basedir}/jarclasses.txt" match="(.*)/(.*)" replace="\1" flags="m" byline="true"/>
        <exec executable="sort" output="${basedir}/jarpaths.txt">
            <arg value="-u" />
            <arg value="${basedir}/jarclasses.txt" />
        </exec>
        <antcall target="display-text" >
            <param name="file" value="${basedir}/jarpaths.txt" />
        </antcall>
        <input
            message="Above is the list of folders in this ${thisFile}.&#xA;Folder names can sometimes indicate presence of third-party content that needs to be in LICENSE and/or NOTICE files.&#xA;Press the Enter key to see the LICENSE for this jar."/>
        
        <fail message="LICENSE not in ${basedir}/${bin.package.url.name}/${thisFile}">
            <condition>
                <not>
                    <available file="${basedir}/jar/META-INF/LICENSE" />
                </not>
            </condition>
        </fail>
        <fail message="NOTICE not in ${basedir}/${bin.package.url.name}/${thisFile}">
            <condition>
                <not>
                    <available file="${basedir}/jar/META-INF/NOTICE" />
                </not>
            </condition>
        </fail>
        <antcall target="display-text" >
            <param name="file" value="${basedir}/jar/META-INF/LICENSE" />
        </antcall>
        <input
            message="Check the LICENSE for the Apache License and third-party licenses. Is it ok?"
            validargs="y,n"
            defaultvalue="y"
            addproperty="jar.license.ok"/>
        <fail message="LICENSE for ${basedir}/${bin.package.url.name}/${thisFile} not correct">
            <condition>
                <not>
                    <equals arg1="${jar.license.ok}" arg2="y" />
                </not>
            </condition>
        </fail>
        <antcall target="display-text" >
            <param name="file" value="${basedir}/jar/META-INF/NOTICE" />
        </antcall>
        <input
            message="Check the NOTICE for required notices from third-parties. Is it ok?"
            validargs="y,n"
            defaultvalue="y"
            addproperty="jar.notice.ok"/>
        <fail message="NOTICE for ${basedir}/${bin.package.url.name}/${thisFile} not correct">
            <condition>
                <not>
                    <equals arg1="${jar.notice.ok}" arg2="y" />
                </not>
            </condition>
        </fail>
        
    </target>
    
    <target name="check-notices" description="open each notice file for review, grep for a few things" >
        <fail message="README not in source package">
			<condition>
	            <not>
    	            <available file="${basedir}/${src.package.url.name}/README" />
        	    </not>
			</condition>
        </fail>
        <fail message="README_JX not in source package">
			<condition>
	            <not>
    	            <available file="${basedir}/${src.package.url.name}/README_JX" />
        	    </not>
			</condition>
        </fail>
        <fail message="RELEASE_NOTES not in source package">
			<condition>
				<not>
					<available file="${basedir}/${src.package.url.name}/RELEASE_NOTES" />
				</not>
			</condition>
        </fail>
        <fail message="RELEASE_NOTES_JX not in source package">
			<condition>
				<not>
					<available file="${basedir}/${src.package.url.name}/RELEASE_NOTES_JX" />
				</not>
			</condition>
        </fail>
        <fail message="NOTICE not in source package">
			<condition>
				<not>
					<available file="${basedir}/${src.package.url.name}/NOTICE" />
				</not>
			</condition>
        </fail>
        <fail message="NOTICE.JX not in source package">
			<condition>
				<not>
					<available file="${basedir}/${src.package.url.name}/NOTICE.JX" />
				</not>
			</condition>
        </fail>
        <fail message="LICENSE not in source package">
			<condition>
				<not>
					<available file="${basedir}/${src.package.url.name}/LICENSE" />
				</not>
			</condition>
        </fail>
        <fail message="README not in binary package">
            <condition>
                <not>
                    <available file="${basedir}/${bin.package.url.name}/README" />
                </not>
            </condition>
        </fail>
        <fail message="README_JX not in binary package">
            <condition>
                <not>
                    <available file="${basedir}/${bin.package.url.name}/README_JX" />
                </not>
            </condition>
        </fail>
        <fail message="RELEASE_NOTES not in binary package">
            <condition>
                <not>
                    <available file="${basedir}/${bin.package.url.name}/RELEASE_NOTES" />
                </not>
            </condition>
        </fail>
        <fail message="RELEASE_NOTES_JX not in binary package">
            <condition>
                <not>
                    <available file="${basedir}/${bin.package.url.name}/RELEASE_NOTES_JX" />
                </not>
            </condition>
        </fail>
        <fail message="NOTICE not in binary package">
            <condition>
                <not>
                    <available file="${basedir}/${bin.package.url.name}/NOTICE" />
                </not>
            </condition>
        </fail>
        <fail message="NOTICE.JX not in binary package">
            <condition>
                <not>
                    <available file="${basedir}/${bin.package.url.name}/NOTICE.JX" />
                </not>
            </condition>
        </fail>
        <fail message="LICENSE not in binary package">
            <condition>
                <not>
                    <available file="${basedir}/${bin.package.url.name}/LICENSE" />
                </not>
            </condition>
        </fail>
        <checksum file="${basedir}/${src.package.url.name}/RELEASE_NOTES_JX" property="src.rnjxmd5" />
        <checksum file="${basedir}/${bin.package.url.name}/RELEASE_NOTES_JX" property="bin.rnjxmd5" />
        <fail message="RELEASE_NOTES_JX in binary package does not match source package">
            <condition>
                <not>
                    <equals arg1="${src.rnjxmd5}" arg2="${bin.rnjxmd5}" />
                </not>
            </condition>
        </fail>
        <checksum file="${basedir}/${src.package.url.name}/RELEASE_NOTES" property="src.rnmd5" />
        <checksum file="${basedir}/${bin.package.url.name}/RELEASE_NOTES" property="bin.rnmd5" />
        <fail message="RELEASE_NOTES in binary package does not match source package">
            <condition>
                <not>
                    <equals arg1="${src.rnmd5}" arg2="${bin.rnmd5}" />
                </not>
            </condition>
        </fail>
        <checksum file="${basedir}/${src.package.url.name}/README_JX" property="src.rjxmd5" />
        <checksum file="${basedir}/${bin.package.url.name}/README_JX" property="bin.rjxmd5" />
        <fail message="README_JX in binary package does not match source package">
            <condition>
                <not>
                    <equals arg1="${src.rjxmd5}" arg2="${bin.rjxmd5}" />
                </not>
            </condition>
        </fail>
        <checksum file="${basedir}/${src.package.url.name}/README" property="src.rmd5" />
        <checksum file="${basedir}/${bin.package.url.name}/README" property="bin.rmd5" />
        <fail message="README in binary package does not match source package">
            <condition>
                <not>
                    <equals arg1="${src.rmd5}" arg2="${bin.rmd5}" />
                </not>
            </condition>
        </fail>
		<antcall target="display-text" >
            <param name="file" value="${basedir}/${src.package.url.name}/README" />
        </antcall>
		<input
			message="Check the README for version numbers, spelling, grammar, accuracy.  Is it ok?"
            validargs="y,n"
        defaultvalue="y"
        addproperty="readme.ok"/>
		<antcall target="display-text" >
            <param name="file" value="${basedir}/${src.package.url.name}/README_JX" />
        </antcall>
		<input
            message="Check the README_JX for version numbers, spelling, grammar, accuracy.  Is it ok?"
            validargs="y,n"
            defaultvalue="y"
            addproperty="readmejx.ok"/>
		
		<antcall target="display-text" >
            <param name="file" value="${basedir}/${src.package.url.name}/RELEASE_NOTES" />
        </antcall>
		<input
			message="Check the RELEASE_NOTES for copyright years, spelling, grammar, accuracy. Is it ok?"
            validargs="y,n"
        defaultvalue="y"
        addproperty="releasenotes.ok"/>
		
		<antcall target="display-text" >
            <param name="file" value="${basedir}/${src.package.url.name}/RELEASE_NOTES_JX" />
        </antcall>
		<input
        message="Check the RELEASE_NOTES_JX for copyright years, spelling, grammar, accuracy. Is it ok?"
        validargs="y,n"
        defaultvalue="y"
        addproperty="releasenotesjx.ok"/>
        
		<antcall target="display-text" >
            <param name="file" value="${basedir}/${src.package.url.name}/NOTICE" />
        </antcall>
		<input
			message="Check the source package NOTICE for required notices from third-parties. Is it ok?"
            validargs="y,n"
        defaultvalue="y"
        addproperty="src.notice.ok"/>

		<antcall target="display-text" >
            <param name="file" value="${basedir}/${src.package.url.name}/LICENSE" />
        </antcall>
		<input
			message="Check the source package LICENSE for the Apache License and third-party licenses. Is it ok?"
            validargs="y,n"
        defaultvalue="y"
        addproperty="src.license.ok"/>
        
        <antcall target="display-text" >
            <param name="file" value="${basedir}/${bin.package.url.name}/NOTICE" />
        </antcall>
        <input
        message="Check the binary package NOTICE for required notices from third-parties. Is it ok?"
        validargs="y,n"
        defaultvalue="y"
        addproperty="bin.notice.ok"/>
        
        <antcall target="display-text" >
            <param name="file" value="${basedir}/${bin.package.url.name}/LICENSE" />
        </antcall>
        <input
        message="Check the binary package LICENSE for the Apache License and third-party licenses. Is it ok?"
        validargs="y,n"
        defaultvalue="y"
        addproperty="bin.license.ok"/>
    </target>

    <target name="build" depends="copy.downloads">
		<input
			message="The final step is to run the build and any tests the build script runs.  This can take several minutes.  Press y to start the build."
            validargs="y"
        defaultvalue="y" />
        <ant dir="${basedir}/${src.package.url.name}" target="all" />
    </target>

    <target name="copy.downloads" if="${do.copy.downloads}" description="instead of actually downloading all of the dependencies, you can save lots of time by just copying from some other folder in some other SDK.">
		<echo>Copying downloads</echo>
        <copy todir="${basedir}/${src.package.url.name}/in" >
			<fileset dir="${download.cache.dir}" />
		</copy>
    </target>
    	
	<target name="approve" >
		<condition property="vote" value="+1">
			<and>
				<equals arg1="${rat.src.license.ok}" arg2="y" />
				<equals arg1="${rat.src.binaries.ok}" arg2="y" />
                <equals arg1="${rat.bin.license.ok}" arg2="y" />
                <equals arg1="${rat.bin.binaries.ok}" arg2="y" />
				<equals arg1="${readme.ok}" arg2="y" />
				<equals arg1="${releasenotes.ok}" arg2="y" />
				<equals arg1="${src.notice.ok}" arg2="y" />
                <equals arg1="${bin.notice.ok}" arg2="y" />
				<equals arg1="${readmejx.ok}" arg2="y" />
				<equals arg1="${releasenotesjx.ok}" arg2="y" />
				<equals arg1="${src.license.ok}" arg2="y" />
                <equals arg1="${bin.license.ok}" arg2="y" />
			</and>
		</condition>
		<property name="vote" value="-1" />
		<echo>
${vote}
Package ${src.package.url.path}/${src.package.url.name}.${package.suffix}
Java ${ant.java.version}
OS: ${os.name} ${os.arch} ${os.version}
Source kit signatures match: y
Source kit builds: y
README is ok: ${readme.ok}
README_JX is ok: ${readmejx.ok}
RELEASE_NOTES is ok: ${releasenotes.ok}
RELEASE_NOTES_JX is ok: ${releasenotesjx.ok}
NOTICE is ok: ${src.notice.ok}
LICENSE is ok: ${src.license.ok}
No unapproved licenses or archives in source package: ${rat.src.license.ok}
No unapproved binaries in source package: ${rat.src.binaries.ok}

Package ${bin.package.url.path}/${bin.package.url.name}.${package.suffix}
Binary kit signatures match: y
NOTICE is ok: ${bin.notice.ok}
LICENSE is ok: ${bin.license.ok}
No unapproved licenses or files in jars: y
No unapproved licenses or archives in binary package: ${rat.bin.license.ok}
No unapproved binaries in binary package: ${rat.bin.binaries.ok}
		</echo>
		<fail>
			<condition>
	            <equals arg1="-1" arg2="${vote}"/>
			</condition>
		</fail>
	</target>
</project>
