build.xml revision 1890
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ! CDDL HEADER START
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz ! The contents of this file are subject to the terms of the
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ! Common Development and Distribution License, Version 1.0 only
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ! (the "License"). You may not use this file except in compliance
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin ! with the License.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ! You can obtain a copy of the license at
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ! See the License for the specific language governing permissions
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ! and limitations under the License.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ! When distributing Covered Code, include this CDDL HEADER in each
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ! file and include the License file at
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ! add the following below this CDDL HEADER, with the fields enclosed
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ! by brackets "[]" replaced with your own identifying information:
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ! Portions Copyright [yyyy] [name of copyright owner]
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ! CDDL HEADER END
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ! Portions Copyright 2006-2007 Sun Microsystems, Inc.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin<project name="Directory Server" basedir="." default="package">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <description>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin This is the build script for the OpenDS Directory Server. See the BUILDING
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin file in this directory for build instructions.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </description>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- General server-wide properties -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <property name="classes.dir" location="${build.dir}/classes" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <property name="package.dir" location="${build.dir}/package" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <property name="javadoc.dir" location="${build.dir}/javadoc" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <property name="scripts.dir" location="${resource.dir}/bin" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <property name="config.dir" location="${resource.dir}/config" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <property name="build.debuglevel" value="lines,vars,source" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Properties for build tools -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <property name="buildtools.src.dir" location="src/build-tools" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <property name="buildtools.classes.dir" location="${build.dir}/build-tools/classes" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Properties for use in unit testing. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <property name="unittest.testng.dir" location="tests/unit-tests-testng"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin location="${unittest.testng.dir}/src/server"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin location="${build.dir}/unit-tests/classes" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin location="${build.dir}/unit-tests/report"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin location="${build.dir}/unit-tests/resource"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Properties for use in functional/integration testing. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin location="${functest.testng.dir}/src"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Properties for use with the DSML component. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <property name="dsml.lib.dir" location="${dsml.dir}/lib" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <property name="dsml.gen.dir" location="${build.dir}/dsml/gen" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <property name="dsml.classes.dir" location="${build.dir}/dsml/classes" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Properties for use with the Quick Setup. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <property name="quicksetup.src.dir" location="src/quicksetup" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin location="${build.dir}/quicksetup/classes" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <property name="ads.class.dir" location="${classes.dir}/org/opends/admin/ads"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Properties for use with the Status Panel. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <property name="statuspanel.src.dir" location="src/statuspanel" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin location="${build.dir}/statuspanel/classes" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Properties for coverage diff reports -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin location="${cvgdiff.dir}/report" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Properties for code coverage testing. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <property name="coverage.dir" location="build/coverage" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin location="${coverage.dir}/reports/unit" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin location="${coverage.dir}/instrumentedcode" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin location="${coverage.dir}/gathereddata" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Properties for the EMMA code coverage tool. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <property name="emma.dir" location="${ext.dir}/emma/lib" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Properties for the AspectJ tools -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <property name="aj.dir" location="${ext.dir}/aspectj" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <property name="aj.lib.dir" location="${aj.dir}/lib" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Properties for the TestNG unit testing tool. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <property name="testng.dir" location="${ext.dir}/testng" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <property name="testng.lib.dir" location="${testng.dir}/lib" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Properties for the ANT build tool. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <property name="ant.lib.dir" location="${ant.dir}/lib" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Properties for the checkstyle tool. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <property name="checkstyle.dir" location="${ext.dir}/checkstyle" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <property name="checkstyle.cache.dir" location=".checkstyle-cache" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Properties for the SVNKit tool. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <property name="svnkit.dir" location="${ext.dir}/svnkit" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Properties for Directory Server version information. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin location="${src.dir}/org/opends/server/util/DynamicConstants.java" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin location="${resource.dir}/DynamicConstants.java.stubs" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Properties for administration framework code generation. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <property name="admin.defn.dir" location="src/admin/defn" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <property name="admin.src.dir" location="src/admin/generated" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <property name="admin.rules.dir" location="resource/admin" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Create a package bundle containing the DSML library. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin description="Build a Directory Server package bundle with DSML.">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- The build target that should be used before committing code. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <target name="precommit" depends="checkstyle,clean,checkprecommit,dsml,testwithcoverage"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin description="Perform all processing needed before committing code.">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- The build target that should be used for nightly builds. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin depends="checkstyle,dsml,srczip,javadoc,coverage,testallwithcoverage"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin description="Perform all processing needed for nightly builds.">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- The build target that should be used for weekly builds. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin description="Perform all processing needed for weekly builds.">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- The build target that should be used to build everything. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin depends="checkstyle,clean,checkprecommit,dsml,srczip,javadoc,testallwithcoverage"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin description="Build using all defined targets.">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Remove all dynamically-generated build files. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin description="Clean up any files generated during the build process">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Perform common initialization common to several targets after cleaning out the previous build environment. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Set the property valid.java.version if the java version is valid. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin depends="buildtools" >
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </typedef>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </condition>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Warn if the build java version is too old. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin depends="validjavaversion"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin message="WARNING: Java version ${java.version} is too old."/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin message="Java version ${min.java.version} or later is required to build OpenDS."/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Perform common initialization common to several targets. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <format property="timestamp" pattern="yyyyMMddHHmmss'Z'"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin timezone="UTC" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </condition>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </condition>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </condition>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ! For some reason, some Apple VMs put quotes around the value of the
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ! java.vm.vendor property, which wreaks havoc with DynamicConstants. This
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ! pair of conditions attempts to work around that by detecting the quote
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ! and surrounding the value with backslashes.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <condition property="JVM_VENDOR" value="Apple Computer">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <contains string="${java.vm.vendor}" substring="Apple Computer"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin casesensitive="false" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </condition>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <condition property="JVM_VENDOR" value="${java.vm.vendor}">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </condition>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Build the DynamicConstants.java file and any of its dependencies. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <target name="dynamicconstants" depends="init,buildtools">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Get the revision number of the current Subversion workspace -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin classname="org.opends.build.tools.GetSubversionRevision">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </taskdef>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Construct the version number string -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin classname="org.opends.build.tools.CreateVersionString">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </taskdef>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Generate the DynamicConstants.java file.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Be warned that the .stubs file references the following properties
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin PRODUCT_NAME, SHORT_NAME, MAJOR_VERSION, MINOR_VERSION, POINT_VERSION,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin VERSION_QUALIFIER, FIX_IDS, timestamp, user.name, java.version,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin java.vendor, java.vm.version, JVM_VENDOR, DEBUG_BUILD, REVISION_NUMBER,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin WEAVE_ENABLED, VERSION_NUMBER_STRING
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin If you change the name of any of those properties in this build.xml
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin you'll need to reflect the same change in the .stubs file
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </condition>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin overwrite="true" >
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <filterchain>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <expandproperties/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </filterchain>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Check modified files to see if any svn:eol-style or copyright updates
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin are needed. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin description="Ensure updated files eol-style and copyright info">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </taskdef>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <checkprecommit />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Ensure that the source code meets basic style requirements. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <target name="checkstyle" description="Perform basic source style checks">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin classpath="${checkstyle.dir}/checkstyle-all-4.1.jar" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <checkstyle config="${checkstyle.dir}/opends-checkstyle.xml"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin failOnViolation="true">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </checkstyle>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <checkstyle config="${checkstyle.dir}/opends-checkstyle.xml"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin failOnViolation="true">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </checkstyle>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <checkstyle config="${checkstyle.dir}/opends-checkstyle.xml"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin failOnViolation="true">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <fileset dir="${quicksetup.src.dir}" includes="**/*.java" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </checkstyle>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <checkstyle config="${checkstyle.dir}/opends-checkstyle.xml"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin failOnViolation="true">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <fileset dir="${statuspanel.src.dir}" includes="**/*.java" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </checkstyle>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <checkstyle config="${checkstyle.dir}/opends-doctarget-checkstyle.xml"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin failOnViolation="true">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <fileset dir="${src.dir}/org/opends/server/api" includes="**/*.java" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <fileset dir="${src.dir}/org/opends/server/protocols/internal"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin includes="**/*.java" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin includes="**/*.java" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </checkstyle>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <checkstyle config="${checkstyle.dir}/opends-unittest-checkstyle.xml"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin failOnViolation="true">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <fileset dir="${unittest.testng.src.dir}" includes="**/*.java" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </checkstyle>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <checkstyle config="${checkstyle.dir}/opends-functest-checkstyle.xml"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin failOnViolation="true">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <fileset dir="${functest.testng.src.dir}" includes="**/*.java" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </checkstyle>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Compile the Directory Server source files. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin depends="cleaninit,compilequicksetup,weave,compilestatuspanel"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin description="Recompile the Directory Server source files.">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Compile the Directory Server source files. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin depends="init,checkjavaversion,dynamicconstants,compileadmin"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin description="Compile the Directory Server source files.">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <javac srcdir="${src.dir}:${admin.src.dir}:${ads.src.dir}" destdir="${classes.dir}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin debug="on" debuglevel="${build.debuglevel}" source="1.5" target="1.5"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin deprecation="true" fork="true" memoryInitialSize="${MEM}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin memoryMaximumSize="${MEM}">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <fileset dir="${src.dir}" includes="**/*.properties" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </condition>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <target name="weave" if="weave.enabled" depends="compilestatuspanel, prepweave">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" Weaving the source code with automatic AspectJ debug logging."/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" Build with -DWEAVE_ENABLED=false to turn this off."/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <taskdef resource="org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <pathelement location="${aj.lib.dir}/aspectjtools.jar" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </taskdef>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin debug="true" debuglevel="${build.debuglevel}" source="1.5" target="1.5"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Compile the Quick Setup source files. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <target name="compilequicksetup" depends="buildtools,compile"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin description="Compile the Quick Setup source files.">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <javac srcdir="${ads.src.dir}" destdir="${quicksetup.classes.dir}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin optimize="true" debug="on" debuglevel="lines,source" source="1.5"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin memoryMaximumSize="${MEM}">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <javac srcdir="${src.dir}" destdir="${quicksetup.classes.dir}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin debug="on" debuglevel="${build.debuglevel}" source="1.5"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin memoryMaximumSize="${MEM}">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <include name="**/org/opends/server/util/SetupUtils.java"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <include name="**/org/opends/server/util/CertificateManager.java"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <include name="**/org/opends/server/util/DynamicConstants.java"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <include name="**/org/opends/server/types/OperatingSystem.java"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <javac srcdir="${quicksetup.src.dir}" destdir="${quicksetup.classes.dir}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin debug="on" debuglevel="${build.debuglevel}" source="1.5"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin memoryMaximumSize="${MEM}">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin includes="**/*.properties, **/*.gif, **/*.png" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Compile the Status Panel source files. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <target name="compilestatuspanel" depends="compilequicksetup"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin description="Compile the Status Panel source files.">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <javac srcdir="${statuspanel.src.dir}" destdir="${statuspanel.classes.dir}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin debug="on" debuglevel="${build.debuglevel}" source="1.5"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin memoryMaximumSize="${MEM}">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin includes="**/*.properties, **/*.gif, **/*.png" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ! Rebuild the Directory Server without destroying any existing configuration
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ! or data. It will only overwrite the libraries, classes, and scripts, and
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ! it will not re-package. It will also not do a complete initialization, so
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ! DynamicConstants.java won't be regenerated.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin description="Rebuild the server without destroying config or data.">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Set the amount of memory to use for the build -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </condition>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Construct the version number string -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin classname="org.opends.build.tools.CreateVersionString">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </taskdef>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Set properties needed to find the packaged files -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin location="${package.dir}/OpenDS-${VERSION_NUMBER_STRING}" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Clean up a minimal set of files/directories for the rebuild. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Regenerate configuration files if necessary -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Recreate the classes directory and recompile into it. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <javac srcdir="${src.dir}:${admin.src.dir}:${ads.src.dir}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin destdir="${classes.dir}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin debug="on" debuglevel="${build.debuglevel}" source="1.5" target="1.5"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin deprecation="true" fork="true" memoryInitialSize="${MEM}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin memoryMaximumSize="${MEM}">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <fileset dir="${src.dir}" includes="**/*.properties" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Generate the OpenDS.jar file -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin basedir="${classes.dir}" compress="true" index="true" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Recreate the quicksetup classes directory and recompile into it. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <javac srcdir="${ads.src.dir}" destdir="${quicksetup.classes.dir}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin optimize="true" debug="on" debuglevel="lines,source" source="1.5"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin memoryMaximumSize="${MEM}">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <javac srcdir="${src.dir}" destdir="${quicksetup.classes.dir}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin debug="on" debuglevel="${build.debuglevel}" source="1.5"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin memoryMaximumSize="${MEM}">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <include name="**/org/opends/server/util/SetupUtils.java"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <include name="**/org/opends/server/util/CertificateManager.java"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <include name="**/org/opends/server/util/DynamicConstants.java"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <include name="**/org/opends/server/types/OperatingSystem.java"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <javac srcdir="${quicksetup.src.dir}" destdir="${quicksetup.classes.dir}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin debug="on" debuglevel="${build.debuglevel}" source="1.5" target="1.5"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin deprecation="true" fork="true" memoryInitialSize="${MEM}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin memoryMaximumSize="${MEM}">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin includes="**/*.properties, **/*.gif, **/*.png"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Generate the quicksetup.jar file -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin basedir="${quicksetup.classes.dir}" compress="true" index="true" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Recreate the statuspanel classes directory and recompile into it. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <javac srcdir="${statuspanel.src.dir}" destdir="${statuspanel.classes.dir}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin debug="on" debuglevel="${build.debuglevel}" source="1.5" target="1.5"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin deprecation="true" fork="true" memoryInitialSize="${MEM}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin memoryMaximumSize="${MEM}">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin includes="**/*.properties, **/*.gif, **/*.png"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Generate the statuspanel.jar file -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin basedir="${statuspanel.classes.dir}" compress="true" index="true" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Regenerate example plugin. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Populate the Directory Server package, but don't zip it up. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin description="Prepare the Directory Server package structure.">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin location="${package.dir}/OpenDS-${VERSION_NUMBER_STRING}" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin basedir="${classes.dir}" compress="true" index="true" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin basedir="${quicksetup.classes.dir}" compress="true" index="true" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin basedir="${statuspanel.classes.dir}" compress="true" index="true" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <fixcrlf srcDir="${scripts.dir}" destDir="${pdir}/bin" excludes="*.bat,_client-script.sh,_server-script.sh" eol="lf" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <fixcrlf srcDir="${scripts.dir}" destDir="${pdir}/lib" includes="_client-script.sh,_server-script.sh" eol="lf" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <fixcrlf srcDir="${scripts.dir}" destDir="${pdir}/bin" includes="README_WINDOWS.txt" eol="crlf" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <fixcrlf srcDir="${scripts.dir}" destDir="${pdir}/bat" excludes="_client-script.bat,_server-script.bat,setcp.bat" includes="*.bat" eol="crlf" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <fixcrlf srcDir="${scripts.dir}" destDir="${pdir}/lib" includes="_client-script.bat,_server-script.bat,setcp.bat" eol="crlf" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin tofile="${pdir}/config/upgrade/config.ldif.${REVISION_NUMBER}" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </taskdef>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin toFile="${pdir}/config/upgrade/schema.ldif.${REVISION_NUMBER}" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <fixcrlf srcDir="${resource.dir}" destDir="${pdir}" includes="setup,uninstall,upgrade"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin eol="lf" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <fixcrlf srcDir="${resource.dir}" destDir="${pdir}" includes="setup.bat,uninstall.bat,upgrade.bat"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin eol="crlf" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <chmod file="${pdir}/lib/_client-script.sh" perm="755" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <chmod file="${pdir}/lib/_server-script.sh" perm="755" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Package the Directory Server for distribution. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin description="Package the Directory Server for distribution.">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <zip destfile="${package.dir}/OpenDS-${VERSION_NUMBER_STRING}.zip">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <zipfileset dir="${package.dir}" includes="OpenDS-${VERSION_NUMBER_STRING}/**/*"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin excludes="OpenDS-${VERSION_NUMBER_STRING}/bin/*,OpenDS-${VERSION_NUMBER_STRING}/lib/_client-script.sh,OpenDS-${VERSION_NUMBER_STRING}/lib/_server-script.sh,OpenDS-${VERSION_NUMBER_STRING}/setup,OpenDS-${VERSION_NUMBER_STRING}/uninstall,OpenDS-${VERSION_NUMBER_STRING}/upgrade"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin includes="OpenDS-${VERSION_NUMBER_STRING}/lib/_client-script.sh,OpenDS-${VERSION_NUMBER_STRING}/lib/_server-script.sh"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <zipfileset dir="${package.dir}" includes="OpenDS-${VERSION_NUMBER_STRING}/bin/*"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin excludes="OpenDS-${VERSION_NUMBER_STRING}/bin/README_WINDOWS.txt"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <zipfileset dir="${package.dir}" includes="OpenDS-${VERSION_NUMBER_STRING}/bin/README_WINDOWS.txt"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <zipfileset dir="${package.dir}" includes="OpenDS-${VERSION_NUMBER_STRING}/setup,OpenDS-${VERSION_NUMBER_STRING}/uninstall,OpenDS-${VERSION_NUMBER_STRING}/upgrade"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Prepare the Directory Server DSML library. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin description="Prepare the Directory Server DSML library.">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </taskdef>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <mkdir dir="${dsml.gen.dir}/org/opends/dsml/protocol" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <xjc target="${dsml.gen.dir}" schema="${dsml.dir}/schema/DSMLv2.xsd"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin removeOldOutput="yes" package="org.opends.dsml.protocol">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <produces dir="${dsml.gen.dir}/org/opends/dsml/protocol"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin includes="* impl/*" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <javac srcdir="${dsml.gen.dir}" destdir="${dsml.classes.dir}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin debug="on" debuglevel="${build.debuglevel}" source="1.5"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin memoryMaximumSize="${MEM}">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <javac srcdir="${dsml.src.dir}" destdir="${dsml.classes.dir}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin debug="on" debuglevel="${build.debuglevel}" source="1.5"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin memoryMaximumSize="${MEM}">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <war destfile="${classes.dir}/OpenDS-${VERSION_NUMBER_STRING}-DSML.war"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <fileset file="${dsml.dir}/webapp/server.properties" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin excludes="web.xml, **/*.jar, **/*.properties" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Generate JavaDoc documentation from the source files -->
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin description="Generate JavaDoc documentation.">
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin <javadoc destdir="${javadoc.dir}" source="1.5" additionalparam="-quiet"
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin linksource="yes" windowtitle="${PRODUCT_NAME} API Documentation"
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin maxmemory="${MEM}">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </javadoc>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Internal target to prepare to generate a code coverage report. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Prepare to execute the Directory Server TestNG unit tests. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin description="Prepare to execute the Directory Server TestNG unit tests.">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- If we are to perform coverage tests, then set that up. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <taskdef resource="emma_ant.properties" classpathref="emma.lib" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <instr instrpathref="run.classpath" destdir="${coverage.instr.dir}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin metadatafile="${coverage.data.dir}/metadata.emma" merge="true" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Compile the test cases -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <javac srcdir="${unittest.testng.src.dir}" destdir="${unittest.classes.dir}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin debug="on" debuglevel="${build.debuglevel}" source="1.5"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin memoryMaximumSize="${MEM}">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Prep the TestNG XML file -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <condition property="test.groups" value="exclude=slow">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </condition>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- do not run tests dependent upon creation of the .zip file -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <condition property="test.packages" value="org.opends.server.*">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </condition>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- run tests dependent upon creation of the .zip file -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <condition property="test.packages" value="org.opends.server.*,org.opends.quicksetup.*">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </condition>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </condition>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </condition>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <typedef name="preptestng" classname="org.opends.build.tools.PrepTestNG"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin classpath="${build.dir}/build-tools/build-tools.jar" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin grouplist="${test.groups}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin packagelist="${test.packages}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin classList="${test.classes}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin methodList="${test.methods}" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- If we were asked to run only the tests that failed,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin then we overwrite the testng.xml that we just generated
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin with testng-failed.xml, which TestNG generated. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <target name="testinit.checkFailedTestsOnly" if="test.failures">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Ensure that some of the tests failed last time. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <fail message="No unit tests failed in the previous run."
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- We replace the 'Failed suite [OpenDS]' with 'OpenDS' so we
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin don't end up with 'Failed suite [Failed suite [OpenDS]]]' etc. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <replace file="${unittest.report.dir}/testng-failed.xml"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin token="Failed suite [OpenDS]"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin value="OpenDS"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <replace file="${unittest.report.dir}/testng-failed.xml"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin token="default(failed)"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin value="default"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin overwrite="true"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Generate coverage diff report -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </condition>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </condition>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </condition>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </condition>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- The SVN revision to perform the diff against when calculating
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin the coverage diff. It can be a revision number, a timestamp,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin or a revision keyword (BASE, COMMITTED, and PREV make the
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin most sense). The primary use case for this setting is to do
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin a coverage diff against the previous revision when there are
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin no changes in the working copy. It defaults to BASE. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <condition property="test.diff.from.revision" value="BASE">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </condition>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <taskdef name="coveragediff" classname="org.opends.build.tools.CoverageDiff">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </taskdef>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin outputpath="${cvgdiff.report.dir}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fromrevision="${test.diff.from.revision}" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Execute the Directory Server TestNG unit tests in text mode. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Execute Directory Server TestNG unit tests specified from CLI -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message="This target is deprecated. Please use the test target as it now supports the test.* properties." />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Execute all of the Directory Server TestNG unit tests in text mode. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin depends="enableTestNGAssertions,prepdefaultalltest,package,testinit,runtests"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin description="Run all of the TestNG tests (including 'slow' ones) with assertions enabled. See 'testwithcoverage' for properties you can set.">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Execute the Directory Server TestNG unit tests in text mode. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin depends="testinit,runtests"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 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.">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Execute the Directory Server TestNG unit tests in text mode with a coverage report. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin depends="coverage,test,coveragediff"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 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.">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Execute the Directory Server TestNG unit tests in text mode with a coverage report and slow tests. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin depends="coverage,testall,coveragediff"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin description="The same as 'testwithcoverage' except 'testall' is run instead of 'test'.">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Execute the Directory Server TestNG unit tests specified from CLI in text mode with a coverage report. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message="This target is deprecated. Please use the testwithcoverage target as it now supports the test.* properties." />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message="About to run the unit tests. Ant options to control the tests:"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" -Dorg.opends.test.suppressOutput=false"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" writes the unit test output to the screen"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" -Dorg.opends.test.pauseOnFailure=true"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" pauses the test suite whenever a failure occurs allowing you to inspect"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" the server more closely in the failure state"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" runs only the tests that failed last time"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" builds the server without the debug logging facility." />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" No debug logging messages will be included on test failures." />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" -Dorg.opends.test.debug.target=org.opends.server.core:level=verbose,category=data"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" for example only include debug messages in the core"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" package that are related to data access and at the" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" verbose level or higher. The syntax of this target" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" definition is the same as the org.opends.server.debug.target.x" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" org.opends.server:level=warning,category=caught|data|database-access|message|protocol" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" for example excludes the slow tests. Each value is expected" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" group inclusion/exclusion clause which consists of either 'include'" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" or 'exclude' followed by the '=' character and then a group name." />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" For multiple group clauses, separate them with a ',' and "/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" quote the entire value. Debug logging is disabled."/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" -Dtest.packages=org.opends.server.api"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" for example runs only the tests in the api package"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" For multiple packages, separate them with a ',' and "/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" quote the entire value. Debug logging is disabled."/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" -Dtest.classes=org.opends.server.types.TestDN"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" for example only runs the TestDN class"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" For multiple classes, separate them with a ',' and "/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" quote the entire value. Debug logging is disabled."/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" -Dtest.methods=org.opends.server.types.TestDN.testGetRDN"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" for example only runs the testGetRDN method"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" For multiple methods within the same class, append additional"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" method names to the end separating them with a ',' and "/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" quote the entire value. Debug logging is disabled."/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" -Dtest.diff.srcpath=src/server/org/opends/server/core"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" for example includes only the classes in"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" src/server/org/opends/server/core in the coveragediff report."/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" To list multiple directories or files, separate them with"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <echo message=" a space as you would an argument list to 'svn diff' and quote"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Internal target to execute the Directory Server TestNG unit tests in text mode after everything has been initialized. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </taskdef>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- This sets TESTASSERT to false if and only if it's not already set. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </condition>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- This sets org.opends.test.suppressOutput if and only if it's not
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin already set. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <condition property="org.opends.test.suppressOutput" value="true">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </condition>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- This sets org.opends.test.pauseOnFailure if and only if it's not
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin already set. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <condition property="org.opends.test.pauseOnFailure" value="false">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </condition>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- This sets org.opends.test.debug.target if and only if its's not
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin already set. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin value="org.opends.server:level=warning,category=caught|data|database_access|message|protocol">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </condition>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Cleanout the old reports. Otherwise, the old testng-failed.xml
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin will hang around even if all of the tests pass. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Our testng listener will remove this file if all of the
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin tests passed. This allows us to generate the coverage
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin report even if the tests failed and still fail the build. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <touch file="${unittest.report.dir}/.tests-failed-marker"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin haltonfailure="false"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin enableAssert="${TESTASSERT}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin listeners="org.opends.server.TestListener org.testng.reporters.FailedReporter"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin useDefaultListeners="false"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin suiteRunnerClass="org.opends.server.SuiteRunner">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Needed by quicksetup tests -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <jvmarg value="-Demma.coverage.out.file=${coverage.data.dir}/unit.emma" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <jvmarg value="-Dorg.opends.server.BuildRoot=${basedir}" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <jvmarg value="-Dorg.opends.server.RunningUnitTests=true" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <jvmarg value="-Dorg.opends.test.suppressOutput=${org.opends.test.suppressOutput}" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <jvmarg value="-Dorg.opends.test.pauseOnFailure=${org.opends.test.pauseOnFailure}" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <jvmarg value="-Dorg.opends.test.debug.target=${org.opends.test.debug.target}" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <xmlfileset dir="${unittest.resource.dir}" includes="testng.xml" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Our testng listener will create this file if any of the
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin tests failed. This allows us to generate the coverage
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin report even if the tests failed. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin file="${unittest.report.dir}/.tests-failed-marker"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Delete all of the report suite sub-directories since we only
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin have a single suite. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- We delay failing until after the coverage report is generated. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <fail message="The unit tests failed." if="testng.tests.failed"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </condition>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ! Previously a dependency of the nightly, all, testall and test targets.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ! Weaving is now disabled by default due to the excessive need for memory
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ! during weaving.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </condition>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin depends="test"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin description="Takes testng results and convert them into JUnit compatible xml">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <report format="noframes" todir="${unittest.report.dir}"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </junitreport>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin description="Builds the integration tests">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin description="Builds the build tools">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Set the amount of memory to use for the build -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </condition>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <javac srcdir="${buildtools.src.dir}" destdir="${buildtools.classes.dir}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin debug="on" debuglevel="${build.debuglevel}" source="1.5"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz memoryMaximumSize="${MEM}">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </fileset>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </classpath>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <jar jarfile="${build.dir}/build-tools/build-tools.jar"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin basedir="${buildtools.classes.dir}" compress="true" index="true" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Code generation for core administration components. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <target name="compileadmin" depends="validateadmin" description="Code generation for configuration Object.">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- The XSLT task creates a lot of noise.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin I can't find any other way to shut it up. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </condition>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </condition>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <exec executable="${ant.home}/bin/${antcmd}" failonerror="true">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Generate introspection API for core administration components. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <xslt basedir="${admin.defn.dir}" destdir="${admin.src.dir}" includes="**/*Configuration.xml" style="${admin.rules.dir}/metaMO.xsl">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <regexpmapper handledirsep="true" from="^(.*)/([^/]+)Configuration\.xml$$" to="\1/meta/\2CfgDefn.java" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <param name="base-dir" expression="${admin.defn.dir}" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <xslt basedir="${admin.defn.dir}" destdir="${admin.src.dir}" includes="**/Package.xml" style="${admin.rules.dir}/package-info.xsl">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <regexpmapper handledirsep="true" from="^(.*)/([^/]+)\.xml$$" to="\1/meta/package-info.java" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Generate client API for core administration components. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <xslt basedir="${admin.defn.dir}" destdir="${admin.src.dir}" includes="**/*Configuration.xml" style="${admin.rules.dir}/clientMO.xsl">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <regexpmapper handledirsep="true" from="^(.*)/([^/]+)Configuration\.xml$$" to="\1/client/\2CfgClient.java" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <param name="base-dir" expression="${admin.defn.dir}" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <xslt basedir="${admin.defn.dir}" destdir="${admin.src.dir}" includes="**/Package.xml" style="${admin.rules.dir}/package-info.xsl">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <regexpmapper handledirsep="true" from="^(.*)/([^/]+)\.xml$$" to="\1/client/package-info.java" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Generate server API for core administration components. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <xslt basedir="${admin.defn.dir}" destdir="${admin.src.dir}" includes="**/*Configuration.xml" style="${admin.rules.dir}/serverMO.xsl">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <regexpmapper handledirsep="true" from="^(.*)/([^/]+)Configuration\.xml$$" to="\1/server/\2Cfg.java" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <param name="base-dir" expression="${admin.defn.dir}" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <xslt basedir="${admin.defn.dir}" destdir="${admin.src.dir}" includes="**/Package.xml" style="${admin.rules.dir}/package-info.xsl">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <regexpmapper handledirsep="true" from="^(.*)/([^/]+)\.xml$$" to="\1/server/package-info.java" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Generate LDAP profile for core administration components. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <xslt basedir="${admin.defn.dir}" destdir="${classes.dir}/admin/profiles/ldap" includes="**/*Configuration.xml" style="${admin.rules.dir}/ldapMOProfile.xsl">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <regexpmapper handledirsep="true" from="^(.*)/([^/]+)Configuration\.xml$$" to="\1/meta/\2CfgDefn.properties" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <param name="base-dir" expression="${admin.defn.dir}" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Generate CLI profile for core administration components. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <xslt basedir="${admin.defn.dir}" destdir="${classes.dir}/admin/profiles/cli" includes="**/*Configuration.xml" style="${admin.rules.dir}/cliMOProfile.xsl">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <regexpmapper handledirsep="true" from="^(.*)/([^/]+)Configuration\.xml$$" to="\1/meta/\2CfgDefn.properties" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <param name="base-dir" expression="${admin.defn.dir}" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Generate I18N messages for core administration components. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <xslt basedir="${admin.defn.dir}" destdir="${classes.dir}/admin/messages" includes="**/*Configuration.xml" style="${admin.rules.dir}/messagesMO.xsl">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <regexpmapper handledirsep="true" from="^(.*)/([^/]+)Configuration\.xml$$" to="\1/meta/\2CfgDefn.properties" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <param name="base-dir" expression="${admin.defn.dir}" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Generate manifest file for core administration components. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <tempfile property="admin.temp.dir" destDir="${build.dir}" prefix="tmp" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <xslt basedir="${admin.defn.dir}" destdir="${admin.temp.dir}" extension=".manifest" includes="**/*Configuration.xml" style="${admin.rules.dir}/manifestMO.xsl"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <fileset dir="${admin.temp.dir}" includes="**/*.manifest" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Remove all dynamically-generated build files. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <target name="cleanadmin" description="Clean up any generated source files for admin">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Validate core administration component XML definition files. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <target name="validateadmin" description="Validate core administration component XML definition files.">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <schemavalidate>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <fileset dir="${admin.defn.dir}" includes="**/*.xml" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <schema namespace="http://www.opends.org/admin" file="${admin.rules.dir}/admin.xsd"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <schema namespace="http://www.opends.org/admin-ldap" file="${admin.rules.dir}/admin-ldap.xsd"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <schema namespace="http://www.opends.org/admin-cli" file="${admin.rules.dir}/admin-cli.xsd"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin </schemavalidate>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Generate a src.zip file containing all the server source. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin description="Generate a src.zip file with all the server source.">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <zipfileset dir="${src.dir}" excludes="**/.svn" filemode="644"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin dirmode="755" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <zipfileset dir="${admin.src.dir}" excludes="**/.svn" filemode="644"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin dirmode="755" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <zipfileset dir="${ads.src.dir}" excludes="**/.svn" filemode="644"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin dirmode="755" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <zipfileset dir="${quicksetup.src.dir}" excludes="**/.svn" filemode="644"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin dirmode="755" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <zipfileset dir="${statuspanel.src.dir}" excludes="**/.svn" filemode="644"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin dirmode="755" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Generate example plugin package. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Create folder hierarchy in temporary directory. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <tempfile property="plugin.temp.dir" destDir="${build.dir}" prefix="tmp"/>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <mkdir dir="${plugin.temp.dir}/example-plugin/src-generated" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <mkdir dir="${plugin.temp.dir}/example-plugin/resource" />
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin <mkdir dir="${plugin.temp.dir}/example-plugin/resource/admin" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <mkdir dir="${plugin.temp.dir}/example-plugin/resource/config" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <mkdir dir="${plugin.temp.dir}/example-plugin/resource/schema" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <fileset dir="${admin.defn.dir}" includes="**/*.xml" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <copy todir="${plugin.temp.dir}/example-plugin/resource/admin">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <fileset dir="${admin.rules.dir}" excludes="example-plugin/**" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <copy todir="${plugin.temp.dir}/example-plugin" file="${admin.rules.dir}/example-plugin/build.xml" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <copy todir="${plugin.temp.dir}/example-plugin" file="${admin.rules.dir}/example-plugin/README" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <copy todir="${plugin.temp.dir}/example-plugin/resource/schema" file="${admin.rules.dir}/example-plugin/99-example-plugin.ldif" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <copy todir="${plugin.temp.dir}/example-plugin/resource/config" file="${admin.rules.dir}/example-plugin/example-plugin.ldif" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <copy todir="${plugin.temp.dir}/example-plugin/src/com/example/opends">
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <fileset dir="${admin.rules.dir}/example-plugin" includes="*.java,*.xml" excludes="build.xml" />
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <!-- Package up the plugin in the OpenDS package folder. -->
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <zipfileset dir="${plugin.temp.dir}" filemode="644" dirmode="755" />