Files
spring-ldap/build-spring-ldap/build.xml
2007-03-01 01:36:26 +00:00

241 lines
9.3 KiB
XML

<?xml version="1.0"?>
<!--
=======================================================================
A master build file for creating a release of spring-ldap
=======================================================================
-->
<project name="build-spring-ldap" default="release" xmlns:ivy="antlib:fr.jayasoft.ivy.ant">
<!-- Load local and user build preferences -->
<property file="build.properties"/>
<property file="project.properties"/>
<property file="${user.home}/build.properties"/>
<!-- try to load ivy here from local lib dir, in case the user has not already dropped
it into ant's lib dir (note that the latter copy will always take precedence).
We will not fail as long as local lib dir exists (it may be empty) and
ivy is in at least one of ant's lib dir or the local lib dir. -->
<path id="ivy.lib.path">
<fileset dir="${common.build.dir}/lib" includes="*.jar"/>
</path>
<taskdef resource="fr/jayasoft/ivy/ant/antlib.xml"
uri="antlib:fr.jayasoft.ivy.ant" classpathref="ivy.lib.path"/>
<!-- simplistic pattern for zipping up sources -->
<selector id="project.source.zip.includes">
<or>
<filename name="common-build/**" />
<filename name="repository/**" />
<and>
<or>
<filename name="build-spring-ldap/**"/>
<filename name="spring-ldap/**"/>
<filename name="spring-ldap-person/**"/>
<filename name="spring-ldap-article/**"/>
</or>
<and>
<filename name="*/target/**" negate="true"/>
<filename name="*/build.properties" negate="true"/>
<filename name="*/lib/**" negate="true"/>
</and>
<and>
<filename name="*/*/*/target/**" negate="true"/>
<filename name="*/*/*/build.properties" negate="true"/>
<filename name="*/*/*/lib/**" negate="true"/>
</and>
</and>
</or>
</selector>
<!--
targets: displays all targets suitable for developer use
-->
<target name="targets">
<echo>
Master build for spring-ldap main and sample jars.
Please execute
build -projecthelp
to see a list of all relevant targets.
The default target is 'main'
</echo>
</target>
<!--
init: initializes some common settings
-->
<target name="init" unless="init.done" depends="init.pre, init.post">
</target>
<target name="init.pre" >
<!-- ivy will determine the right order to build web flow main and samples -->
<property name="ivy.conf.dir" value="${common.build.dir}" />
<ivy:configure file="${ivy.conf.dir}/ivyconf.xml" />
<ivy:buildlist reference="modules">
<fileset dir="..">
<include name="spring-ldap-article/build.xml"/>
<include name="spring-ldap-person/build.xml"/>
<include name="spring-ldap/build.xml"/>
</fileset>
</ivy:buildlist>
<tstamp>
<format property="internal.internal.build.timestamp" pattern="yyyyMMddHHmmss"/>
</tstamp>
<tstamp>
<format property="TSTAMPCOL" pattern="hh:mm"/>
</tstamp>
<!-- default the release version (used in release archive zips) to the current timestamp -->
<property name="release.version" value="${internal.internal.build.timestamp}"/>
<!-- root of build hierarchy -->
<property name="target.dir" value="${basedir}/target"/>
<!-- directory for release zips -->
<property name="target.release.dir" value="${target.dir}/release"/>
<!-- directory for release zips -->
<property name="release.bin.zip"
value="spring-ldap-bin-${release.version}.zip"/>
<property name="release.bin.deps.zip"
value="spring-ldap-bin-with-dependencies-${release.version}.zip"/>
<property name="release.buildable.zip"
value="spring-ldap-buildable-${release.version}.zip"/>
<property name="zip.toplevel.dir" value="spring-ldap-${release.version}"/>
<echo message='user.dir = "${user.dir}"' />
<echo message='ant.file = "${ant.file}"' />
<echo message='ant.java.version = "${ant.java.version}"' />
<echo message='release.version = "${release.version}"' />
</target>
<target name="init.post" >
<property name="projects" value="modules"/>
<property name="projects.names" refid="modules"/>
<property name="init.done" value="true"/>
</target>
<target name="clean" depends="init"
description="Cleans all build output files from all projects">
<echo>projects=${projects}</echo>
<echo>projects.names=${projects.names}</echo>
<subant target="clean" inheritall="false">
<buildpath refid="${projects}"/>
</subant>
</target>
<target name="clean-all" depends="init"
description="Cleans all build output files from all projects, and also retrieved libs">
<echo>projects=${projects}</echo>
<subant target="clean-all" inheritall="false">
<buildpath refid="${projects}"/>
</subant>
</target>
<target name="publish" depends="init"
description="Calls publish targets on each project">
<echo>projects=${projects}</echo>
<subant target="publish" inheritall="false">
<buildpath refid="${projects}"/>
</subant>
</target>
<target name="dist" depends="init"
description="Calls dist targets on each project">
<echo>projects=${projects}</echo>
<subant target="dist" inheritall="false">
<buildpath refid="${projects}"/>
</subant>
</target>
<target name="tests" depends="init"
description="Calls test targets on each project">
<echo>projects=${projects}</echo>
<subant target="tests" inheritall="false">
<buildpath refid="${projects}"/>
</subant>
</target>
<target name="javadoc" depends="init"
description="Calls javadoc targets on each project">
<echo>projects=${projects}</echo>
<subant target="javadoc" inheritall="false">
<buildpath refid="${projects}"/>
</subant>
</target>
<target name="release"
depends="dist, javadoc, doc, gen-release-bins, gen-release-bins-with-deps, gen-buildable-zip"
description="Generate release zips">
</target>
<target name="doc" depends="init" description="Calls doc targets on applicable projects">
<echo>projects=${projects}</echo>
<subant target="doc-all" inheritall="false" failonerror="false">
<buildpathelement location="../spring-ldap" />
</subant>
</target>
<target name="gen-release-bins" depends="init"
description="Generate bin zips/tarballs">
<mkdir dir="${target.release.dir}"/>
<delete file="${target.release.dir}/${release.bin.zip}"/>
<zip zipfile="${target.release.dir}/${release.bin.zip}">
<zipfileset file="../spring-ldap/readme.txt" prefix="${zip.toplevel.dir}"/>
<zipfileset file="../spring-ldap/license.txt" prefix="${zip.toplevel.dir}"/>
<zipfileset dir="../spring-ldap/target/dist/jars" prefix="${zip.toplevel.dir}/dist"/>
<zipfileset dir="../spring-ldap/target/dist/ivys" prefix="${zip.toplevel.dir}/dist/ivys"/>
<zipfileset dir="../spring-ldap/docs/reference/target/html_single" prefix="${zip.toplevel.dir}/doc/reference/html_single"/>
<zipfileset file="../spring-ldap/docs/reference/target/pdf/spring-ldap-reference.pdf" prefix="${zip.toplevel.dir}/doc/reference/pdf"/>
<zipfileset dir="../spring-ldap/target/javadocs" prefix="${zip.toplevel.dir}/doc/api"/>
</zip>
</target>
<target name="gen-release-bins-with-deps" depends="init"
description="Generate bin zips/tarballs with all dependencies">
<mkdir dir="${target.release.dir}"/>
<delete file="${target.release.dir}/${release.bin.deps.zip}"/>
<zip zipfile="${target.release.dir}/${release.bin.deps.zip}">
<zipfileset file="../spring-ldap/readme.txt" prefix="${zip.toplevel.dir}"/>
<zipfileset file="../spring-ldap/license.txt" prefix="${zip.toplevel.dir}"/>
<zipfileset dir="../spring-ldap/target/dist/jars" prefix="${zip.toplevel.dir}/dist"/>
<zipfileset dir="../spring-ldap/target/dist/ivys" prefix="${zip.toplevel.dir}/dist/ivys"/>
<zipfileset dir="../spring-ldap/docs/reference/target/html_single" prefix="${zip.toplevel.dir}/doc/reference/html_single"/>
<zipfileset file="../spring-ldap/docs/reference/target/pdf/spring-ldap-reference.pdf" prefix="${zip.toplevel.dir}/doc/reference/pdf"/>
<zipfileset dir="../spring-ldap/target/javadocs" prefix="${zip.toplevel.dir}/doc/api"/>
<zipfileset dir="../spring-ldap/lib/global" prefix="${zip.toplevel.dir}/lib"/>
</zip>
</target>
<target name="gen-buildable-zip" depends="init"
description="Generate archive with buildable sources">
<mkdir dir="${target.release.dir}"/>
<delete file="${target.release.dir}/${release.buildable.zip}"/>
<zip zipfile="${target.release.dir}/${release.buildable.zip}">
<zipfileset dir=".." prefix="spring-ldap">
<selector refid="project.source.zip.includes"/>
</zipfileset>
<zipfileset file="../spring-ldap/readme.txt"/>
<zipfileset file="../spring-ldap/license.txt"/>
<zipfileset dir="../common-build" prefix="common-build"/>
<zipfileset dir="../repository" prefix="repository"/>
</zip>
</target>
</project>