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

    <!-- use -Dtag=<tag or commit hash> to build from other than the head -->

    <!-- 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>
	
	<property name="rat.report" value="${basedir}/rat-report.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}/local.properties" />
	<property file="${basedir}/build.properties" />
	   
    <property environment="env"/>
    
	<condition property="do.copy.downloads" >
		<isset property="download.cache.dir" /> 
	</condition>
	
    <condition property="CRLF" value="%0D%0A">
        <isset property="isWindows" />
    </condition>
    <property name="CRLF" value="%0A" />
    
    <condition property="mvn" value="mvn.cmd">
        <isset property="isWindows" />
    </condition>
    <property name="mvn" value="mvn" />

    <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 number is not set.  Specify -Drelease.version=&lt;release version (e.g. 0.9.0, 1.0.0, etc)&gt;"
        unless="release.version"/>
        
	<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.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="checkout_tag" if="tag" >
        <exec executable="${git}" dir="${basedir}" failonerror="true" >
            <arg value="checkout" />
            <arg value="${tag}" />
        </exec>
    </target>

    <target name="Release_Step_003" depends="get-temp-folder,download-artifacts,unzip-artifacts,build-source,validate-bits">
    </target>
    <target name="get-temp-folder">
        <input
        message="Enter a temporary folder to store the downloaded artifacts:"
        addproperty="artifactfolder"/>
        <mkdir dir="${artifactfolder}" />
        <available file="${artifactfolder}"
        type="dir"
        property="artifact.folder.found"/>
        <fail message="Could not create artifact folder"
        unless="artifact.folder.found"/>
    </target>
    
    <target name="download-artifacts-utils" if="utils">
        <get src="http://apacheroyaleci.westus2.cloudapp.azure.com:8080/job/Royale_Release_Step_002a_if_utils/lastSuccessfulBuild/artifact/*zip*/archive.zip" dest="${artifactfolder}/archive_utils.zip" />
    </target>
    
    <target name="download-artifacts" if="artifactfolder">
        <antcall target="download-artifacts-utils" />
        <get src="http://apacheroyaleci.westus2.cloudapp.azure.com:8080/job/Royale_Release_Step_003/lastSuccessfulBuild/artifact/*zip*/archive.zip" dest="${artifactfolder}/archive.zip" />
    </target>

    <target name="unzip-artifacts-utils" if="utils">
        <mkdir dir="${artifactfolder}/artifacts" />
        <unzip src="${artifactfolder}/archive_utils.zip" dest="${artifactfolder}/artifacts"/>
    </target>
    <target name="unzip-artifacts" if="artifactfolder">
        <antcall target="unzip-artifacts-utils" />
        <mkdir dir="${artifactfolder}/artifacts" />
        <unzip src="${artifactfolder}/archive.zip" dest="${artifactfolder}/artifacts"/>
    </target>
    <target name="build-source-utils" if="utils">
        <!-- build these modules -->
        <exec executable="${mvn}" dir="${artifactfolder}/sources" failonerror="true" >
            <arg value="clean" />
            <arg value="install" />
            <arg value="-P" />
            <arg value="-main,utils" />
        </exec>
    </target>
    <target name="build-source" >
        <mkdir dir="${artifactfolder}/sources" />
        <unzip src="${artifactfolder}/artifacts/archive/target/checkout/release-dir/org/apache/royale/compiler/royale-compiler-parent/${release.version}/royale-compiler-parent-${release.version}-source-release.zip" dest="${artifactfolder}/sources" >
            <cutdirsmapper dirs="1" />
        </unzip>
        
        <antcall target="build-source-utils" />
        <!-- build these modules -->
        <exec executable="${mvn}" dir="${artifactfolder}/sources" failonerror="true" >
            <arg value="clean" />
            <arg value="install" />
        </exec>
    </target>
    
    <target name="get-artifact-folder" unless="artifactfolder">
        <input
            message="Enter the temporary folder to store the downloaded artifacts:"
            addproperty="artifactfolder"/>
        <available file="${artifactfolder}"
            type="dir"
            property="artifact.folder.found"/>
        <fail message="Could not find artifact folder"
            unless="artifact.folder.found"/>
    </target>
    
    <target name="get-utils-version">
        <xmlproperty file="${artifactfolder}/sources/compiler-jburg-types/pom.xml" prefix="jburg" />
        <property name="utils.version" value="${jburg.project.version}" />
        <echo>utils version is ${utils.version}</echo>
    </target>
    
    <target name="check-for-utils" unless="utils">
        <available file="${artifactfolder}/sources/compiler-jburg-types/target/compiler-jburg-types-${utils.version}.jar" property="utils" value="true" />
    </target>

    <target name="validate-bits" depends="get-artifact-folder,get-utils-version,compare-jars">
    </target>
    
    <target name="write-out-maven-utils-jars-list" if="utils" >
        <delete file="${artifactfolder}/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-with-utils" value="compiler-jburg-types,compiler-build-tools,${jars-list}"/>
        <echo file="${artifactfolder}/jars.txt" message="${jars-list-with-utils}"/>
    </target>
    
    <target name="write-out-maven-jars-list" >
        <delete file="${artifactfolder}/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,compiler-common,compiler-externc,compiler-jx,compiler-test-utils,swfutils,debugger,flex-compiler-oem,royale-ant-tasks,royale-maven-plugin"/>
        <echo file="${artifactfolder}/jars.txt" message="${jars-list}"/>
        <antcall target="write-out-maven-utils-jars-list" />
    </target>

    <target name="compare-jars" depends="write-out-maven-jars-list">
        <!-- comma delimited list, no spaces, not one file per line -->
        <copy file="${artifactfolder}/jars.txt" tofile="${artifactfolder}/loop.txt" />
        <ant antfile="releasesteps.xml" target="loopOnce" inheritAll="false" >
            <property name="artifactfolder" value="${artifactfolder}" />
            <property name="release.version" value="${release.version}" />
            <property name="utils.version" value="${utils.version}" />
        </ant>
    </target>
    
    <target name="get-jar-version" >
        <condition property="jar.version" value="${utils.version}"
            else="${release.version}">
            <or>
                <equals arg1="${thisFile}" arg2="compiler-jburg-types" />
                <equals arg1="${thisFile}" arg2="compiler-build-tools" />
            </or>
        </condition>
    </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="${artifactfolder}/loop1.txt" />
        <copy file="${artifactfolder}/loop.txt" tofile="${artifactfolder}/loop1.txt" />
        <loadfile srcFile="${artifactfolder}/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="${artifactfolder}/loop1.txt" property="echoFile" />
        <replaceregexp file="${artifactfolder}/loop1.txt" match="^(.*),(.*)" replace="\2" />
        <loadfile srcFile="${artifactfolder}/loop1.txt" property="thisFile" />
        <antcall target="compare_files" />
        <replaceregexp file="${artifactfolder}/loop.txt" match="^(.*),(.*)" replace="\1" />
        <ant antfile="releasesteps.xml" target="loopOnce" inheritAll="false">
            <property name="artifactfolder" value="${artifactfolder}" />
            <property name="release.version" value="${release.version}" />
            <property name="utils.version" value="${utils.version}" />
        </ant>
    </target>
    <target name="lastone" if="islast">
        <loadfile srcFile="${artifactfolder}/loop1.txt" property="thisFile" />
        <antcall target="compare_files" />
        <delete file="${artifactfolder}/loop.txt" />
        <delete file="${artifactfolder}/loop1.txt" />
    </target>

    <target name="compare_files" depends="get-jar-version">
        <echo>comparing ${thisFile}-${jar.version}</echo>
        <fail message="${artifactfolder}/artifacts/archive/target/checkout/release-dir/org/apache/royale/compiler/${thisFile}/${jar.version}/${thisFile}-${jar.version}.jar does not exist" >
            <condition>
                <not>
                    <resourceexists><file file="${artifactfolder}/artifacts/archive/target/checkout/release-dir/org/apache/royale/compiler/${thisFile}/${jar.version}/${thisFile}-${jar.version}.jar"/></resourceexists>
                </not>
            </condition>
        </fail>
        <fail message="${artifactfolder}/sources/${thisFile}/target/${thisFile}-${jar.version}.jar does not exist" >
            <condition>
                <not>
                    <resourceexists><file file="${artifactfolder}/sources/${thisFile}/target/${thisFile}-${jar.version}.jar"/></resourceexists>
                </not>
            </condition>
        </fail>
        <condition property="filesmatch" value="true">
              <filesmatch file1="${artifactfolder}/artifacts/archive/target/checkout/release-dir/org/apache/royale/compiler/${thisFile}/${jar.version}/${thisFile}-${jar.version}.jar"
                file2="${artifactfolder}/sources/${thisFile}/target/${thisFile}-${jar.version}.jar" />
        </condition>
        <fail message="${thisFile}-${jar.version}.jar does not match" unless="filesmatch" />
    </target>
    
    <target name="Release_Step_003_Sign" depends="get-artifact-folder">
        <fail message="release.version not specified"
            unless="release.version"/>
        <antcall target="sign-file" >
            <param name="file" value="${artifactfolder}/artifacts/archive/target/checkout/release-dir/org/apache/royale/compiler/royale-compiler-parent/${release.version}/royale-compiler-parent-${release.version}-source-release.zip" />
        </antcall>
        <antcall target="sign-file" >
            <param name="file" value="${artifactfolder}/artifacts/archive/target/checkout/release-dir/org/apache/royale/compiler/royale-compiler-parent/${release.version}/royale-compiler-parent-${release.version}.pom" />
        </antcall>
        <antcall target="sign-jar-artifacts" >
            <param name="jarname" value="compiler" />
        </antcall>
        <antcall target="sign-jar-artifacts" >
            <param name="jarname" value="compiler-common" />
        </antcall>
        <antcall target="sign-jar-artifacts" >
            <param name="jarname" value="compiler-externc" />
        </antcall>
        <antcall target="sign-file" >
            <param name="file" value="${artifactfolder}/artifacts/archive/target/checkout/release-dir/org/apache/royale/compiler/compiler-externc/${release.version}/compiler-externc-${release.version}-tests.jar" />
        </antcall>
        <antcall target="sign-jar-artifacts" >
            <param name="jarname" value="compiler-jx" />
        </antcall>
        <antcall target="sign-jar-artifacts" >
            <param name="jarname" value="compiler-test-utils" />
        </antcall>
        <antcall target="sign-jar-artifacts" >
            <param name="jarname" value="debugger" />
        </antcall>
        <antcall target="sign-jar-artifacts" >
            <param name="jarname" value="flex-compiler-oem" />
        </antcall>
        <antcall target="sign-jar-artifacts" >
            <param name="jarname" value="royale-ant-tasks" />
        </antcall>
        <antcall target="sign-jar-artifacts" >
            <param name="jarname" value="royale-maven-plugin" />
        </antcall>
		 <antcall target="sign-jar-artifacts">
            <param name="jarname" value="royaleunit-ant-tasks" />
        </antcall>
        <antcall target="sign-jar-artifacts" >
            <param name="jarname" value="swfutils" />
        </antcall>
        <antcall target="sign-utils" />
    </target>

    <target name="sign-utils" depends="get-utils-version,check-for-utils" if="utils">
        <antcall target="sign-utils-jar-artifacts" >
            <param name="jarname" value="compiler-build-tools" />
        </antcall>
        <antcall target="sign-utils-jar-artifacts" >
            <param name="jarname" value="compiler-jburg-types" />
        </antcall>
    </target>

    <target name="sign-jar-artifacts">
        <antcall target="sign-file" >
            <param name="file" value="${artifactfolder}/artifacts/archive/target/checkout/release-dir/org/apache/royale/compiler/${jarname}/${release.version}/${jarname}-${release.version}.pom" />
        </antcall>
        <antcall target="sign-file" >
            <param name="file" value="${artifactfolder}/artifacts/archive/target/checkout/release-dir/org/apache/royale/compiler/${jarname}/${release.version}/${jarname}-${release.version}-javadoc.jar" />
        </antcall>
        <antcall target="sign-file" >
            <param name="file" value="${artifactfolder}/artifacts/archive/target/checkout/release-dir/org/apache/royale/compiler/${jarname}/${release.version}/${jarname}-${release.version}-sources.jar" />
        </antcall>
        <antcall target="sign-file" >
            <param name="file" value="${artifactfolder}/artifacts/archive/target/checkout/release-dir/org/apache/royale/compiler/${jarname}/${release.version}/${jarname}-${release.version}.jar" />
        </antcall>
    </target>
    
    <target name="sign-utils-jar-artifacts">
        <antcall target="sign-file" >
            <param name="file" value="${artifactfolder}/artifacts/archive/target/checkout/release-dir/org/apache/royale/compiler/${jarname}/${utils.version}/${jarname}-${utils.version}.pom" />
        </antcall>
        <antcall target="sign-file" >
            <param name="file" value="${artifactfolder}/artifacts/archive/target/checkout/release-dir/org/apache/royale/compiler/${jarname}/${utils.version}/${jarname}-${utils.version}-javadoc.jar" />
        </antcall>
        <antcall target="sign-file" >
            <param name="file" value="${artifactfolder}/artifacts/archive/target/checkout/release-dir/org/apache/royale/compiler/${jarname}/${utils.version}/${jarname}-${utils.version}-sources.jar" />
        </antcall>
        <antcall target="sign-file" >
            <param name="file" value="${artifactfolder}/artifacts/archive/target/checkout/release-dir/org/apache/royale/compiler/${jarname}/${utils.version}/${jarname}-${utils.version}.jar" />
        </antcall>
    </target>
    
    
    <target name="sign-file">
        <exec executable="gpg">
            <arg value="--armor" />
            <arg value="--output" />
            <arg value="${file}.asc" />
            <arg value="--detach-sig" />
            <arg value="${file}" />
        </exec>
    </target>
    
    <target name="Release_Step_003_Upload" depends="get-artifact-folder">
        <fail message="release.version not specified"
            unless="release.version"/>
        <exec executable="${mvn}" dir="${artifactfolder}/sources" failonerror="true" >
            <arg value="wagon:upload" />
            <arg value="-X" />
            <arg value="-Dwagon.fromDir=${artifactfolder}/artifacts/archive/target/checkout/release-dir" />
            <arg value="-P" />
            <arg value="upload-release-to-staging,-main" />
        </exec>
    </target>
    
    <target name="main" depends="install-rat,credentials" description="Perform required release approval steps">
		<antcall target="check-new-version" />
		<exec executable="${git}" dir="${basedir}" failonerror="true" >
			<arg value="pull" />
			<arg value="--rebase" />
		</exec>
        <antcall target="checkout_tag" />
		<ant antfile="build.xml" target="release" />
		<ant antfile="build.xml" target="create-md5" />
		<ant antfile="build.xml" target="sign" />
		<mkdir dir="${dist.dev}/royale/compiler/${release.version}/rc${rc}/binaries" />
		<copy todir="${dist.dev}/royale/compiler/${release.version}/rc${rc}" >
			<fileset dir="${basedir}/out" >
				<include name="apache-royale-compiler-${release.version}-src*" />
			</fileset>
		</copy>
		<copy todir="${dist.dev}/royale/compiler/${release.version}/rc${rc}/binaries" >
			<fileset dir="${basedir}/out" >
				<include name="apache-royale-compiler-${release.version}-bin*" />
			</fileset>
		</copy>
		<copy file="${basedir}/README" tofile="${dist.dev}/royale/compiler/${release.version}/rc${rc}/READme" />
		<copy file="${basedir}/ApproveCompiler.xml" tofile="${dist.dev}/royale/compiler/${release.version}/rc${rc}/ApproveCompiler.xml" />
		<copy file="${basedir}/apache-royale-compiler-installer-config.xml" tofile="${dist.dev}/royale/compiler/${release.version}/rc${rc}/binaries/apache-royale-compiler-installer-config.xml" />
        <exec executable="${svn}" dir="${dist.dev}/royale/compiler" failonerror="true" >
            <arg value="update" />
        </exec>
		<exec executable="${svn}" dir="${dist.dev}/royale/compiler" failonerror="true" >
			<arg value="add" />
			<arg value="${dist.dev}/royale/compiler/${release.version}/rc${rc}" />
		</exec>
		<exec executable="${svn}" dir="${dist.dev}/royale/compiler" failonerror="true" >
			<arg value="commit" />
			<arg value="--username" />
			<arg value="${apache.username}" />
			<arg value="--password" />
			<arg value="${apache.password}" />
			<arg value="-m" />
			<arg value="rc${rc} of Apache Royale Compiler ${release.version}" />
		</exec>
        <antcall target="tag_release" />
		<antcall target="update-installer-config" />
		<antcall target="mail" />
    </target>
    
    <target name="tag_release" unless="tag" >
        <exec executable="${git}" dir="${basedir}" failonerror="true" >
            <arg value="tag" />
            <arg value="-a" />
            <arg value="apache-royale-compiler-${release.version}-rc${rc}" />
            <arg value="-m" />
            <arg value="&quot;rc${rc} of apache-royale-compiler-${release.version}&quot;" />
        </exec>
        <exec executable="${git}" dir="${basedir}" failonerror="true" >
            <arg value="push" />
            <arg value="--tags" />
        </exec>
    </target>

	<target name="credentials" depends="get-username,get-password">
		<echo>${apache.username}</echo>
		<echo>${apache.password}</echo>
	</target>
	<target name="get-username" unless="apache.username" >
        <input
        message="Enter Apache account username:"
        addproperty="apache.username"/>
        <condition property="have.username">
			<not>
				<equals trim="true" arg1="" arg2="${apache.username}"/>
			</not>
        </condition>
		<fail message="The apache.username property is not set.  It should be the username for Apache SVN and Git."
			unless="have.username"/>
	</target>
	<target name="get-password" unless="apache.password" >
        <input
        message="Enter Apache account password:"
        addproperty="apache.password"/>
        <condition property="have.password">
			<not>
				<equals trim="true" arg1="" arg2="${apache.password}"/>
			</not>
        </condition>
		<fail message="The apache.password property is not set.  It should be the password for Apache SVN and Git."
			unless="have.password"/>
	</target>
	
	<target name="update-installer-config" >
		<exec executable="${svn}" dir="${site}" failonerror="true" >
			<arg value="update" />
			<arg value="trunk/content/installer/sdk-installer-config-4.0.xml" />
		</exec>
        <replaceregexp byline="true">
            <regexp pattern="developmentVersion=&quot;${release.version}&quot; rc=&quot;rc.*&quot; latestVersion"/>
            <substitution expression="developmentVersion=&quot;${release.version}&quot; rc=&quot;rc${rc}&quot; latestVersion"/>
            <fileset dir="${site}/trunk/content/installer">
                <include name="sdk-installer-config-4.0.xml"/>
            </fileset>
        </replaceregexp>
		<exec executable="${svn}" dir="${site}" failonerror="true" >
			<arg value="commit" />
			<arg value="--username" />
			<arg value="${apache.username}" />
			<arg value="--password" />
			<arg value="${apache.password}" />
			<arg value="-m" />
			<arg value="&quot;update sdk-installer-config-4.0 for Compiler ${release.version} rc${rc}&quot;" />
		</exec>
		<!-- pause to give buildbot chance to react -->
		<sleep seconds="5" />
		<get src="https://cms.apache.org/royale/publish" username="${apache.username}" password="${apache.password}" dest="${basedir}/getresult.txt" />
		<delete file="${basedir}/getresult.txt" />
	</target>

	<target name="update-installer-config-release" depends="credentials">
		<exec executable="${svn}" dir="${site}" failonerror="true" >
			<arg value="update" />
			<arg value="trunk/content/installer/sdk-installer-config-4.0.xml" />
		</exec>
        <xmlproperty file="${site}/trunk/content/installer/sdk-installer-config-4.0.xml" semanticAttributes="true" collapseAttributes="true"/>
		<property name="latest.release" value="${config.products.ApacheRoyaleCompiler.latestVersion}" />
        <replaceregexp byline="true" flags="g">
            <regexp pattern="ApacheRoyaleCompiler(.*)latestVersion=&quot;${latest.release}&quot;(.*)"/>
            <substitution expression="ApacheRoyaleCompiler\1latestVersion=&quot;${release.version}&quot;\2"/>
            <fileset dir="${site}/trunk/content/installer">
                <include name="sdk-installer-config-4.0.xml"/>
            </fileset>
        </replaceregexp>
		<exec executable="${svn}" dir="${site}" failonerror="true" >
			<arg value="commit" />
			<arg value="--username" />
			<arg value="${apache.username}" />
			<arg value="--password" />
			<arg value="${apache.password}" />
			<arg value="-m" />
			<arg value="&quot;update sdk-installer-config-4.0 and other files for royale sdk ${release.version} rc${rc}&quot;" />
		</exec>
		<!-- pause to give buildbot chance to react -->
		<sleep seconds="5" />
		<get src="https://cms.apache.org/royale/publish" username="${apache.username}" password="${apache.password}" dest="${basedir}/getresult.txt" />
		<delete file="${basedir}/getresult.txt" />
	</target>
	
	<target name="check-new-version" description="check if svn folder needs to be added" >
		<condition property="version.folder" value="${dist.dev}/royale/compiler/${release.version}" >
			<not>
				<available file="${dist.dev}/royale/compiler/${release.version}" />
			</not>
		</condition>
		<antcall target="add-version-folder" />
	</target>
    
	<target name="add-version-folder" description="adds svn folder if needed" if="version.folder" >
		<mkdir dir="${version.folder}" />
		<exec executable="${svn}" dir="${dist.dev}/royale/compiler" failonerror="true" >
			<arg value="add" />
			<arg value="${version.folder}" />
		</exec>
	</target>
		
    <target name="mail" >
        <!-- try to set line breaks before the vertical line            | -->
        <echo file="${basedir}/discussthread.properties">discuss.thread.body=This is the discussion thread.\n\
