<?xml version="1.0" encoding="UTF-8"?>
<project name="project" default="build"> 
	<import file="../cnf/build.xml"/>
	
	<property name="version" value="1.0.0" />
	<property name="src.zip" value="generated/apache-ace-${version}-src.zip" />
	<property name="deps.zip" value="generated/apache-ace-${version}-deps.zip" />
	<property name="src.asc" value="${src.zip}.asc" />
	<property name="src.md5" value="${src.zip}.md5" />
	<property name="src.sha" value="${src.zip}.sha" />
	<property name="svn.release.path" value="https://dist.apache.org/repos/dist/release/ace" />
	<property name="svn.staging.path" value="https://dist.apache.org/repos/dist/dev/ace" />
	
	<property name="target.base.dir" value="generated/apache-ace-${version}-bin" />
	<property name="target.server-allinone.dir" value="${target.base.dir}/server-allinone" />
	<property name="target.server.dir" value="${target.base.dir}/server" />
	<property name="target.client.dir" value="${target.base.dir}/client" />
	<property name="target.obr.dir" value="${target.base.dir}/obr" />
	<property name="target.target.dir" value="${target.base.dir}/target" />
	<property name="bin.zip" value="generated/apache-ace-${version}-bin.zip" />

	<macrodef name="sign-archive">
		<attribute name="archive" />
		<sequential>
			<exec executable="gpg">
				<arg value="--armor" />
				<arg value="--output" />
				<arg value="@{archive}.asc" />
				<arg value="--detach-sig" />
				<arg value="@{archive}" />
			</exec>
			<exec executable="gpg" output="@{archive}.md5">
				<arg value="--print-md" />
				<arg value="MD5" />
				<arg value="@{archive}" />
			</exec>
			<exec executable="gpg" output="@{archive}.sha">
				<arg value="--print-md" />
				<arg value="SHA512" />
				<arg value="@{archive}" />
			</exec>
		</sequential>
	</macrodef>
	
	<target name="package" depends="package-src, package-bin" description="Packages the source and binary distributions." />
	
	<target name="package-src" description="Packages the source distributions.">
		<zip destfile="${src.zip}">
			<zipfileset prefix="apache-ace-${version}-src" dir="resources/src" includes="
				NOTICE, LICENSE, README
				" />
			<zipfileset prefix="apache-ace-${version}-src" dir=".." includes="
				*/.project,
				*/.classpath,
				*/.settings/**,
				*/src/**,
				*/test/**,
				*/resources/**,
				*/*.bnd,
				*/*.bndrun,
				*/*build*.xml,
				run-*/conf/**,
				cnf/ext/**
				" />
		</zip>
		<zip destfile="${deps.zip}">
			<zipfileset prefix="apache-ace-${version}-src" dir="resources/deps" includes="
				NOTICE, LICENSE, README
				" />
			<zipfileset prefix="apache-ace-${version}-src" dir=".." includes="
				cnf/buildrepo/**,
				cnf/localrepo/**,
				cnf/lib/**,
				cnf/plugins/**,
				" />
		</zip>
	</target>
	
	<target name="sign" description="Signs the source and binary distributions (provided you have gpg setup).">
		<sign-archive archive="${src.zip}" />
		<sign-archive archive="${deps.zip}" />
		<sign-archive archive="${bin.zip}" />
	</target>
	
	<target name="commit-to-staging" description="Moves the source and binary distributions to staging.">
		<exec executable="svn"><arg line="import generated ${svn.staging.path}/apache-ace-${version}/ -m 'Staging Apache ACE version ${version}.'" /></exec>
	</target>

	<target name="promote-to-release" description="Promotes the staged distributions to release.">
		<exec executable="svn"><arg line="move ${svn.staging.path}/apache-ace-${version} ${svn.release.path} -m 'Releasing Apache ACE version ${version}.'" /></exec>
	</target>

	<target name="delete-from-staging" description="Removes the staged distributions from staging.">
		<exec executable="svn"><arg line="delete ${svn.staging.path}/apache-ace-${version}/ -m 'Removing Apache ACE version ${version} from staging.'" /></exec>
	</target>


	<target name="package-bin" description="Packages the binary distribution." depends="init">
		<mkdir dir="${target.server.dir}" />
		<mkdir dir="${target.server-allinone.dir}" />
		<mkdir dir="${target.client.dir}" />
		<mkdir dir="${target.obr.dir}" />
		<mkdir dir="${target.target.dir}" />

		<resources id="devserver-store">
			<file file="../org.apache.ace.deployment.rp.autoconf/generated/org.apache.ace.deployment.rp.autoconf.jar" />
			<file file="../org.apache.ace.launcher/generated/org.apache.ace.launcher.jar" />
		</resources>

		<!-- copy the configuration files -->
		<copy todir="${target.server-allinone.dir}/conf">
			<fileset dir="../run-server-allinone/conf" />
		</copy>
		<copy todir="${target.server.dir}/conf">
			<fileset dir="../run-server/conf" />
		</copy>
		<copy todir="${target.client.dir}/conf">
			<fileset dir="../run-client/conf" />
		</copy>
		<copy todir="${target.obr.dir}/conf">
			<fileset dir="../run-obr/conf" />
		</copy>

		<!-- add jar files to store directory -->
		<copy todir="${target.server.dir}/store" flatten="true">
			<resources refid="devserver-store" />
		</copy>
		<move file="${target.server.dir}/store/org.apache.ace.launcher.jar" toFile="${target.server.dir}/store/ace-launcher.jar"/>

		<copy todir="${target.server-allinone.dir}/store" flatten="true">
			<resources refid="devserver-store" />
		</copy>
		<move file="${target.server-allinone.dir}/store/org.apache.ace.launcher.jar" toFile="${target.server-allinone.dir}/store/ace-launcher.jar"/>

		<!-- create the executable jars -->
		<bndpackage runfile="../run-server-allinone/server-allinone.bndrun" output="${target.server-allinone.dir}/server-allinone.jar" />
		<bndpackage runfile="../run-server/server.bndrun" output="${target.server.dir}/server.jar" />
		<bndpackage runfile="../run-client/client.bndrun" output="${target.client.dir}/client.jar" />
		<bndpackage runfile="../run-obr/obr.bndrun" output="${target.obr.dir}/obr.jar" />
		<bndpackage runfile="../run-target/target.bndrun" output="${target.target.dir}/target.jar" />

		<!-- create one giant ZIP-file with everything in it -->
		<zip destfile="${bin.zip}">
			<zipfileset prefix="apache-ace-${version}-bin" dir="resources/bin" includes="
				NOTICE, LICENSE, README
				" />
			<zipfileset prefix="apache-ace-${version}-bin" dir="${target.base.dir}" includes="**" />
		</zip>
		
		<!-- and cleanup -->
		<delete dir="${target.base.dir}" />
	</target>
</project>
