<?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/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="externs/target/maven-shared-archive-resources/META-INF/DEPENDENCIES"/>
                <exclude name="**/*.patch"/>
                <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="externs/target/maven-shared-archive-resources/META-INF/DEPENDENCIES"/>
                <exclude name="**/*.patch"/>
                <exclude name="LICENSE.jx.bin"/>
                <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="externs/js/target/downloads/svg.js" />
                <exclude name="externs/createjs/target/downloads/**" />
                <exclude name="externs//**/*.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>
