build.xml revision 730
0N/A<!--
0N/A ! CDDL HEADER START
0N/A !
0N/A ! The contents of this file are subject to the terms of the
0N/A ! Common Development and Distribution License, Version 1.0 only
0N/A ! (the "License"). You may not use this file except in compliance
0N/A ! with the License.
0N/A !
0N/A ! You can obtain a copy of the license at
0N/A ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
0N/A ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
0N/A ! See the License for the specific language governing permissions
0N/A ! and limitations under the License.
0N/A !
0N/A ! When distributing Covered Code, include this CDDL HEADER in each
0N/A ! file and include the License file at
0N/A ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
0N/A ! add the following below this CDDL HEADER, with the fields enclosed
873N/A ! by brackets "[]" replaced with your own identifying * information:
0N/A ! Portions Copyright [yyyy] [name of copyright owner]
0N/A !
0N/A ! CDDL HEADER END
0N/A !
0N/A !
729N/A ! Portions Copyright 2006-2007 Sun Microsystems, Inc.
0N/A ! -->
0N/A
0N/A<project name="Directory Server" basedir="." default="package">
0N/A <description>
0N/A This is the build script for the OpenDS Directory Server. See the BUILDING
0N/A file in this directory for build instructions.
0N/A </description>
0N/A
1083N/A <!-- General server-wide properties -->
1083N/A <property name="src.dir" location="src/server" />
1083N/A <property name="build.dir" location="build" />
1083N/A <property name="classes.dir" location="${build.dir}/classes" />
1083N/A <property name="lib.dir" location="lib" />
1083N/A <property name="ext.dir" location="ext" />
1083N/A <property name="package.dir" location="${build.dir}/package" />
1083N/A <property name="javadoc.dir" location="${build.dir}/javadoc" />
1083N/A <property name="resource.dir" location="resource" />
1083N/A <property name="scripts.dir" location="${resource.dir}/bin" />
1083N/A <property name="config.dir" location="${resource.dir}/config" />
1083N/A
233N/A <!-- Properties for build tools -->
712N/A <property name="buildtools.dir" location="build-tools" />
1177N/A <property name="buildtools.src.dir" location="${buildtools.dir}/src" />
564N/A <property name="buildtools.classes.dir" location="${build.dir}/build-tools/classes" />
0N/A
0N/A <!-- Properties for use in unit testing. -->
0N/A <property name="unittest.testng.dir" location="tests/unit-tests-testng"/>
0N/A <property name="unittest.testng.src.dir"
712N/A location="${unittest.testng.dir}/src/server"/>
0N/A
0N/A <property name="unittest.classes.dir"
0N/A location="${build.dir}/unit-tests/classes" />
0N/A <property name="unittest.report.dir"
0N/A location="${build.dir}/unit-tests/report"/>
233N/A <property name="unittest.resource.dir"
233N/A location="${build.dir}/unit-tests/resource"/>
0N/A
114N/A <!-- Properties for use in functional/integration testing. -->
114N/A <property name="functest.testng.dir"
114N/A location="tests/integration-tests-testng" />
114N/A <property name="functest.testng.src.dir"
114N/A location="${functest.testng.dir}/src"/>
114N/A
0N/A <!-- Properties for use with the DSML component. -->
0N/A <property name="dsml.dir" location="resource/dsml" />
0N/A <property name="dsml.src.dir" location="src/dsml" />
0N/A <property name="dsml.lib.dir" location="${dsml.dir}/lib" />
0N/A <property name="dsml.gen.dir" location="${build.dir}/dsml/gen" />
0N/A <property name="dsml.classes.dir" location="${build.dir}/dsml/classes" />
0N/A
567N/A <!-- Properties for use with the Quick Setup. -->
567N/A <property name="quicksetup.src.dir" location="src/quicksetup" />
567N/A <property name="quicksetup.classes.dir"
567N/A location="${build.dir}/quicksetup/classes" />
1210N/A
712N/A <!-- Properties for use with the Status Panel. -->
712N/A <property name="statuspanel.src.dir" location="src/statuspanel" />
712N/A <property name="statuspanel.classes.dir"
712N/A location="${build.dir}/statuspanel/classes" />
712N/A
712N/A <!-- Properties for coverage diff reports -->
675N/A <property name="cvgdiff.dir" location="build/diff" />
675N/A <property name="cvgdiff.report.dir"
712N/A location="${cvgdiff.dir}/report" />
675N/A
567N/A <!-- Properties for code coverage testing. -->
0N/A <property name="coverage.dir" location="build/coverage" />
422N/A <property name="coverage.report.dir"
712N/A location="${coverage.dir}/reports/unit" />
422N/A <property name="coverage.instr.dir"
0N/A location="${coverage.dir}/instrumentedcode" />
422N/A <property name="coverage.data.dir"
0N/A location="${coverage.dir}/gathereddata" />
422N/A
0N/A <!-- Properties for the EMMA code coverage tool. -->
0N/A <property name="emma.dir" location="${ext.dir}/emma/lib" />
0N/A
0N/A <!-- Properties for the TestNG unit testing tool. -->
902N/A <property name="testng.dir" location="${ext.dir}/testng" />
902N/A <property name="testng.lib.dir" location="${testng.dir}/lib" />
902N/A
902N/A <!-- Properties for the ANT build tool. -->
0N/A <property name="ant.dir" location="${ext.dir}/ant" />
0N/A <property name="ant.lib.dir" location="${ant.dir}/lib" />
0N/A
0N/A <!-- Properties for the checkstyle tool. -->
233N/A <property name="checkstyle.dir" location="${ext.dir}/checkstyle" />
233N/A <property name="checkstyle.cache.dir" location=".checkstyle-cache" />
233N/A
233N/A <!-- Properties for the SVNKit tool. -->
730N/A <property name="svnkit.dir" location="${ext.dir}/svnkit" />
730N/A
730N/A <!-- Properties for Directory Server version information. -->
0N/A <property name="dynconstants.file"
729N/A location="${src.dir}/org/opends/server/util/DynamicConstants.java" />
729N/A <property name="dynconstants.stubfile"
729N/A location="${resource.dir}/DynamicConstants.java.stubs" />
0N/A
0N/A
0N/A <property file="PRODUCT" />
110N/A
110N/A <!-- Create a package bundle containing the DSML library. -->
121N/A <target name="dsml" depends="predsml,package"
699N/A description="Build a Directory Server package bundle with DSML.">
0N/A </target>
0N/A
1008N/A
1008N/A
1008N/A
1008N/A <!-- The build target that should be used before committing code. -->
1008N/A <target name="precommit" depends="checkstyle,clean,copyrightdates,dsml,javadoc,testwithcoverage"
1177N/A description="Perform all processing needed before committing code." />
1177N/A
0N/A
0N/A
0N/A
0N/A <!-- The build target that should be used for nightly builds. -->
0N/A <target name="nightly"
0N/A depends="checkstyle,dsml,javadoc,coverage,testall"
0N/A description="Perform all processing needed for nightly builds." />
0N/A
0N/A
735N/A
1177N/A
1177N/A <!-- The build target that should be used for weekly builds. -->
0N/A <target name="weekly" depends="nightly"
0N/A description="Perform all processing needed for weekly builds." />
0N/A
0N/A
0N/A
0N/A
1238N/A <!-- The build target that should be used to build everything. -->
1177N/A <target name="all"
1177N/A depends="checkstyle,clean,copyrightdates,dsml,javadoc,testallwithcoverage"
0N/A description="Build using all defined targets." />
0N/A
0N/A
0N/A
0N/A
0N/A <!-- Remove all dynamically-generated build files. -->
1177N/A <target name="clean"
1177N/A description="Clean up any files generated during the build process">
0N/A
0N/A <delete dir="${build.dir}" />
0N/A <delete file="${dynconstants.file}" /> <fileset dir="${lib.dir}">
0N/A <include name="*.jar" />
0N/A </fileset>
0N/A </target>
1238N/A
1177N/A
1177N/A <!-- Perform common initialization common to several targets after cleaning out the previous build environment. -->
0N/A <target name="cleaninit" depends="clean,init"/>
0N/A
0N/A
0N/A <!-- Perform common initialization common to several targets. -->
0N/A <target name="init">
1008N/A <tstamp>
0N/A <format property="timestamp" pattern="yyyyMMddHHmmss" />
0N/A </tstamp>
0N/A
1008N/A <condition property="DEBUG_BUILD" value="false">
1008N/A <not>
1008N/A <isset property="DEBUG_BUILD" />
1008N/A </not>
0N/A </condition>
0N/A
0N/A <condition property="MEM" value="128M">
1177N/A <not>
121N/A <isset property="MEM" />
1177N/A </not>
1177N/A </condition>
1177N/A
0N/A
0N/A <!--
1273N/A ! For some reason, some Apple VMs put quotes around the value of the
1273N/A ! java.vm.vendor property, which wreaks havoc with DynamicConstants. This
1273N/A ! pair of conditions attempts to work around that by detecting the quote
1273N/A ! and surrounding the value with backslashes.
1273N/A ! -->
1273N/A <condition property="JVM_VENDOR" value="Apple Computer">
1273N/A <contains string="${java.vm.vendor}" substring="Apple Computer"
1273N/A casesensitive="false" />
1273N/A </condition>
1273N/A
1273N/A <condition property="JVM_VENDOR" value="${java.vm.vendor}">
1273N/A <not>
1273N/A <isset property="JVM_VENDOR" />
1273N/A </not>
1273N/A </condition>
1273N/A </target>
1273N/A
1273N/A
1273N/A
1273N/A
1273N/A <!-- Build the DynamicConstants.java file and any of its dependencies. -->
1273N/A <target name="dynamicconstants" depends="init,buildtools">
1273N/A <!-- Get the revision number of the current Subversion workspace -->
1273N/A <taskdef name="getsvnrevision"
1273N/A classname="org.opends.build.tools.GetSubversionRevision">
1273N/A <classpath>
1273N/A <fileset dir="${build.dir}/build-tools">
1273N/A <include name="*.jar" />
1273N/A </fileset>
1273N/A <fileset dir="${svnkit.dir}">
1273N/A <include name="*.jar" />
0N/A </fileset>
121N/A </classpath>
1177N/A </taskdef>
1177N/A
1177N/A <getsvnrevision property="REVISION_NUMBER" />
1177N/A
1177N/A
0N/A <!-- Generate the DynamicConstants.java file.
1234N/A Be warned that the .stubs file references the following properties
1234N/A PRODUCT_NAME, SHORT_NAME, MAJOR_VERSION, MINOR_VERSION, POINT_VERSION,
0N/A VERSION_QUALIFIER, FIX_IDS, timestamp, user.name, java.version,
0N/A java.vendor, java.vm.version, JVM_VENDOR, DEBUG_BUILD, REVISION_NUMBER
984N/A If you change the name of any of those properties in this build.xml
0N/A you'll need to relfect the same change in the .stubs file
0N/A -->
0N/A <copy file="${dynconstants.stubfile}"
0N/A tofile="${dynconstants.file}"
0N/A overwrite="true" >
984N/A <filterchain>
984N/A <expandproperties/>
984N/A </filterchain>
984N/A </copy>
902N/A </target>
902N/A
0N/A
0N/A
0N/A
0N/A <!-- Check modified files to see any copyright updates are needed. -->
0N/A <target name="copyrightdates" depends="buildtools"
0N/A description="Ensure updated files have the correct copyright year" >
0N/A <taskdef name="checkcopyrightdates"
0N/A classname="org.opends.build.tools.CheckCopyrightDates">
0N/A <classpath>
0N/A <fileset dir="${build.dir}/build-tools">
0N/A <include name="*.jar" />
0N/A </fileset>
0N/A <fileset dir="${svnkit.dir}">
0N/A <include name="*.jar" />
0N/A </fileset>
0N/A </classpath>
0N/A </taskdef>
0N/A
0N/A <checkcopyrightdates>
0N/A <fileset dir="${src.dir}" includes="**/*.java" />
0N/A <fileset dir="${quicksetup.src.dir}" includes="**/*.java" />
0N/A <fileset dir="${statuspanel.src.dir}" includes="**/*.java" />
0N/A <fileset dir="${unittest.testng.src.dir}" includes="**/*.java" />
729N/A <fileset dir="${functest.testng.src.dir}" includes="**/*.java" />
729N/A <fileset dir="${basedir}" includes="**/*.xml" excludes="build/**/*" />
729N/A <fileset dir="${basedir}" includes="**/*.sh" excludes="build/**/*" />
729N/A <fileset dir="${basedir}" includes="**/*.bat" excludes="build/**/* " />
729N/A <fileset dir="${basedir}" includes="**/*.ldif" excludes="build/**/*" />
729N/A </checkcopyrightdates>
729N/A </target>
729N/A
729N/A
729N/A
729N/A
729N/A <!-- Ensure that the source code meets basic style requirements. -->
729N/A <target name="checkstyle" description="Perform basic source style checks">
729N/A <mkdir dir="${checkstyle.cache.dir}" />
729N/A
729N/A <taskdef resource="checkstyletask.properties"
729N/A classpath="${checkstyle.dir}/checkstyle-all-4.1.jar" />
729N/A
729N/A <checkstyle config="${checkstyle.dir}/opends-checkstyle.xml"
729N/A failOnViolation="true">
729N/A <fileset dir="${src.dir}" includes="**/*.java" />
0N/A <formatter type="plain" />
0N/A </checkstyle>
109N/A
109N/A <checkstyle config="${checkstyle.dir}/opends-checkstyle.xml"
109N/A failOnViolation="true">
109N/A <fileset dir="${quicksetup.src.dir}" includes="**/*.java" />
984N/A <formatter type="plain" />
984N/A </checkstyle>
109N/A
1238N/A <checkstyle config="${checkstyle.dir}/opends-checkstyle.xml"
109N/A failOnViolation="true">
110N/A <fileset dir="${statuspanel.src.dir}" includes="**/*.java" />
109N/A <formatter type="plain" />
109N/A </checkstyle>
109N/A
109N/A <checkstyle config="${checkstyle.dir}/opends-doctarget-checkstyle.xml"
109N/A failOnViolation="true">
109N/A <fileset dir="${src.dir}/org/opends/server/api" includes="**/*.java" />
0N/A <fileset dir="${src.dir}/org/opends/server/protocols/internal"
0N/A includes="**/*.java" />
0N/A <fileset dir="${src.dir}/org/opends/server/types"
0N/A includes="**/*.java" />
0N/A <formatter type="plain" />
735N/A </checkstyle>
729N/A
729N/A <checkstyle config="${checkstyle.dir}/opends-unittest-checkstyle.xml"
729N/A failOnViolation="true">
729N/A <fileset dir="${unittest.testng.src.dir}" includes="**/*.java" />
729N/A <formatter type="plain" />
729N/A </checkstyle>
729N/A
729N/A <checkstyle config="${checkstyle.dir}/opends-functest-checkstyle.xml"
729N/A failOnViolation="true">
729N/A <fileset dir="${functest.testng.src.dir}" includes="**/*.java" />
729N/A <formatter type="plain" />
729N/A </checkstyle>
729N/A </target>
729N/A
729N/A
1008N/A
729N/A <!-- Compile the Directory Server source files. -->
1008N/A <target name="cleancompile"
1008N/A depends="cleaninit,compile,compilequicksetup,compilestatuspanel"
735N/A description="Recompile the Directory Server source files.">
729N/A </target>
729N/A
729N/A <!-- Compile the Directory Server source files. -->
735N/A <target name="compile"
961N/A depends="init,dynamicconstants"
961N/A description="Compile the Directory Server source files.">
961N/A
961N/A <mkdir dir="${classes.dir}" />
750N/A
729N/A <javac srcdir="${src.dir}" destdir="${classes.dir}" optimize="true"
729N/A excludes="**/package-info.java"
729N/A debug="on" debuglevel="lines,source" source="1.5" target="1.5"
729N/A deprecation="true" fork="true" memoryInitialSize="${MEM}"
729N/A memoryMaximumSize="${MEM}">
735N/A <compilerarg value="-Xlint:all" />
735N/A
735N/A <classpath>
735N/A <fileset dir="${lib.dir}">
735N/A <include name="*.jar" />
735N/A </fileset>
735N/A </classpath>
735N/A </javac>
735N/A </target>
735N/A
735N/A <!-- Compile the Quick Setup source files. -->
735N/A <target name="compilequicksetup" depends="buildtools,compile"
735N/A description="Compile the Quick Setup source files.">
735N/A
735N/A <mkdir dir="${quicksetup.classes.dir}" />
735N/A <javac srcdir="${quicksetup.src.dir}" destdir="${quicksetup.classes.dir}"
1008N/A optimize="true" debug="on" debuglevel="lines,source" source="1.5"
735N/A target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
1008N/A memoryMaximumSize="${MEM}">
1008N/A <compilerarg value="-Xlint:all" />
735N/A
735N/A <classpath>
735N/A <fileset dir="${build.dir}/build-tools">
735N/A <include name="build-tools.jar" />
735N/A </fileset>
961N/A <pathelement path="${classes.dir}"/>
961N/A </classpath>
961N/A </javac>
961N/A <copy todir="${quicksetup.classes.dir}">
750N/A <fileset dir="${quicksetup.src.dir}"
735N/A includes="**/*.properties, **/*.gif, **/*.png" />
735N/A </copy>
735N/A <copy todir="${quicksetup.classes.dir}">
735N/A <fileset dir="${classes.dir}"
735N/A includes="**/DynamicConstants.class **/SetupUtils.class" />
735N/A </copy>
0N/A </target>
0N/A
730N/A <!-- Compile the Status Panel source files. -->
0N/A <target name="compilestatuspanel" depends="compilequicksetup"
0N/A description="Compile the Status Panel source files.">
0N/A
567N/A <mkdir dir="${statuspanel.classes.dir}" />
662N/A <javac srcdir="${statuspanel.src.dir}" destdir="${statuspanel.classes.dir}"
0N/A optimize="true" debug="on" debuglevel="lines,source" source="1.5"
0N/A target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
0N/A memoryMaximumSize="${MEM}">
0N/A <compilerarg value="-Xlint:all" />
662N/A
1210N/A <classpath>
1210N/A <pathelement path="${classes.dir}"/>
1210N/A <pathelement path="${quicksetup.classes.dir}"/>
1210N/A </classpath>
1210N/A </javac>
1210N/A <copy todir="${statuspanel.classes.dir}">
567N/A <fileset dir="${statuspanel.src.dir}"
567N/A includes="**/*.properties, **/*.gif, **/*.png" />
567N/A </copy>
563N/A </target>
567N/A
712N/A <!--
712N/A ! Rebuild the Directory Server without destroying any existing configuration
730N/A ! or data. It will only overwrite the libraries, classes, and scripts, and
712N/A ! it will not re-package. It will also not do a complete initialization, so
712N/A ! DynamicConstants.java won't be regenerated.
712N/A ! -->
0N/A <target name="rebuild"
0N/A description="Rebuild the server without destroying config or data.">
0N/A
0N/A <!-- Set the amount of memory to use for the build -->
0N/A <condition property="MEM" value="128M">
0N/A <not>
0N/A <isset property="MEM" />
0N/A </not>
0N/A </condition>
0N/A
114N/A <!-- Set properties needed to find the packaged files -->
114N/A <property name="pkgversion"
114N/A value="${MAJOR_VERSION}.${MINOR_VERSION}${VERSION_QUALIFIER}" />
114N/A <property name="pdir"
114N/A location="${package.dir}/OpenDS-${pkgversion}" />
114N/A
114N/A <!-- Clean up a minimal set of files/directories for the rebuild. -->
114N/A <delete dir="${classes.dir}" />
114N/A <delete file="${package.dir}/lib/OpenDS.jar" />
114N/A <delete file="${pdir}.zip" />
114N/A <delete dir="${quicksetup.classes.dir}" />
114N/A <delete file="${package.dir}/lib/quicksetup.jar" />
0N/A <delete file="${package.dir}/lib/statuspanel.jar" />
0N/A
0N/A <!-- Recreate the classes directory and recompile into it. -->
0N/A <mkdir dir="${classes.dir}" />
121N/A <javac srcdir="${src.dir}" destdir="${classes.dir}" optimize="true"
729N/A debug="on" debuglevel="lines,source" source="1.5" target="1.5"
1019N/A deprecation="true" fork="true" memoryInitialSize="${MEM}"
121N/A memoryMaximumSize="${MEM}">
121N/A <compilerarg value="-Xlint:all" />
1210N/A
1177N/A <classpath>
0N/A <fileset dir="${lib.dir}">
121N/A <include name="*.jar" />
1273N/A </fileset>
0N/A </classpath>
0N/A </javac>
0N/A
1083N/A <!-- Generate the OpenDS.jar file -->
712N/A <jar jarfile="${pdir}/lib/OpenDS.jar"
1083N/A basedir="${classes.dir}" compress="true" index="true" />
0N/A
0N/A <!-- Recreate the quicksetup classes directory and recompile into it. -->
0N/A <mkdir dir="${quicksetup.classes.dir}" />
0N/A <javac srcdir="${quicksetup.src.dir}" destdir="${quicksetup.classes.dir}" optimize="true"
0N/A debug="on" debuglevel="lines,source" source="1.5" target="1.5"
0N/A deprecation="true" fork="true" memoryInitialSize="${MEM}"
0N/A memoryMaximumSize="${MEM}">
0N/A <compilerarg value="-Xlint:all" />
0N/A <classpath>
0N/A <fileset dir="${build.dir}/build-tools">
0N/A <include name="build-tools.jar" />
0N/A </fileset>
1177N/A <fileset dir="${pdir}/lib">
1177N/A <include name="OpenDS.jar" />
984N/A </fileset>
984N/A </classpath>
984N/A </javac>
984N/A
984N/A <copy todir="${quicksetup.classes.dir}">
984N/A <fileset dir="${quicksetup.src.dir}"
1177N/A includes="**/*.properties, **/*.gif, **/*.png"/>
1177N/A </copy>
984N/A
1149N/A <copy todir="${quicksetup.classes.dir}">
1149N/A <fileset dir="${classes.dir}"
902N/A includes="**/DynamicConstants.class **/SetupUtils.class"/>
902N/A </copy>
902N/A
902N/A <!-- Generate the quicksetup.jar file -->
902N/A <jar jarfile="${pdir}/lib/quicksetup.jar"
902N/A basedir="${quicksetup.classes.dir}" compress="true" index="true" />
902N/A
1083N/A <!-- Recreate the statuspanel classes directory and recompile into it. -->
902N/A <mkdir dir="${statuspanel.classes.dir}" />
902N/A <javac srcdir="${statuspanel.src.dir}" destdir="${statuspanel.classes.dir}" optimize="true"
902N/A debug="on" debuglevel="lines,source" source="1.5" target="1.5"
902N/A deprecation="true" fork="true" memoryInitialSize="${MEM}"
902N/A memoryMaximumSize="${MEM}">
902N/A <compilerarg value="-Xlint:all" />
902N/A <classpath>
902N/A <fileset dir="${pdir}/lib">
902N/A <include name="OpenDS.jar" />
902N/A </fileset>
1177N/A </classpath>
567N/A </javac>
1019N/A
567N/A <copy todir="${statuspanel.classes.dir}">
567N/A <fileset dir="${statuspanel.src.dir}"
1210N/A includes="**/*.properties, **/*.gif, **/*.png"/>
1210N/A </copy>
1210N/A
1210N/A <!-- Generate the statuspanel.jar file -->
1210N/A <jar jarfile="${pdir}/lib/statuspanel.jar"
1210N/A basedir="${statuspanel.classes.dir}" compress="true" index="true" />
1210N/A </target>
1210N/A
1210N/A
1210N/A
1210N/A
1210N/A <!-- Populate the Directory Server package, but don't zip it up. -->
1008N/A <target name="prepackage" depends="cleancompile"
1083N/A description="Prepare the Directory Server package structure.">
1008N/A
1008N/A <property name="pkgversion"
1008N/A value="${MAJOR_VERSION}.${MINOR_VERSION}${VERSION_QUALIFIER}" />
1210N/A <property name="pdir"
1008N/A location="${package.dir}/OpenDS-${pkgversion}" />
1008N/A
1008N/A <mkdir dir="${pdir}" />
1008N/A <mkdir dir="${pdir}/bak" />
1008N/A <mkdir dir="${pdir}/bin" />
1083N/A <mkdir dir="${pdir}/classes" />
567N/A <mkdir dir="${pdir}/config" />
567N/A <mkdir dir="${pdir}/config/schema" />
567N/A <mkdir dir="${pdir}/config/messages" />
0N/A <mkdir dir="${pdir}/config/MakeLDIF" />
567N/A <mkdir dir="${pdir}/db" />
567N/A <mkdir dir="${pdir}/changelogDb" />
567N/A <mkdir dir="${pdir}/ldif" />
567N/A <mkdir dir="${pdir}/legal-notices" />
567N/A <mkdir dir="${pdir}/lib" />
567N/A <mkdir dir="${pdir}/locks" />
567N/A <mkdir dir="${pdir}/logs" />
567N/A
567N/A <jar jarfile="${pdir}/lib/OpenDS.jar"
567N/A basedir="${classes.dir}" compress="true" index="true" />
567N/A
563N/A <jar jarfile="${pdir}/lib/quicksetup.jar"
712N/A basedir="${quicksetup.classes.dir}" compress="true" index="true" />
1177N/A
1177N/A <jar jarfile="${pdir}/lib/statuspanel.jar"
712N/A basedir="${statuspanel.classes.dir}" compress="true" index="true" />
712N/A
712N/A <copy todir="${pdir}/lib">
712N/A <fileset file="${lib.dir}/*.jar" />
712N/A </copy>
1083N/A
712N/A <fixcrlf srcDir="${scripts.dir}" destDir="${pdir}/bin" excludes="*.bat"
712N/A eol="lf" />
712N/A <fixcrlf srcDir="${scripts.dir}" destDir="${pdir}/bin" includes="*.bat"
662N/A eol="crlf" />
712N/A
712N/A <copy todir="${pdir}/config">
712N/A <fileset file="${config.dir}/*" />
712N/A </copy>
712N/A
712N/A <copy todir="${pdir}/config/schema">
712N/A <fileset dir="${resource.dir}/schema" />
712N/A </copy>
712N/A
712N/A <copy todir="${pdir}/config/messages">
567N/A <fileset dir="${resource.dir}/messages" />
1177N/A </copy>
1177N/A
0N/A <copy todir="${pdir}/config/MakeLDIF">
563N/A <fileset dir="${resource.dir}/MakeLDIF" />
0N/A </copy>
0N/A
0N/A <copy todir="${pdir}/legal-notices">
0N/A <fileset dir="${resource.dir}/legal-notices" />
0N/A </copy>
0N/A
0N/A <copy todir="${pdir}">
0N/A <fileset file="${resource.dir}/README" />
0N/A </copy>
0N/A
0N/A <fixcrlf srcDir="${resource.dir}" destDir="${pdir}" includes="setup,uninstall"
0N/A eol="lf" />
0N/A <fixcrlf srcDir="${resource.dir}" destDir="${pdir}" includes="setup.bat,uninstall.bat"
0N/A eol="crlf" />
0N/A
0N/A <chmod file="${pdir}/setup" perm="755" />
0N/A <chmod file="${pdir}/uninstall" perm="755" />
0N/A <chmod perm="755">
0N/A <fileset dir="${pdir}/bin">
0N/A <exclude name="*.bat"/>
0N/A </fileset>
0N/A </chmod>
0N/A </target>
563N/A
563N/A
712N/A
712N/A
1008N/A <!-- Package the Directory Server for distribution. -->
1008N/A <target name="package" depends="prepackage"
1008N/A description="Package the Directory Server for distribution.">
0N/A
0N/A <zip destfile="${package.dir}/OpenDS-${pkgversion}.zip">
1083N/A <zipfileset dir="${package.dir}" includes="OpenDS-${pkgversion}/**/*"
1083N/A excludes="OpenDS-${pkgversion}/bin/*,OpenDS-${pkgversion}/setup,OpenDS-${pkgversion}/uninstall"
0N/A filemode="644" dirmode="755" />
0N/A <zipfileset dir="${package.dir}"
0N/A includes="OpenDS-${pkgversion}/bin/*.bat"
0N/A filemode="644" dirmode="755" />
0N/A <zipfileset dir="${package.dir}" includes="OpenDS-${pkgversion}/bin/*"
0N/A excludes="OpenDS-${pkgversion}/bin/*.bat"
0N/A filemode="755" dirmode="755" />
0N/A <zipfileset dir="${package.dir}" includes="OpenDS-${pkgversion}/setup,OpenDS-${pkgversion}/uninstall"
0N/A filemode="755" dirmode="755" />
0N/A </zip>
0N/A </target>
0N/A
0N/A <!-- Prepare the Directory Server DSML library. -->
0N/A <target name="predsml" depends="prepackage"
712N/A description="Prepare the Directory Server DSML library.">
563N/A
563N/A <taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask">
1210N/A <classpath>
1210N/A <fileset dir="${dsml.lib.dir}">
1210N/A <include name="**/*.jar" />
1210N/A </fileset>
1210N/A </classpath>
1210N/A </taskdef>
1210N/A
1210N/A <mkdir dir="${dsml.gen.dir}/org/opends/dsml/protocol" />
1210N/A <xjc target="${dsml.gen.dir}" schema="${dsml.dir}/schema/DSMLv2.xsd"
1210N/A removeOldOutput="yes" package="org.opends.dsml.protocol">
1210N/A <produces dir="${dsml.gen.dir}/org/opends/dsml/protocol"
1210N/A includes="* impl/*" />
1008N/A </xjc>
1083N/A
1008N/A <mkdir dir="${dsml.classes.dir}" />
1008N/A
1008N/A <javac srcdir="${dsml.gen.dir}" destdir="${dsml.classes.dir}"
1210N/A optimize="true" debug="on" debuglevel="lines,source" source="1.5"
1008N/A target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
1008N/A memoryMaximumSize="${MEM}">
1008N/A <compilerarg value="-Xlint:all" />
1008N/A
1083N/A <classpath>
1083N/A <fileset dir="${dsml.lib.dir}">
563N/A <include name="*.jar" />
563N/A </fileset>
1008N/A </classpath>
1008N/A </javac>
1008N/A
1008N/A <javac srcdir="${dsml.src.dir}" destdir="${dsml.classes.dir}"
1008N/A optimize="true" debug="on" debuglevel="lines,source" source="1.5"
1008N/A target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
1008N/A memoryMaximumSize="${MEM}">
1008N/A <compilerarg value="-Xlint:all" />
1008N/A
563N/A <classpath>
563N/A <fileset dir="${dsml.lib.dir}">
563N/A <include name="*.jar" />
1008N/A </fileset>
563N/A
563N/A <dirset dir="${classes.dir}" />
563N/A </classpath>
563N/A </javac>
563N/A
563N/A <war destfile="${classes.dir}/OpenDS-${pkgversion}-DSML.war"
712N/A webxml="${dsml.dir}/webapp/web.xml">
678N/A <fileset file="${dsml.dir}/webapp/server.properties" />
678N/A
1083N/A <webinf dir="${dsml.dir}/webapp" includes="**/*"
1083N/A excludes="web.xml, **/*.jar, **/*.properties" />
662N/A
662N/A <classes dir="${dsml.classes.dir}" />
1008N/A
1008N/A <lib dir="${dsml.lib.dir}">
1008N/A <exclude name="j2ee.jar" />
1008N/A </lib>
1008N/A
1008N/A <lib dir="${pdir}/lib">
662N/A <exclude name="activation.jar" />
662N/A <exclude name="je.jar" />
678N/A </lib>
1008N/A </war>
662N/A
662N/A <copy todir="${package.dir}">
712N/A <fileset file="${classes.dir}/*.war" />
1008N/A </copy>
1008N/A </target>
712N/A
1008N/A
1008N/A
1008N/A
0N/A <!-- Generate JavaDoc documentation from the source files -->
0N/A <target name="javadoc" depends="dsml"
0N/A description="Generate JavaDoc documentation.">
0N/A
0N/A <mkdir dir="${javadoc.dir}" />
0N/A
121N/A <javadoc destdir="${javadoc.dir}" source="1.5" additionalparam="-quiet"
0N/A linksource="yes" windowtitle="${PRODUCT_NAME} API Documentation"
0N/A maxmemory="${MEM}">
0N/A <classpath>
0N/A <fileset dir="${lib.dir}">
0N/A <include name="*.jar" />
0N/A </fileset>
0N/A
0N/A <fileset dir="${dsml.lib.dir}">
968N/A <include name="*.jar" />
1008N/A </fileset>
0N/A
0N/A <dirset dir="${classes.dir}" />
920N/A <dirset dir="${dsml.classes.dir}" />
0N/A </classpath>
0N/A
107N/A <packageset dir="${src.dir}" />
0N/A <packageset dir="${dsml.src.dir}" />
0N/A </javadoc>
0N/A </target>
29N/A
0N/A
1008N/A
0N/A <!-- Internal target to prepare to generate a code coverage report. -->
0N/A <target name="coverage">
0N/A
0N/A <property name="coverage.enabled" value="true" />
0N/A
712N/A <mkdir dir="${coverage.dir}" />
563N/A <mkdir dir="${coverage.data.dir}" />
563N/A <mkdir dir="${coverage.instr.dir}" />
712N/A <mkdir dir="${coverage.report.dir}" />
712N/A
712N/A <path id="run.classpath">
712N/A <pathelement location="${classes.dir}" />
0N/A </path>
0N/A </target>
0N/A
1008N/A
1008N/A
1008N/A <!-- Prepare to execute the Directory Server TestNG unit tests. -->
1008N/A <target name="testinit" depends="buildtools,compile"
0N/A description="Prepare to execute the Directory Server TestNG unit tests.">
1008N/A
1008N/A <!-- If we are to perform coverage tests, then set that up. -->
1194N/A <path id="emma.lib">
1210N/A <pathelement location="${emma.dir}/emma.jar" />
1194N/A <pathelement location="${emma.dir}/emma_ant.jar" />
1194N/A </path>
1210N/A
1008N/A <taskdef resource="emma_ant.properties" classpathref="emma.lib" />
0N/A
0N/A <emma enabled="${coverage.enabled}">
0N/A <instr instrpathref="run.classpath" destdir="${coverage.instr.dir}"
0N/A metadatafile="${coverage.data.dir}/metadata.emma" merge="true" />
920N/A </emma>
920N/A
920N/A <!-- Compile the test cases -->
920N/A <mkdir dir="${unittest.classes.dir}" />
920N/A <javac srcdir="${unittest.testng.src.dir}" destdir="${unittest.classes.dir}"
920N/A optimize="true" debug="on" debuglevel="lines,source" source="1.5"
920N/A target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
920N/A memoryMaximumSize="${MEM}">
920N/A <compilerarg value="-Xlint:all" />
920N/A
920N/A <classpath>
920N/A <fileset dir="${lib.dir}">
920N/A <include name="*.jar" />
920N/A </fileset>
920N/A
0N/A <fileset dir="${testng.lib.dir}">
0N/A <include name="*.jar" />
0N/A </fileset>
0N/A
0N/A <path refid="run.classpath" />
0N/A </classpath>
0N/A </javac>
0N/A
107N/A <!-- Prep the TestNG XML file -->
107N/A
107N/A <condition property="test.groups" value="exclude=slow">
107N/A <not>
29N/A <or>
29N/A <isset property="test.groups" />
29N/A <isset property="test.packages" />
29N/A <isset property="test.classes" />
29N/A <isset property="test.methods" />
29N/A </or>
29N/A </not>
29N/A </condition>
1293N/A
547N/A <condition property="test.packages" value="org.opends.server.*">
1293N/A <not>
547N/A <or>
84N/A <isset property="test.packages" />
565N/A <isset property="test.classes" />
712N/A <isset property="test.methods" />
485N/A </or>
485N/A </not>
485N/A </condition>
485N/A
1197N/A <condition property="test.classes" value="">
1197N/A <not>
0N/A <or>
0N/A <isset property="test.classes" />
0N/A <isset property="test.methods" />
0N/A </or>
0N/A </not>
0N/A </condition>
0N/A
0N/A <condition property="test.methods" value="">
0N/A <not>
605N/A <or>
1293N/A <isset property="test.methods" />
0N/A </or>
499N/A </not>
1194N/A </condition>
1194N/A
499N/A <mkdir dir="${unittest.resource.dir}" />
1194N/A <typedef name="preptestng" classname="org.opends.build.tools.PrepTestNG"
499N/A classpath="${build.dir}/build-tools/build-tools.jar" />
1210N/A
1210N/A
1293N/A <preptestng file="${testng.dir}/testng.xml"
499N/A tofile="${unittest.resource.dir}/testng.xml"
0N/A grouplist="${test.groups}"
0N/A packagelist="${test.packages}"
0N/A classList="${test.classes}"
1177N/A methodList="${test.methods}" />
1177N/A
0N/A <antcall target="testinit.checkFailedTestsOnly"/>
0N/A </target>
0N/A
0N/A <!-- If we were asked to run only the tests that failed,
0N/A then we overwrite the testng.xml that we just generated
0N/A with testng-failed.xml, which TestNG generated. -->
0N/A <target name="testinit.checkFailedTestsOnly" if="test.failures">
0N/A <!-- Ensure that some of the tests failed last time. -->
0N/A <available property="testng-failed.xml.exists"
0N/A file="${unittest.report.dir}/testng-failed.xml"/>
0N/A <fail message="No unit tests failed in the previous run."
0N/A unless="testng-failed.xml.exists"/>
0N/A
0N/A <!-- We replace the 'Failed suite [OpenDS]' with 'OpenDS' so we
0N/A don't end up with 'Failed suite [Failed suite [OpenDS]]]' etc. -->
0N/A <replace file="${unittest.report.dir}/testng-failed.xml"
0N/A token="Failed suite [OpenDS]"
0N/A value="OpenDS"/>
0N/A <replace file="${unittest.report.dir}/testng-failed.xml"
0N/A token="default(failed)"
0N/A value="default"/>
1083N/A
0N/A <copy file="${unittest.report.dir}/testng-failed.xml"
0N/A tofile="${unittest.resource.dir}/testng.xml"
0N/A overwrite="true"/>
0N/A
0N/A <echo message="Will run the failed unit tests only"/>
0N/A </target>
0N/A
0N/A <!-- Generate coverage diff report -->
0N/A <target name="coveragediff">
0N/A <condition property="test.diff.srcpath" value="">
0N/A <not>
0N/A <isset property="test.diff.srcpath" />
1083N/A </not>
0N/A </condition>
0N/A
0N/A <condition property="test.diff.enabled" value="true">
0N/A <not>
0N/A <isset property="test.diff.disable" />
0N/A </not>
0N/A </condition>
0N/A
0N/A <condition property="test.diff.verbose" value="false">
0N/A <not>
0N/A <isset property="test.diff.verbose" />
0N/A </not>
0N/A </condition>
605N/A
0N/A <condition property="test.diff.enabled" value="false">
0N/A <isset property="test.diff.disable" />
0N/A </condition>
0N/A
0N/A <mkdir dir="${cvgdiff.report.dir}" />
0N/A <taskdef name="coveragediff" classname="org.opends.build.tools.CoverageDiff">
0N/A <classpath>
0N/A <fileset dir="${build.dir}/build-tools">
0N/A <include name="*.jar" />
0N/A </fileset>
0N/A <fileset dir="${emma.dir}">
0N/A <include name="*.jar" />
0N/A </fileset>
0N/A <fileset dir="${svnkit.dir}">
0N/A <include name="*.jar" />
0N/A </fileset>
0N/A </classpath>
0N/A </taskdef>
605N/A
0N/A <coveragediff emmadatapath="${coverage.data.dir}"
0N/A outputpath="${cvgdiff.report.dir}"
0N/A diffpath="${test.diff.srcpath}"
0N/A enabled="${test.diff.enabled}"
0N/A verbose="${test.diff.verbose}" />
0N/A
0N/A </target>
0N/A
1008N/A <!-- Execute the Directory Server TestNG unit tests in text mode. -->
0N/A <target name="enableTestNGAssertions">
0N/A <property name="TESTASSERT" value="true"/>
0N/A </target>
0N/A
0N/A <!-- Execute Directory Server TestNG unit tests specified from CLI -->
0N/A <target name="testcustom">
0N/A <echo message="This target is deprecated. Please use the test target as it now supports the test.* properties." />
0N/A </target>
0N/A
0N/A <!-- Execute all of the Directory Server TestNG unit tests in text mode. -->
0N/A <target name="testall"
0N/A depends="enableTestNGAssertions,prepdefaultalltest,testinit,runtests"
0N/A description="Run all of the TestNG tests (including 'slow' ones) with assertions enabled. See 'testwithcoverage' for properties you can set.">
0N/A </target>
0N/A
0N/A
0N/A <!-- Execute the Directory Server TestNG unit tests in text mode. -->
0N/A <target name="test"
0N/A depends="testinit,runtests"
0N/A description="Execute the Directory Server TestNG unit tests in text mode. Set '-Dorg.opends.test.suppressOutput=false' to see the output from the unit tests. Set '-Dtest.failures=true' to run only the tests that failed previously.">
1008N/A </target>
0N/A
0N/A <!-- Execute the Directory Server TestNG unit tests in text mode with a coverage report. -->
0N/A <target name="testwithcoverage"
0N/A depends="coverage,test,coveragediff"
0N/A description="Execute the Directory Server TestNG unit tests in text mode with a coverage report. Use -Dtest.packages, -Dtest.classes, or -Dtest.methods to control which unit tests are run. Use -Dtest.diff.srcpath to control which src files show up in the coverage diff. See the 'test' package for other properties you can set.">
0N/A </target>
121N/A
121N/A <!-- Execute the Directory Server TestNG unit tests in text mode with a coverage report and slow tests. -->
0N/A <target name="testallwithcoverage"
0N/A depends="coverage,testall,coveragediff"
0N/A description="The same as 'testwithcoverage' except 'testall' is run instead of 'test'.">
0N/A </target>
0N/A
0N/A <!-- Execute the Directory Server TestNG unit tests specified from CLI in text mode with a coverage report. -->
0N/A <target name="testcustomwithcoverage">
0N/A <echo message="This target is deprecated. Please use the testwithcoverage target as it now supports the test.* properties." />
0N/A </target>
0N/A
0N/A <target name="testhelp" unless="disable.test.help">
0N/A <echo message="About to run the unit tests. Ant options to control the tests:"/>
0N/A <echo message=""/>
0N/A <echo message=" -Dorg.opends.test.suppressOutput=false"/>
21N/A <echo message=" writes the unit test output to the screen"/>
1019N/A <echo message=""/>
0N/A <echo message=" -Dtest.failed=true"/>
0N/A <echo message=" runs only the tests that failed last time"/>
0N/A <echo message=""/>
0N/A <echo message=" -Dtest.packages=org.opends.server.api"/>
0N/A <echo message=" for example runs only the tests in the api package"/>
0N/A <echo message=" For multiple packages, separate them with a ',' and "/>
0N/A <echo message=" quote the entire value"/>
0N/A <echo message=""/>
0N/A <echo message=" -Dtest.classes=org.opends.server.types.TestDN"/>
0N/A <echo message=" for example only runs the TestDN class"/>
0N/A <echo message=" For multiple classes, separate them with a ',' and "/>
0N/A <echo message=" quote the entire value"/>
0N/A <echo message=""/>
0N/A <echo message=" -Dtest.methods=org.opends.server.types.TestDN.testGetRDN"/>
0N/A <echo message=" for example only runs the testGetRDN method"/>
0N/A <echo message=" For multiple methods, separate them with a ',' and "/>
0N/A <echo message=" quote the entire value"/>
1083N/A <echo message=""/>
0N/A <echo message=" -Dtest.diff.srcpath=src/server/org/opends/server/core"/>
0N/A <echo message=" for example includes only the classes in"/>
0N/A <echo message=" src/server/org/opends/server/core in the coveragediff report."/>
0N/A <echo message=" To list multiple directories or files, separate them with"/>
0N/A <echo message=" a space as you would an argument list to 'svn diff' and quote"/>
0N/A <echo message=" the whole value."/>
0N/A <echo message=""/>
0N/A </target>
0N/A
0N/A <!-- Internal target to execute the Directory Server TestNG unit tests in text mode after everything has been initialized. -->
0N/A <target name="runtests">
0N/A <antcall target="testhelp"/>
0N/A
0N/A <mkdir dir="${unittest.report.dir}" />
0N/A
0N/A <taskdef resource="testngtasks">
712N/A <classpath>
233N/A <fileset dir="${testng.lib.dir}">
675N/A <include name="*.jar" />
675N/A </fileset>
675N/A </classpath>
675N/A </taskdef>
675N/A
675N/A <!-- This sets TESTASSERT to false if and only if it's not already set. -->
675N/A <condition property="TESTASSERT" value="false">
675N/A <not>
675N/A <isset property="TESTASSERT" />
675N/A </not>
675N/A </condition>
675N/A
675N/A <!-- This sets org.opends.test.suppressOutput if and only if it's not
675N/A already set. -->
675N/A <condition property="org.opends.test.suppressOutput" value="true">
675N/A <not>
675N/A <isset property="org.opends.test.suppressOutput" />
675N/A </not>
675N/A </condition>
675N/A
675N/A <!-- Cleanout the old reports. Otherwise, the old testng-failed.xml
675N/A will hang around even if all of the tests pass. -->
675N/A <delete>
675N/A <fileset dir="${unittest.report.dir}" includes="*"/>
675N/A </delete>
675N/A
675N/A <!-- Our testng listener will remove this file if all of the
675N/A tests passed. This allows us to generate the coverage
675N/A report even if the tests failed and still fail the build. -->
675N/A <touch file="${unittest.report.dir}/.tests-failed-marker"/>
675N/A
675N/A <testng outputdir="${unittest.report.dir}"
675N/A haltonfailure="false"
675N/A enableAssert="${TESTASSERT}"
675N/A listeners="org.opends.server.TestListener org.testng.reporters.FailedReporter"
675N/A useDefaultListeners="false"
675N/A suiteRunnerClass="org.opends.server.SuiteRunner">
675N/A <classpath>
712N/A <pathelement location="${coverage.instr.dir}" />
233N/A <pathelement location="${classes.dir}" />
233N/A <pathelement location="${unittest.classes.dir}" />
564N/A
233N/A <path refid="run.classpath" />
233N/A <path refid="emma.lib" />
233N/A
233N/A <fileset dir="${lib.dir}">
712N/A <include name="*.jar" />
567N/A </fileset>
712N/A
567N/A <fileset dir="${testng.lib.dir}">
318N/A <include name="*.jar" />
712N/A </fileset>
712N/A </classpath>
233N/A <jvmarg value="-Demma.coverage.out.file=${coverage.data.dir}/unit.emma" />
1177N/A <jvmarg value="-Demma.coverage.out.merge=false" />
1177N/A <jvmarg value="-Dorg.opends.server.BuildRoot=${basedir}" />
1008N/A <jvmarg value="-Dorg.opends.test.suppressOutput=${org.opends.test.suppressOutput}" />
712N/A <jvmarg value="-Xms${MEM}" />
712N/A <jvmarg value="-Xmx${MEM}" />
712N/A <xmlfileset dir="${unittest.resource.dir}" includes="testng.xml" />
712N/A </testng>
1008N/A
712N/A <!-- Our testng listener will create this file if any of the
1008N/A tests failed. This allows us to generate the coverage
712N/A report even if the tests failed. -->
233N/A <available property="testng.tests.failed"
712N/A file="${unittest.report.dir}/.tests-failed-marker"/>
712N/A
712N/A <!-- Delete all of the report suite sub-directories since we only
712N/A have a single suite. -->
712N/A <delete dir="${unittest.report.dir}/OpenDS"/>
712N/A
712N/A <emma enabled="${coverage.enabled}" >
712N/A <report sourcepath="${src.dir}" >
712N/A <fileset dir="${coverage.data.dir}" >
712N/A <include name="unit.emma" />
712N/A <include name="metadata.emma" />
712N/A </fileset>
1008N/A
712N/A <txt outfile="${coverage.report.dir}/coverage.txt" />
0N/A <html outfile="${coverage.report.dir}/index.html" />
0N/A <xml outfile="${coverage.report.dir}/coverage.xml" />
1177N/A </report>
1177N/A
675N/A </emma>
675N/A
675N/A <!-- We delay failing until after the coverage report is generated. -->
675N/A <fail message="The unit tests failed." if="testng.tests.failed"/>
675N/A
675N/A </target>
675N/A
21N/A <target name="prepdefaultalltest">
675N/A <property name="test.groups" value="" />
675N/A </target>
675N/A
675N/A <target name="testreport"
675N/A depends="test"
675N/A description="Takes testng results and convert them into JUnit compatible xml">
699N/A <junitreport todir="${unittest.report.dir}">
699N/A <fileset dir="${unittest.report.dir}">
699N/A <include name="*.xml"/>
699N/A </fileset>
699N/A
699N/A <report format="noframes" todir="${unittest.report.dir}"/>
675N/A </junitreport>
675N/A </target>
675N/A
675N/A
675N/A <target name="integration-tests"
675N/A description="Builds the integration tests"
675N/A >
675N/A <ant dir="${functest.testng.dir}" inheritall="false"/>
675N/A </target>
675N/A
675N/A
675N/A <target name="buildtools"
675N/A description="Builds the build tools">
729N/A
729N/A <!-- Set the amount of memory to use for the build -->
729N/A <condition property="MEM" value="128M">
675N/A <not>
675N/A <isset property="MEM" />
675N/A </not>
675N/A </condition>
675N/A
712N/A <mkdir dir="${buildtools.classes.dir}" />
699N/A
699N/A <javac srcdir="${buildtools.src.dir}" destdir="${buildtools.classes.dir}"
675N/A optimize="true" debug="on" debuglevel="lines,source" source="1.5"
712N/A target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
21N/A memoryMaximumSize="${MEM}">
1177N/A <compilerarg value="-Xlint:all" />
1177N/A
0N/A <classpath>
185N/A <fileset dir="${ant.lib.dir}">
185N/A <include name="*.jar" />
185N/A </fileset>
185N/A
1177N/A <fileset dir="${emma.dir}">
1177N/A <include name="*.jar" />
318N/A </fileset>
699N/A
712N/A <fileset dir="${svnkit.dir}">
318N/A <include name="*.jar" />
185N/A </fileset>
1177N/A
1177N/A <path refid="run.classpath" />
185N/A </classpath>
185N/A </javac>
1238N/A
712N/A <jar jarfile="${build.dir}/build-tools/build-tools.jar"
185N/A basedir="${buildtools.classes.dir}" compress="true" index="true" />
185N/A </target>
185N/A
1177N/A</project>
185N/A