\n\
Changes in this RC include:\n\
\n\
\n\
Thanks,\n\
${my.name}
</echo>
        <replace file="${basedir}/discussthread.properties">
            <replacefilter token=" " value="%20" />
            <replacefilter token="\n" value="${CRLF}" />
        </replace>
        <property file="${basedir}/discussthread.properties" />

        <!-- try to set line breaks before the vertical line            | -->
        <echo file="${basedir}/votethread.properties">vote.thread.body=Hi,\n\
\n\
This is vote for the ${release.version} release of the Royale\n\
compilers.  The only purpose of the Compiler packages are to serve as\n\
upstream packages for the Royale release.\n\
\n\
The release candidate can be found here;\n\
https://dist.apache.org/repos/dist/dev/royale/compiler/${release.version}/rc${rc}/\n\
\n\
Before voting please review the section, 'What are the ASF requirements on\n\
approving a release?', at:\n\
http://www.apache.org/dev/release.html#approving-a-release\n\
\n\
At a minimum you would be expected to check that:\n\
- MD5 and signed packages are correct\n\
- README, RELEASE_NOTES, NOTICE and LICENSE files are all fine\n\
- That the build script completes successfully\n\
- That you can compile using the results of building the source package\n\
\n\
The source package is set up the same way as the repo.  This means that\n\
the results of the build are not the same as the binary package.  The\n\
compiled source package can be used to build Royale apps via the command\n\
line and Ant, but not in Flash Builder or other IDEs.  You can test the source\n\
package by building it, then pointing to it from the source package of the\n\
Royale release candidate and building the examples in the Royale package.\n\
\n\
The binary package is set up as an upstream package for the Royale\n\
release.  The most convenient way to use the binary package is to install\n\
a Royale SDK via Ant or the Installer.\n\
\n\
Please vote to approve this release:\n\
+1 Approve the release\n\
-1 Disapprove the release (please provide specific comments to why)\n\
\n\
This vote will be open for 72 hours or until a result can be called.\n\
\n\
The vote passes if there is:\n\
- At least 3 +1 votes from the PMC\n\
- More positive votes than negative votes\n\
\n\
Remember that this is a 'beta-quality' release so there\n\
will be many bugs found.  The goal is not to try to find and fix bugs\n\
in the RC, but to make sure we have the packaging right, and enough\n\
functionality that folks will have some success trying to use it.\n\
\n\
People who are not in PMC are also encouraged to test out the release and\n\
vote, although their votes will not be binding, they can influence how the\n\
PMC votes.\n\
\n\
When voting please indicate what OS, IDE, Flash Player version and AIR\n\
version you tested with.\n\
\n\
Please put all discussion about this release in the DISCUSSION thread not\n\
this VOTE thread.\n\
\n\
For your convenience there is an ant script that automates the common\n\
steps to validate a release.  Instead of individually downloading the\n\
package and signature files, unzipping, etc, you can instead:\n\
1) create an empty folder,\n\
2) download into that folder this file:\n\
https://dist.apache.org/repos/dist/dev/royale/compiler/${release.version}/rc${rc}/ApproveCompiler.xml\n\
3) run the script:\n\
   ant -e -f ApproveCompiler.xml -Drelease.version=${release.version} -Drc=${rc}\n\
