blob: ae98ae846827bab1d0685754a54d91b2857a429a [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<project name="project" default="build">
<import file="../cnf/build.xml"/>
<property name="version" value="2.1.0" />
<property name="target.dir" value="generated" />
<property name="src.zip" value="apache-ace-${version}-src.zip" />
<property name="deps.zip" value="apache-ace-${version}-deps.zip" />
<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.relay.dir" value="${target.base.dir}/relay" />
<property name="target.client.dir" value="${target.base.dir}/client" />
<property name="target.obr.dir" value="${target.base.dir}/obr" />
<property name="target.develop.dir" value="${target.base.dir}/develop" />
<property name="target.target.dir" value="${target.base.dir}/target" />
<property name="bin.zip" value="apache-ace-${version}-bin.zip" />
<macrodef name="sign-archive">
<attribute name="dir" />
<attribute name="archive" />
<sequential>
<exec executable="gpg" dir="@{dir}">
<arg value="--armor" />
<arg value="--output" />
<arg value="@{archive}.asc" />
<arg value="--detach-sig" />
<arg value="@{archive}" />
</exec>
<exec executable="gpg" dir="@{dir}" output="@{dir}/@{archive}.md5">
<arg value="--print-md" />
<arg value="MD5" />
<arg value="@{archive}" />
</exec>
<exec executable="gpg" dir="@{dir}" output="@{dir}/@{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="${target.dir}/${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="${target.dir}/${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/releaserepo/**,
cnf/lib/**,
cnf/plugins/**,
cnf/ecj/**
" />
</zip>
</target>
<target name="sign" description="Signs the source and binary distributions (provided you have gpg setup).">
<sign-archive dir="${target.dir}" archive="${src.zip}" />
<sign-archive dir="${target.dir}" archive="${deps.zip}" />
<sign-archive dir="${target.dir}" 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.relay.dir}" />
<mkdir dir="${target.client.dir}" />
<mkdir dir="${target.obr.dir}" />
<mkdir dir="${target.develop.dir}" />
<mkdir dir="${target.target.dir}/bin" />
<resources id="devserver-store">
<file file="../cnf/localrepo/org.apache.felix.deployment.rp.autoconf/org.apache.felix.deployment.rp.autoconf-0.1.5.jar" />
<file file="../org.apache.ace.agent.launcher/generated/org.apache.ace.agent.launcher.felix.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.relay.dir}/conf">
<fileset dir="../run-relay/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>
<copy todir="${target.target.dir}/bin">
<fileset dir="../run-target/scripts" />
</copy>
<!-- add jar files to store directory -->
<copy todir="${target.obr.dir}/store" flatten="true">
<resources refid="devserver-store" />
</copy>
<move file="${target.obr.dir}/store/org.apache.ace.agent.launcher.felix.jar" toFile="${target.obr.dir}/store/ace-launcher.jar" />
<copy todir="${target.target.dir}/conf">
<fileset dir="../run-target/conf" />
</copy>
<copy todir="${target.target.dir}/bin">
<fileset file="${target.obr.dir}/store/ace-launcher.jar"/>
</copy>
<copy todir="${target.server-allinone.dir}/store" flatten="true">
<resources refid="devserver-store" />
</copy>
<move file="${target.server-allinone.dir}/store/org.apache.ace.agent.launcher.felix.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-relay/relay.bndrun" output="${target.relay.dir}/relay.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-develop/develop.bndrun" output="${target.develop.dir}/debug-target.jar" />
<!-- create one giant ZIP-file with everything in it -->
<zip destfile="${target.dir}/${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>
<target name="package-baseline" description="packages all non-itest bundles in a single folder for import into a baseline repo">
<mkdir dir="${target.dir}/baseline" />
<copy todir="${target.dir}/baseline" flatten="true">
<fileset dir="..">
<include name="*/generated/*.jar" />
<exclude name="*/generated/*.itest.jar" />
</fileset>
</copy>
</target>
</project>