241 lines
9.3 KiB
XML
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>
|