\n\
You are not required to use this script, and more testing of the packages\n\
and build results are always encouraged.\n\
\n\
Thanks,\n\
${my.name}
</echo>
        <replace file="${basedir}/votethread.properties">
            <replacefilter token=" " value="%20" />
            <replacefilter token="\n" value="${CRLF}" />
        </replace>
        <property file="${basedir}/votethread.properties" />
        <echo file="${basedir}/votethread.html">&lt;html&gt;&lt;body&gt;&lt;a href=&quot;mailto:dev@royale.apache.org?subject=[DISCUSS]%20Discuss%20Release%20Apache%20Royale%20Compiler%20${release.version}%20RC${rc}&amp;body=${discuss.thread.body}&quot;&gt;Click here to review discuss thread&lt;/a&gt;&lt;br/&gt;&lt;a href=&quot;mailto:dev@royale.apache.org?subject=[VOTE]%20Release%20Apache%20Royale%20Compiler%20${release.version}%20RC${rc}&amp;body=${vote.thread.body}&quot;&gt;Click here to review vote thread&lt;/a&gt;&lt;/body&gt;&lt;/html&gt;</echo>
        <makeurl file="${basedir}/votethread.html" property="vote.thread.url" />
        <exec executable="${browser}">
            <arg value="${vote.thread.url}" />
        </exec>
		<delete file="${basedir}/votethread.properties" />
		<delete file="${basedir}/votethread.html" />
		<delete file="${basedir}/discussthread.properties" />
    </target>

	<target name="release" depends="credentials" >
		<available file="${svn.dist.release}"
			type="dir" 
			property="dist.release" value="${svn.dist.release}" />
    
		<fail message="The svn.dist.release property is not set to the working copy for https://dist.apache.org/repos/dist/release."
			unless="dist.release"/>
				
		<exec executable="${svn}" dir="${dist.release}/royale" failonerror="true" >
			<arg value="update" />
		</exec>
		<exec executable="${svn}" dir="${dist.release}/royale/compiler" failonerror="true" >
			<arg value="mv" />
			<arg value="${dist.dev}/royale/compiler/${release.version}/rc${rc}" />
            <arg value="${dist.release}/royale/compiler/${release.version}" />
		</exec>
		<exec executable="${svn}" dir="${dist.release}/.." failonerror="true" >
			<arg value="commit" />
			<arg value="--username" />
			<arg value="${apache.username}" />
			<arg value="--password" />
			<arg value="${apache.password}" />
			<arg value="-m" />
			<arg value="Apache Royale Compiler ${release.version}" />
		</exec>
        <antcall target="release.tag" />
		<exec executable="${git}" dir="${basedir}" failonerror="true" >
			<arg value="push" />
			<arg value="--tags" />
		</exec>
		<echo>Wait at least 24 hours before running update-installer-config-release target</echo>
	</target>
	
    <target name="release.tag" >
        <condition property="tag" value="apache-royale-compiler-${release.version}-rc${rc}">
            <not>
                <isset property="tag" />
            </not>
        </condition>
        <exec executable="${git}" dir="${basedir}" failonerror="true" output="${basedir}/taghash.txt">
            <arg value="show" />
            <arg value="${tag}" />
        </exec>
        <replaceregexp file="${basedir}/taghash.txt" match="(.*).commit (.*).Author(.*)" replace="\2" byline="false" flags="s" />
        <loadfile srcFile="${basedir}/taghash.txt" property="releasehash" />
        <exec executable="${git}" dir="${basedir}" failonerror="true" >
            <arg value="tag" />
            <arg value="-a" />
            <arg value="apache-royale-compiler-${release.version}" />
            <arg value="${releasehash}" />
            <arg value="-m" />
            <arg value="&quot;Official release of apache-royale-compiler-${release.version}&quot;" />
        </exec>
    </target>
</project>
