build.xml revision 3646
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 !
3215N/A ! Copyright 2006-2008 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
3012N/A <!-- Build JVM properties -->
3012N/A <property name="MEM" value="256M"/>
3381N/A
3349N/A <!-- Build OpenDMK properties -->
3349N/A <property file="build.properties"/>
3012N/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" />
3090N/A <property name="docgen.dir" location="${build.dir}/docgen" />
3090N/A <property name="configguide.dir" location="${docgen.dir}/configuration_guide" />
3214N/A <property name="configguideldap.dir" location="${docgen.dir}/configuration_guide_with_ldap_mapping" />
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 <property name="build.debuglevel" value="lines,vars,source" />
233N/A
712N/A <!-- Properties for build tools -->
1177N/A <property name="buildtools.src.dir" location="src/build-tools" />
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
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" />
2046N/A <property name="quicksetup.globalcompile.classes.dir"
2046N/A location="${classes.dir}/org/opends/quicksetup" />
1210N/A <property name="ads.src.dir" location="src/ads" />
2033N/A <property name="ads.classes.dir" location="${classes.dir}/org/opends/admin/ads"/>
712N/A
2033N/A <!-- Properties for use with the GUI Tools that go in OpenDS jar. -->
2046N/A <property name="guitools.src.dir" location="src/guitools" />
712N/A
675N/A <!-- Properties for coverage diff reports -->
675N/A <property name="cvgdiff.dir" location="build/diff" />
712N/A <property name="cvgdiff.report.dir"
675N/A location="${cvgdiff.dir}/report" />
567N/A
0N/A <!-- Properties for code coverage testing. -->
422N/A <property name="coverage.dir" location="build/coverage" />
712N/A <property name="coverage.report.dir"
422N/A location="${coverage.dir}/reports/unit" />
0N/A <property name="coverage.instr.dir"
422N/A location="${coverage.dir}/instrumentedcode" />
0N/A <property name="coverage.data.dir"
422N/A location="${coverage.dir}/gathereddata" />
0N/A
0N/A <!-- Properties for the EMMA code coverage tool. -->
0N/A <property name="emma.dir" location="${ext.dir}/emma/lib" />
0N/A
902N/A <!-- Properties for the AspectJ tools -->
902N/A <property name="aj.dir" location="${ext.dir}/aspectj" />
902N/A <property name="aj.lib.dir" location="${aj.dir}/lib" />
902N/A
0N/A <!-- Properties for the TestNG unit testing tool. -->
0N/A <property name="testng.dir" location="${ext.dir}/testng" />
0N/A <property name="testng.lib.dir" location="${testng.dir}/lib" />
0N/A
233N/A <!-- Properties for the ANT build tool. -->
233N/A <property name="ant.dir" location="${ext.dir}/ant" />
233N/A <property name="ant.lib.dir" location="${ant.dir}/lib" />
233N/A
730N/A <!-- Properties for the checkstyle tool. -->
730N/A <property name="checkstyle.dir" location="${ext.dir}/checkstyle" />
730N/A <property name="checkstyle.cache.dir" location=".checkstyle-cache" />
0N/A
729N/A <!-- Properties for the SVNKit tool. -->
729N/A <property name="svnkit.dir" location="${ext.dir}/svnkit" />
729N/A
0N/A <!-- Properties for Directory Server version information. -->
0N/A <property name="dynconstants.file"
0N/A location="${src.dir}/org/opends/server/util/DynamicConstants.java" />
110N/A <property name="dynconstants.stubfile"
110N/A location="${resource.dir}/DynamicConstants.java.stubs" />
121N/A
699N/A
0N/A <property file="PRODUCT" />
0N/A
1008N/A <!-- Properties for administration framework code generation. -->
1008N/A <property name="admin.defn.dir" location="src/admin/defn" />
1008N/A <property name="admin.src.dir" location="src/admin/generated" />
1008N/A <property name="admin.rules.dir" location="resource/admin" />
3214N/A <property name="configguide.resource.dir" location="resource/admin/config-guide" />
3381N/A
2086N/A <!-- Properties for generating messages. -->
3646N/A <property name="msg.dir" location="src/messages" />
3646N/A <property name="msg.prop.dir" location="${msg.dir}/messages" />
3646N/A <property name="msg.javagen.dir" location="${msg.dir}/generated" />
2086N/A <property name="msg.package.dir" location="${classes.dir}/messages" />
3646N/A <property name="msg.src.dir" location="${msg.dir}/src" />
1177N/A
3349N/A <!-- Properties for SNMP extension. -->
3349N/A <property name="snmp.mib.dir" location="src/snmp/resource/mib" />
3349N/A <property name="snmp.security.dir" location="src/snmp/resource/security" />
3349N/A <property name="snmp.config.dir" location="src/snmp/resource/config" />
3349N/A <property name="snmp.gen.dir" location="src/snmp/generated" />
3349N/A <property name="snmp.src.dir" location="src/snmp/src" />
3381N/A
3381N/A <property name="snmp.classes.dir"
3349N/A location="${classes.dir}/org/opends/server/snmp" />
3381N/A
0N/A <!-- Create a package bundle containing the DSML library. -->
0N/A <target name="dsml" depends="predsml,package"
0N/A description="Build a Directory Server package bundle with DSML.">
0N/A </target>
3381N/A
3381N/A
3381N/A
3381N/A
0N/A <!-- The build target that should be used before committing code. -->
1344N/A <target name="precommit" depends="checkstyle,clean,checkprecommit,dsml,testwithcoverage"
1177N/A description="Perform all processing needed before committing code.">
1177N/A </target>
0N/A
0N/A
3381N/A
3381N/A
0N/A <!-- The build target that should be used for nightly builds. -->
0N/A <target name="nightly"
3090N/A depends="checkstyle,dsml,srczip,javadoc,docgen,coverage,testallwithcoverage"
1177N/A description="Perform all processing needed for nightly builds.">
1177N/A </target>
0N/A
0N/A
0N/A
0N/A
0N/A <!-- The build target that should be used for weekly builds. -->
0N/A <target name="weekly" depends="nightly"
1177N/A description="Perform all processing needed for weekly builds.">
1177N/A </target>
0N/A
0N/A
3381N/A
3381N/A
0N/A <!-- The build target that should be used to build everything. -->
0N/A <target name="all"
3090N/A depends="checkstyle,clean,checkprecommit,dsml,srczip,javadoc,docgen,testallwithcoverage"
1177N/A description="Build using all defined targets.">
1177N/A </target>
0N/A
0N/A
2086N/A <target name="generatemessages" depends="buildtools">
2086N/A <typedef name="genmsg"
2086N/A classname="org.opends.build.tools.GenerateMessageFile" >
2086N/A <classpath>
2086N/A <fileset dir="${build.dir}/build-tools">
2086N/A <include name="*.jar" />
2086N/A </fileset>
2086N/A </classpath>
2086N/A </typedef>
2086N/A <!--
2086N/A <genmsg sourceProps="${msg.prop.dir}/xxx.properties"
2086N/A destJava="${msg.javagen.dir}/org/opends/messages/XxxMessages.java">
2086N/A </genmsg>
2086N/A -->
2086N/A <genmsg sourceProps="${msg.prop.dir}/access_control.properties"
2086N/A destJava="${msg.javagen.dir}/org/opends/messages/AccessControlMessages.java">
2086N/A </genmsg>
2086N/A <genmsg sourceProps="${msg.prop.dir}/admin.properties"
2086N/A destJava="${msg.javagen.dir}/org/opends/messages/AdminMessages.java">
2086N/A </genmsg>
2086N/A <genmsg sourceProps="${msg.prop.dir}/admin_tool.properties"
2086N/A destJava="${msg.javagen.dir}/org/opends/messages/AdminToolMessages.java">
2086N/A </genmsg>
2086N/A <genmsg sourceProps="${msg.prop.dir}/backend.properties"
2086N/A destJava="${msg.javagen.dir}/org/opends/messages/BackendMessages.java">
2086N/A </genmsg>
2086N/A <genmsg sourceProps="${msg.prop.dir}/config.properties"
2086N/A destJava="${msg.javagen.dir}/org/opends/messages/ConfigMessages.java">
2086N/A </genmsg>
2086N/A <genmsg sourceProps="${msg.prop.dir}/core.properties"
2086N/A destJava="${msg.javagen.dir}/org/opends/messages/CoreMessages.java">
2086N/A </genmsg>
2284N/A <genmsg sourceProps="${msg.prop.dir}/dsconfig.properties"
2284N/A destJava="${msg.javagen.dir}/org/opends/messages/DSConfigMessages.java">
2284N/A </genmsg>
2086N/A <genmsg sourceProps="${msg.prop.dir}/extension.properties"
2086N/A destJava="${msg.javagen.dir}/org/opends/messages/ExtensionMessages.java">
2086N/A </genmsg>
2086N/A <genmsg sourceProps="${msg.prop.dir}/jeb.properties"
2086N/A destJava="${msg.javagen.dir}/org/opends/messages/JebMessages.java">
2086N/A </genmsg>
2086N/A <genmsg sourceProps="${msg.prop.dir}/log.properties"
2086N/A destJava="${msg.javagen.dir}/org/opends/messages/LoggerMessages.java">
2086N/A </genmsg>
2086N/A <genmsg sourceProps="${msg.prop.dir}/plugin.properties"
2086N/A destJava="${msg.javagen.dir}/org/opends/messages/PluginMessages.java">
2086N/A </genmsg>
2086N/A <genmsg sourceProps="${msg.prop.dir}/protocol.properties"
2086N/A destJava="${msg.javagen.dir}/org/opends/messages/ProtocolMessages.java">
2086N/A </genmsg>
2086N/A <genmsg sourceProps="${msg.prop.dir}/quicksetup.properties"
2086N/A destJava="${msg.javagen.dir}/org/opends/messages/QuickSetupMessages.java">
2086N/A </genmsg>
2086N/A <genmsg sourceProps="${msg.prop.dir}/replication.properties"
2086N/A destJava="${msg.javagen.dir}/org/opends/messages/ReplicationMessages.java">
2086N/A </genmsg>
2086N/A <genmsg sourceProps="${msg.prop.dir}/schema.properties"
2086N/A destJava="${msg.javagen.dir}/org/opends/messages/SchemaMessages.java">
2086N/A </genmsg>
2086N/A <genmsg sourceProps="${msg.prop.dir}/task.properties"
2086N/A destJava="${msg.javagen.dir}/org/opends/messages/TaskMessages.java">
2086N/A </genmsg>
2086N/A <genmsg sourceProps="${msg.prop.dir}/tools.properties"
2086N/A destJava="${msg.javagen.dir}/org/opends/messages/ToolMessages.java">
2086N/A </genmsg>
2086N/A <genmsg sourceProps="${msg.prop.dir}/utility.properties"
2086N/A destJava="${msg.javagen.dir}/org/opends/messages/UtilityMessages.java">
2086N/A </genmsg>
2086N/A <genmsg sourceProps="${msg.prop.dir}/version.properties"
2086N/A destJava="${msg.javagen.dir}/org/opends/messages/VersionMessages.java">
2086N/A </genmsg>
3034N/A <genmsg sourceProps="${msg.prop.dir}/runtime_information.properties"
3034N/A destJava="${msg.javagen.dir}/org/opends/messages/RuntimeMessages.java">
3034N/A </genmsg>
2086N/A </target>
0N/A
0N/A
0N/A <!-- Remove all dynamically-generated build files. -->
3349N/A <target name="clean" depends="cleanadmin,cleanmessages,cleansnmp"
0N/A description="Clean up any files generated during the build process">
0N/A
2342N/A <delete dir="${build.dir}" />
1008N/A <delete file="${dynconstants.file}" />
1008N/A <fileset dir="${lib.dir}">
1008N/A <include name="*.jar" />
1008N/A </fileset>
0N/A </target>
0N/A
0N/A
1177N/A
121N/A <!-- Perform common initialization common to several targets after cleaning out the previous build environment. -->
1177N/A <target name="cleaninit" depends="clean,init">
1177N/A </target>
1177N/A
0N/A
0N/A
1273N/A <!-- Set the property valid.java.version if the java version is valid. -->
1273N/A <target name="validjavaversion"
1273N/A depends="buildtools" >
1273N/A
1273N/A <property name="min.java.version" value="1.5.0_08" />
1273N/A
1273N/A <typedef name="validjavaversion"
1273N/A classname="org.opends.build.tools.ValidJavaVersion" >
1273N/A <classpath>
1273N/A <fileset dir="${build.dir}/build-tools">
1273N/A <include name="*.jar" />
1273N/A </fileset>
1273N/A </classpath>
1273N/A </typedef>
1273N/A
1273N/A <condition property="valid.java.version">
1273N/A <validjavaversion minVersion="${min.java.version}" />
1273N/A </condition>
1273N/A
1273N/A </target>
1273N/A
1273N/A <!-- Warn if the build java version is too old. -->
1273N/A <target name="checkjavaversion"
1273N/A depends="validjavaversion"
1273N/A unless="valid.java.version" >
1273N/A <echo level="warning"
1273N/A message="WARNING: Java version ${java.version} is too old."/>
1273N/A <echo level="warning"
1960N/A message="Java version ${min.java.version} or later is required to build ${SHORT_NAME}."/>
1273N/A </target>
1273N/A
0N/A <!-- Perform common initialization common to several targets. -->
121N/A <target name="init">
1177N/A
1177N/A <path id="run.classpath">
1177N/A <pathelement location="${classes.dir}" />
1177N/A </path>
1177N/A
1559N/A <path id="quickSetup.classpath">
1559N/A <pathelement location="${quicksetup.classes.dir}" />
1559N/A </path>
3381N/A
0N/A <tstamp>
1234N/A <format property="timestamp" pattern="yyyyMMddHHmmss'Z'"
1234N/A timezone="UTC" />
0N/A </tstamp>
0N/A
984N/A <condition property="DEBUG_BUILD" value="false">
0N/A <not>
0N/A <isset property="DEBUG_BUILD" />
0N/A </not>
0N/A </condition>
0N/A
984N/A <condition property="WEAVE_ENABLED" value="false">
984N/A <not>
984N/A <isset property="WEAVE_ENABLED" />
984N/A </not>
902N/A </condition>
902N/A
0N/A
0N/A
0N/A <!--
0N/A ! For some reason, some Apple VMs put quotes around the value of the
0N/A ! java.vm.vendor property, which wreaks havoc with DynamicConstants. This
0N/A ! pair of conditions attempts to work around that by detecting the quote
0N/A ! and surrounding the value with backslashes.
0N/A ! -->
0N/A <condition property="JVM_VENDOR" value="Apple Computer">
0N/A <contains string="${java.vm.vendor}" substring="Apple Computer"
0N/A casesensitive="false" />
0N/A </condition>
0N/A
0N/A <condition property="JVM_VENDOR" value="${java.vm.vendor}">
0N/A <not>
0N/A <isset property="JVM_VENDOR" />
0N/A </not>
0N/A </condition>
3381N/A
3349N/A <condition property="isopendmkpresent">
3349N/A <or>
3349N/A <and>
3349N/A <available file="${opendmk.lib.dir}/jdmkrt.jar"/>
3349N/A <available file="${opendmk.lib.dir}/jdmktk.jar"/>
3349N/A </and>
3349N/A <and>
3349N/A <available file="${ext.dir}/jdmkrt.jar"/>
3349N/A <available file="${ext.dir}/jdmktk.jar"/>
3349N/A </and>
3349N/A </or>
3349N/A </condition>
3381N/A
729N/A </target>
729N/A
729N/A
729N/A
729N/A
729N/A <!-- Build the DynamicConstants.java file and any of its dependencies. -->
729N/A <target name="dynamicconstants" depends="init,buildtools">
729N/A <!-- Get the revision number of the current Subversion workspace -->
729N/A <taskdef name="getsvnrevision"
729N/A classname="org.opends.build.tools.GetSubversionRevision">
729N/A <classpath>
729N/A <fileset dir="${build.dir}/build-tools">
729N/A <include name="*.jar" />
729N/A </fileset>
729N/A <fileset dir="${svnkit.dir}">
729N/A <include name="*.jar" />
729N/A </fileset>
729N/A </classpath>
729N/A </taskdef>
729N/A
729N/A <getsvnrevision property="REVISION_NUMBER" />
0N/A
0N/A
1344N/A <!-- Construct the version number string -->
1344N/A <taskdef name="getversionnumber"
1344N/A classname="org.opends.build.tools.CreateVersionString">
1344N/A <classpath>
1344N/A <fileset dir="${build.dir}/build-tools">
1344N/A <include name="*.jar" />
1344N/A </fileset>
1344N/A </classpath>
1344N/A </taskdef>
1344N/A
1344N/A <getversionnumber property="VERSION_NUMBER_STRING" />
1344N/A
1344N/A
109N/A <!-- Generate the DynamicConstants.java file.
109N/A Be warned that the .stubs file references the following properties
109N/A PRODUCT_NAME, SHORT_NAME, MAJOR_VERSION, MINOR_VERSION, POINT_VERSION,
109N/A VERSION_QUALIFIER, FIX_IDS, timestamp, user.name, java.version,
984N/A java.vendor, java.vm.version, JVM_VENDOR, DEBUG_BUILD, REVISION_NUMBER,
1344N/A WEAVE_ENABLED, VERSION_NUMBER_STRING
109N/A If you change the name of any of those properties in this build.xml
1238N/A you'll need to reflect the same change in the .stubs file
109N/A -->
1344N/A <condition property="BUILD_NUMBER" value="-1">
1344N/A <not>
1344N/A <isset property="BUILD_NUMBER" />
1344N/A </not>
1344N/A </condition>
1344N/A
110N/A <copy file="${dynconstants.stubfile}"
109N/A tofile="${dynconstants.file}"
109N/A overwrite="true" >
109N/A <filterchain>
109N/A <expandproperties/>
109N/A </filterchain>
109N/A </copy>
0N/A </target>
0N/A
0N/A
0N/A
0N/A
1344N/A <!-- Check modified files to see if any svn:eol-style or copyright updates
1344N/A are needed. -->
1344N/A <target name="checkprecommit" depends="buildtools"
1344N/A description="Ensure updated files eol-style and copyright info">
1344N/A <taskdef name="checkprecommit"
1344N/A classname="org.opends.build.tools.CheckPrecommit">
729N/A <classpath>
729N/A <fileset dir="${build.dir}/build-tools">
729N/A <include name="*.jar" />
729N/A </fileset>
729N/A <fileset dir="${svnkit.dir}">
729N/A <include name="*.jar" />
729N/A </fileset>
729N/A </classpath>
729N/A </taskdef>
729N/A
1344N/A <checkprecommit />
729N/A </target>
729N/A
729N/A
729N/A
0N/A <!-- Ensure that the source code meets basic style requirements. -->
0N/A <target name="checkstyle" description="Perform basic source style checks">
730N/A <mkdir dir="${checkstyle.cache.dir}" />
0N/A
0N/A <taskdef resource="checkstyletask.properties"
0N/A classpath="${checkstyle.dir}/checkstyle-all-4.1.jar" />
567N/A
662N/A <checkstyle config="${checkstyle.dir}/opends-checkstyle.xml"
0N/A failOnViolation="true">
2086N/A <fileset dir="${src.dir}">
2086N/A <include name="**/*.java"/>
2086N/A <exclude name="**/PublicAPI.java" />
2086N/A </fileset>
2086N/A <formatter type="plain" />
2086N/A </checkstyle>
2086N/A
2086N/A <checkstyle config="${checkstyle.dir}/opends-checkstyle.xml"
2086N/A failOnViolation="true">
2086N/A <fileset dir="${msg.src.dir}" includes="**/*.java" />
0N/A <formatter type="plain" />
0N/A </checkstyle>
662N/A
1210N/A <checkstyle config="${checkstyle.dir}/opends-checkstyle.xml"
1210N/A failOnViolation="true">
1210N/A <fileset dir="${ads.src.dir}" includes="**/*.java" />
1210N/A <formatter type="plain" />
1210N/A </checkstyle>
1210N/A
567N/A <checkstyle config="${checkstyle.dir}/opends-checkstyle.xml"
567N/A failOnViolation="true">
3387N/A <fileset dir="${snmp.src.dir}" includes="**/*.java" />
3387N/A <formatter type="plain" />
3387N/A </checkstyle>
3387N/A
3387N/A <checkstyle config="${checkstyle.dir}/opends-checkstyle.xml"
3387N/A failOnViolation="true">
567N/A <fileset dir="${quicksetup.src.dir}" includes="**/*.java" />
563N/A <formatter type="plain" />
567N/A </checkstyle>
712N/A
712N/A <checkstyle config="${checkstyle.dir}/opends-checkstyle.xml"
730N/A failOnViolation="true">
2033N/A <fileset dir="${guitools.src.dir}" includes="**/*.java" />
712N/A <formatter type="plain" />
712N/A </checkstyle>
0N/A
3381N/A <checkstyle config="${checkstyle.dir}/opends-checkstyle.xml"
3381N/A failOnViolation="true">
3381N/A <fileset dir="${dsml.src.dir}" includes="**/*.java" />
3381N/A <formatter type="plain" />
3381N/A </checkstyle>
3381N/A
0N/A <checkstyle config="${checkstyle.dir}/opends-doctarget-checkstyle.xml"
0N/A failOnViolation="true">
0N/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"
2058N/A includes="**/*.java" excludes="**/PublicAPI.java"/>
0N/A <formatter type="plain" />
0N/A </checkstyle>
114N/A
114N/A <checkstyle config="${checkstyle.dir}/opends-unittest-checkstyle.xml"
114N/A failOnViolation="true">
114N/A <fileset dir="${unittest.testng.src.dir}" includes="**/*.java" />
114N/A <formatter type="plain" />
114N/A </checkstyle>
0N/A </target>
0N/A
0N/A
0N/A
121N/A <!-- Compile the Directory Server source files. -->
729N/A <target name="cleancompile"
2033N/A depends="cleaninit,compilequicksetup,weave"
121N/A description="Recompile the Directory Server source files.">
121N/A </target>
1210N/A
0N/A <!-- Compile the Directory Server source files. -->
121N/A <target name="compile"
2086N/A depends="init,checkjavaversion,dynamicconstants,generatemessages,compileadmin"
0N/A description="Compile the Directory Server source files.">
0N/A <mkdir dir="${classes.dir}" />
0N/A
2095N/A <javac srcdir="${src.dir}:${admin.src.dir}:${msg.src.dir}:${msg.javagen.dir}:${ads.src.dir}:${quicksetup.src.dir}:${guitools.src.dir}"
2095N/A destdir="${classes.dir}" debug="on" debuglevel="${build.debuglevel}"
2095N/A source="1.5" target="1.5" deprecation="true" fork="true"
2095N/A memoryInitialSize="${MEM}" memoryMaximumSize="${MEM}">
0N/A <compilerarg value="-Xlint:all" />
0N/A
0N/A <classpath>
0N/A <fileset dir="${lib.dir}">
0N/A <include name="*.jar" />
0N/A </fileset>
2046N/A <fileset dir="${build.dir}/build-tools">
2033N/A <include name="build-tools.jar" />
2046N/A </fileset>
0N/A </classpath>
0N/A </javac>
1607N/A
1607N/A <copy todir="${classes.dir}">
1607N/A <fileset dir="${src.dir}" includes="**/*.properties" />
2033N/A <fileset dir="${quicksetup.src.dir}" includes="**/*.properties, **/*.gif, **/*.png" />
2033N/A <fileset dir="${guitools.src.dir}" includes="**/*.properties, **/*.gif, **/*.png" />
1607N/A </copy>
0N/A </target>
0N/A
1177N/A
1177N/A
984N/A <target name="prepweave">
984N/A <condition property="weave.enabled" value="true">
984N/A <equals arg1="${WEAVE_ENABLED}" arg2="true" />
984N/A </condition>
984N/A </target>
984N/A
1177N/A
1177N/A
2033N/A <target name="weave" if="weave.enabled" depends="prepweave">
1149N/A <echo message=" Weaving the source code with automatic AspectJ debug logging."/>
1149N/A <echo message=" Build with -DWEAVE_ENABLED=false to turn this off."/>
902N/A <taskdef resource="org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties">
902N/A <classpath>
902N/A <pathelement location="${aj.lib.dir}/aspectjtools.jar" />
902N/A </classpath>
902N/A </taskdef>
902N/A
902N/A <iajc inpath="${classes.dir}" destdir="${classes.dir}"
1083N/A debug="true" debuglevel="${build.debuglevel}" source="1.5" target="1.5"
902N/A deprecation="true" fork="true" maxmem="${MEM}">
902N/A <classpath>
902N/A <fileset dir="${lib.dir}">
902N/A <include name="*.jar" />
902N/A </fileset>
902N/A </classpath>
902N/A </iajc>
902N/A </target>
902N/A
902N/A
1177N/A
567N/A <!-- Compile the Quick Setup source files. -->
1559N/A <target name="compilequicksetup" depends="buildtools,compile"
567N/A description="Compile the Quick Setup source files.">
567N/A <mkdir dir="${quicksetup.classes.dir}" />
1210N/A <javac srcdir="${ads.src.dir}" destdir="${quicksetup.classes.dir}"
1210N/A optimize="true" debug="on" debuglevel="lines,source" source="1.5"
1210N/A target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
1210N/A memoryMaximumSize="${MEM}">
1210N/A <compilerarg value="-Xlint:all" />
1210N/A <classpath>
1210N/A <fileset dir="${build.dir}/build-tools">
1210N/A <include name="build-tools.jar" />
1210N/A </fileset>
1210N/A <pathelement path="${classes.dir}"/>
1210N/A </classpath>
1210N/A </javac>
2115N/A <javac srcdir="${src.dir}:${msg.src.dir}:${msg.javagen.dir}" destdir="${quicksetup.classes.dir}"
1083N/A debug="on" debuglevel="${build.debuglevel}" source="1.5"
1008N/A target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
1008N/A memoryMaximumSize="${MEM}">
1008N/A <include name="**/org/opends/server/util/SetupUtils.java"/>
1210N/A <include name="**/org/opends/server/util/CertificateManager.java"/>
1008N/A <include name="**/org/opends/server/util/DynamicConstants.java"/>
1008N/A <include name="**/org/opends/server/types/OperatingSystem.java"/>
2086N/A <include name="**/org/opends/messages/Message.java"/>
2115N/A <include name="**/org/opends/messages/MessageBuilder.java"/>
2086N/A <include name="**/org/opends/messages/MessageDescriptor.java"/>
2086N/A <include name="**/org/opends/messages/Severity.java"/>
2086N/A <include name="**/org/opends/messages/Category.java"/>
2115N/A <include name="**/org/opends/messages/QuickSetupMessages.java"/>
2115N/A <include name="**/org/opends/server/types/OpenDsException.java"/>
2115N/A <compilerarg value="-Xlint:all" />
1008N/A </javac>
1008N/A <javac srcdir="${quicksetup.src.dir}" destdir="${quicksetup.classes.dir}"
1083N/A debug="on" debuglevel="${build.debuglevel}" source="1.5"
567N/A target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
567N/A memoryMaximumSize="${MEM}">
567N/A <compilerarg value="-Xlint:all" />
0N/A
567N/A <classpath>
567N/A <fileset dir="${build.dir}/build-tools">
567N/A <include name="build-tools.jar" />
567N/A </fileset>
567N/A <pathelement path="${classes.dir}"/>
567N/A </classpath>
567N/A </javac>
567N/A <copy todir="${quicksetup.classes.dir}">
567N/A <fileset dir="${quicksetup.src.dir}"
567N/A includes="**/*.properties, **/*.gif, **/*.png" />
567N/A </copy>
2115N/A <mkdir dir="${quicksetup.classes.dir}/messages" />
2115N/A <copy todir="${quicksetup.classes.dir}/messages">
2115N/A <fileset dir="${msg.prop.dir}"
2115N/A includes="**/quicksetup.properties" />
2115N/A </copy>
2556N/A
563N/A </target>
712N/A
1177N/A
2710N/A
2710N/A <!-- copy the message properties files -->
2710N/A <target name="copymessages">
2710N/A <mkdir dir="${msg.package.dir}"/>
2710N/A <copy todir="${msg.package.dir}">
2710N/A <fileset dir="${msg.prop.dir}"/>
2710N/A </copy>
2710N/A </target>
2710N/A
2710N/A
2710N/A
0N/A <!--
563N/A ! Rebuild the Directory Server without destroying any existing configuration
0N/A ! or data. It will only overwrite the libraries, classes, and scripts, and
0N/A ! it will not re-package. It will also not do a complete initialization, so
0N/A ! DynamicConstants.java won't be regenerated.
0N/A ! -->
2143N/A <target name="rebuild" depends="generatemessages"
0N/A description="Rebuild the server without destroying config or data.">
0N/A
1362N/A <!-- Construct the version number string -->
1362N/A <taskdef name="getversionnumber"
1362N/A classname="org.opends.build.tools.CreateVersionString">
1362N/A <classpath>
1362N/A <fileset dir="${build.dir}/build-tools">
1362N/A <include name="*.jar" />
1362N/A </fileset>
1362N/A </classpath>
1362N/A </taskdef>
1362N/A
1362N/A <getversionnumber property="VERSION_NUMBER_STRING" />
1362N/A
0N/A <!-- Set properties needed to find the packaged files -->
0N/A <property name="pdir"
1960N/A location="${package.dir}/${SHORT_NAME}-${VERSION_NUMBER_STRING}" />
0N/A
0N/A <!-- Clean up a minimal set of files/directories for the rebuild. -->
0N/A <delete dir="${classes.dir}" />
1960N/A <delete file="${package.dir}/lib/${SHORT_NAME}.jar" />
0N/A <delete file="${pdir}.zip" />
563N/A <delete dir="${quicksetup.classes.dir}" />
563N/A <delete file="${package.dir}/lib/quicksetup.jar" />
712N/A
1008N/A <!-- Regenerate configuration files if necessary -->
1008N/A <antcall target="compileadmin" />
1008N/A
0N/A <!-- Recreate the classes directory and recompile into it. -->
0N/A <mkdir dir="${classes.dir}" />
2098N/A <javac srcdir="${src.dir}:${msg.src.dir}:${msg.javagen.dir}:${admin.src.dir}:${ads.src.dir}:${quicksetup.src.dir}:${guitools.src.dir}"
1557N/A destdir="${classes.dir}"
1083N/A debug="on" debuglevel="${build.debuglevel}" 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
0N/A <classpath>
0N/A <fileset dir="${lib.dir}">
0N/A <include name="*.jar" />
0N/A </fileset>
2046N/A <fileset dir="${build.dir}/build-tools">
2033N/A <include name="build-tools.jar" />
2046N/A </fileset>
0N/A </classpath>
0N/A </javac>
3381N/A
1607N/A <copy todir="${classes.dir}">
1607N/A <fileset dir="${src.dir}" includes="**/*.properties" />
2046N/A <fileset dir="${quicksetup.src.dir}" includes="**/*.properties, **/*.gif, **/*.png" />
2033N/A <fileset dir="${guitools.src.dir}" includes="**/*.properties, **/*.gif, **/*.png" />
1607N/A </copy>
1607N/A
2086N/A <!-- copy the message properties files -->
2710N/A <antcall target="copymessages" />
2086N/A
2122N/A <!-- copy the message descriptor registry file -->
2122N/A <copy todir="${classes.dir}/org/opends/messages"
2122N/A file="${msg.javagen.dir}/org/opends/messages/descriptors.reg" />
2122N/A
0N/A <!-- Generate the OpenDS.jar file -->
1960N/A <jar jarfile="${pdir}/lib/${SHORT_NAME}.jar"
2033N/A basedir="${classes.dir}"
2046N/A excludes="${ads.classes.dir}, ${quicksetup.globalcompile.classes.dir}"
2046N/A compress="true" index="true" />
712N/A
563N/A <!-- Recreate the quicksetup classes directory and recompile into it. -->
563N/A <mkdir dir="${quicksetup.classes.dir}" />
1210N/A <javac srcdir="${ads.src.dir}" destdir="${quicksetup.classes.dir}"
1210N/A optimize="true" debug="on" debuglevel="lines,source" source="1.5"
1210N/A target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
1210N/A memoryMaximumSize="${MEM}">
1210N/A <compilerarg value="-Xlint:all" />
1210N/A <classpath>
1210N/A <fileset dir="${build.dir}/build-tools">
1210N/A <include name="build-tools.jar" />
1210N/A </fileset>
1210N/A <pathelement path="${classes.dir}"/>
1210N/A </classpath>
1210N/A </javac>
1008N/A <javac srcdir="${src.dir}" destdir="${quicksetup.classes.dir}"
1083N/A debug="on" debuglevel="${build.debuglevel}" source="1.5"
1008N/A target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
1008N/A memoryMaximumSize="${MEM}">
1008N/A <include name="**/org/opends/server/util/SetupUtils.java"/>
1210N/A <include name="**/org/opends/server/util/CertificateManager.java"/>
1008N/A <include name="**/org/opends/server/util/DynamicConstants.java"/>
1008N/A <include name="**/org/opends/server/types/OperatingSystem.java"/>
1008N/A <compilerarg value="-Xlint:all" />
1008N/A </javac>
1083N/A <javac srcdir="${quicksetup.src.dir}" destdir="${quicksetup.classes.dir}"
1083N/A debug="on" debuglevel="${build.debuglevel}" source="1.5" target="1.5"
563N/A deprecation="true" fork="true" memoryInitialSize="${MEM}"
563N/A memoryMaximumSize="${MEM}">
1008N/A <compilerarg value="-Xlint:all" />
1008N/A <classpath>
1008N/A <fileset dir="${build.dir}/build-tools">
1008N/A <include name="build-tools.jar" />
1008N/A </fileset>
1008N/A <fileset dir="${pdir}/lib">
1960N/A <include name="${SHORT_NAME}.jar" />
1008N/A </fileset>
1008N/A </classpath>
563N/A </javac>
563N/A
563N/A <copy todir="${quicksetup.classes.dir}">
1008N/A <fileset dir="${quicksetup.src.dir}"
563N/A includes="**/*.properties, **/*.gif, **/*.png"/>
563N/A </copy>
563N/A
563N/A <!-- Generate the quicksetup.jar file -->
563N/A <jar jarfile="${pdir}/lib/quicksetup.jar"
563N/A basedir="${quicksetup.classes.dir}" compress="true" index="true" />
712N/A
1008N/A <!-- Regenerate example plugin. -->
1008N/A <antcall target="example-plugin" />
0N/A </target>
0N/A
0N/A
3214N/A <!-- Generate the Configuration guides. -->
3214N/A <target name="docgen" depends="configguide,configguideldap"
3214N/A description="Generate the Configuration guides (1 standard + 1 with ldap mapping) (html).">
3381N/A </target>
3381N/A
3214N/A <!-- Generate the Standard Configuration guide. -->
3214N/A <target name="configguide" depends="compile,copymessages"
3214N/A description="Generate the Configuration guide (standard) (html).">
3090N/A <mkdir dir="${configguide.dir}" />
3214N/A <!-- copy the resource files -->
3214N/A <copy todir="${configguide.dir}">
3214N/A <fileset file="${configguide.resource.dir}/*" />
3214N/A </copy>
3090N/A <java fork="true" classname="org.opends.server.admin.doc.ConfigGuideGeneration" failonerror="true">
3090N/A <classpath>
3090N/A <fileset dir="${lib.dir}">
3090N/A <include name="*.jar" />
3090N/A </fileset>
3090N/A <dirset dir="${classes.dir}" />
3090N/A </classpath>
3214N/A <jvmarg value="-DGenerationDir=${configguide.dir}"/>
3381N/A </java>
3214N/A </target>
3214N/A
3214N/A <!-- Generate the Configuration guide with LDAP mapping. -->
3214N/A <target name="configguideldap" depends="compile,copymessages"
3214N/A description="Generate the Configuration guide (with LDAP mapping) (html).">
3214N/A <mkdir dir="${configguideldap.dir}" />
3214N/A <!-- copy the resource files -->
3214N/A <copy todir="${configguideldap.dir}">
3214N/A <fileset file="${configguide.resource.dir}/*" />
3214N/A </copy>
3214N/A <java fork="true" classname="org.opends.server.admin.doc.ConfigGuideGeneration" failonerror="true">
3214N/A <classpath>
3214N/A <fileset dir="${lib.dir}">
3214N/A <include name="*.jar" />
3214N/A </fileset>
3214N/A <dirset dir="${classes.dir}" />
3214N/A </classpath>
3214N/A <jvmarg value="-DGenerationDir=${configguideldap.dir}"/>
3214N/A <jvmarg value="-DLdapMapping"/>
3381N/A </java>
3090N/A </target>
0N/A
0N/A <!-- Populate the Directory Server package, but don't zip it up. -->
121N/A <target name="prepackage" depends="cleancompile"
0N/A description="Prepare the Directory Server package structure.">
0N/A <property name="pdir"
1960N/A location="${package.dir}/${SHORT_NAME}-${VERSION_NUMBER_STRING}" />
0N/A
2556N/A <mkdir dir="${pdir}" />
2556N/A <mkdir dir="${pdir}/bak" />
2556N/A <mkdir dir="${pdir}/bat" />
2556N/A <mkdir dir="${pdir}/bin" />
2556N/A <mkdir dir="${pdir}/classes" />
2556N/A <mkdir dir="${pdir}/config" />
2556N/A <mkdir dir="${pdir}/config/upgrade" />
2556N/A <mkdir dir="${pdir}/config/schema" />
2556N/A <mkdir dir="${pdir}/config/messages" />
2556N/A <mkdir dir="${pdir}/config/MakeLDIF" />
3349N/A <mkdir dir="${pdir}/config/snmp/security" />
2556N/A <mkdir dir="${pdir}/db" />
3108N/A <mkdir dir="${pdir}/import-tmp" />
2556N/A <mkdir dir="${pdir}/changelogDb" />
2556N/A <mkdir dir="${pdir}/ldif" />
2556N/A <mkdir dir="${pdir}/legal-notices" />
2556N/A <mkdir dir="${pdir}/lib" />
2556N/A <mkdir dir="${pdir}/lib/extensions" />
2556N/A <mkdir dir="${pdir}/locks" />
2556N/A <mkdir dir="${pdir}/logs" />
2556N/A <mkdir dir="${pdir}/bin/StatusPanel.app" />
2556N/A <mkdir dir="${pdir}/bin/StatusPanel.app/Contents" />
2556N/A <mkdir dir="${pdir}/bin/StatusPanel.app/Contents/MacOS" />
2556N/A <mkdir dir="${pdir}/bin/StatusPanel.app/Contents/Resources" />
2556N/A <mkdir dir="${pdir}/bin/StatusPanel.app/Contents/Resources/Java" />
2556N/A <mkdir dir="${pdir}/QuickSetup.app" />
2556N/A <mkdir dir="${pdir}/QuickSetup.app/Contents" />
2556N/A <mkdir dir="${pdir}/QuickSetup.app/Contents/MacOS" />
2556N/A <mkdir dir="${pdir}/QuickSetup.app/Contents/Resources" />
2556N/A <mkdir dir="${pdir}/QuickSetup.app/Contents/Resources/Java" />
2556N/A <mkdir dir="${pdir}/Uninstall.app" />
2556N/A <mkdir dir="${pdir}/Uninstall.app/Contents" />
2556N/A <mkdir dir="${pdir}/Uninstall.app/Contents/MacOS" />
2556N/A <mkdir dir="${pdir}/Uninstall.app/Contents/Resources" />
2556N/A <mkdir dir="${pdir}/Uninstall.app/Contents/Resources/Java" />
0N/A
2086N/A
2086N/A <!-- copy the message properties files -->
2710N/A <antcall target="copymessages" />
2086N/A
2122N/A <!-- copy the message descriptor registry file -->
2122N/A <copy todir="${classes.dir}/org/opends/messages"
2122N/A file="${msg.javagen.dir}/org/opends/messages/descriptors.reg" />
3381N/A
1960N/A <jar jarfile="${pdir}/lib/${SHORT_NAME}.jar"
2556N/A basedir="${classes.dir}"
3349N/A excludes="${ads.classes.dir}, ${quicksetup.globalcompile.classes.dir},
3349N/A org/opends/server/snmp/**" compress="true" index="true" />
712N/A
563N/A <jar jarfile="${pdir}/lib/quicksetup.jar"
563N/A basedir="${quicksetup.classes.dir}" compress="true" index="true" />
712N/A
0N/A <copy todir="${pdir}/lib">
0N/A <fileset file="${lib.dir}/*.jar" />
0N/A </copy>
3381N/A
1008N/A <copy todir="${pdir}/lib">
1008N/A <fileset file="${lib.dir}/*.exe" />
1008N/A </copy>
3381N/A
3534N/A <antcall target="example-plugin" />
3534N/A
2976N/A <fixcrlf srcDir="${scripts.dir}" destDir="${pdir}/bin" excludes="*.bat,_client-script.sh,_server-script.sh,_mixed-script.sh,_script-util.sh" eol="lf" />
2976N/A <fixcrlf srcDir="${scripts.dir}" destDir="${pdir}/lib" includes="_client-script.sh,_server-script.sh,_mixed-script.sh,_script-util.sh" eol="lf" />
1194N/A <fixcrlf srcDir="${scripts.dir}" destDir="${pdir}/bin" includes="README_WINDOWS.txt" eol="crlf" />
2976N/A <fixcrlf srcDir="${scripts.dir}" destDir="${pdir}/bat" excludes="_client-script.bat,_server-script.bat,_mixed-script.bat,_script-util.bat,setcp.bat" includes="*.bat" eol="crlf" />
2976N/A <fixcrlf srcDir="${scripts.dir}" destDir="${pdir}/lib" includes="_client-script.bat,_server-script.bat,_mixed-script.bat,_script-util.bat,setcp.bat" eol="crlf" />
1008N/A
0N/A <copy todir="${pdir}/config">
0N/A <fileset file="${config.dir}/*" />
0N/A </copy>
3381N/A
3349N/A <antcall target="package-snmp" />
3381N/A
920N/A <copy file="${pdir}/config/config.ldif"
920N/A tofile="${pdir}/config/upgrade/config.ldif.${REVISION_NUMBER}" />
920N/A
920N/A <taskdef name="concatschema"
920N/A classname="org.opends.build.tools.ConcatSchema">
920N/A <classpath>
920N/A <fileset dir="${build.dir}/build-tools">
920N/A <include name="*.jar" />
920N/A </fileset>
920N/A </classpath>
920N/A </taskdef>
920N/A
920N/A <concatschema schemaDirectory="${resource.dir}/schema"
920N/A toFile="${pdir}/config/upgrade/schema.ldif.${REVISION_NUMBER}" />
920N/A
0N/A <copy todir="${pdir}/config/schema">
0N/A <fileset dir="${resource.dir}/schema" />
0N/A </copy>
0N/A
0N/A <copy todir="${pdir}/config/messages">
0N/A <fileset dir="${resource.dir}/messages" />
0N/A </copy>
0N/A
107N/A <copy todir="${pdir}/config/MakeLDIF">
107N/A <fileset dir="${resource.dir}/MakeLDIF" />
107N/A </copy>
107N/A
29N/A <copy todir="${pdir}/legal-notices">
29N/A <fileset dir="${resource.dir}/legal-notices" />
29N/A </copy>
29N/A
29N/A <copy todir="${pdir}">
29N/A <fileset file="${resource.dir}/README" />
29N/A </copy>
3012N/A
2911N/A <copy todir="${pdir}">
2911N/A <fileset file="${resource.dir}/install.html" />
2911N/A </copy>
3012N/A
2911N/A <copy todir="${pdir}">
3537N/A <fileset file="${resource.dir}/install.txt" />
3537N/A </copy>
3537N/A
3537N/A <copy todir="${pdir}">
2911N/A <fileset file="${resource.dir}/images/opends_logo.png" />
3012N/A </copy>
3012N/A
2549N/A <fixcrlf srcDir="${resource.dir}" destDir="${pdir}" includes="setup,uninstall,upgrade"
547N/A eol="lf" />
2549N/A <fixcrlf srcDir="${resource.dir}" destDir="${pdir}" includes="setup.bat,uninstall.bat,upgrade.bat"
547N/A eol="crlf" />
84N/A
565N/A <chmod file="${pdir}/setup" perm="755" />
712N/A <chmod file="${pdir}/uninstall" perm="755" />
1345N/A <chmod file="${pdir}/upgrade" perm="755" />
2556N/A
2556N/A <copy todir="${pdir}/QuickSetup.app">
2556N/A <fileset dir="${resource.dir}/mac/QuickSetup.app" />
2556N/A </copy>
2556N/A <chmod perm="755">
2556N/A <fileset dir="${pdir}">
2556N/A <include name="QuickSetup.app/Contents/MacOS/JavaApplicationStub" />
2556N/A </fileset>
2556N/A </chmod>
2556N/A <copy todir="${pdir}/Uninstall.app">
2556N/A <fileset dir="${resource.dir}/mac/Uninstall.app" />
2556N/A </copy>
2556N/A <chmod perm="755">
2556N/A <fileset dir="${pdir}">
2556N/A <include name="Uninstall.app/Contents/MacOS/JavaApplicationStub" />
2556N/A </fileset>
2556N/A </chmod>
2556N/A <copy todir="${pdir}/bin/StatusPanel.app">
2556N/A <fileset dir="${resource.dir}/mac/StatusPanel.app" />
2556N/A </copy>
2556N/A <chmod perm="755">
2556N/A <fileset dir="${pdir}/bin">
2556N/A <include name="StatusPanel.app/Contents/MacOS/JavaApplicationStub" />
2556N/A </fileset>
2556N/A </chmod>
2556N/A
485N/A <chmod perm="755">
485N/A <fileset dir="${pdir}/bin">
485N/A </fileset>
485N/A </chmod>
1197N/A <chmod file="${pdir}/lib/_client-script.sh" perm="755" />
1197N/A <chmod file="${pdir}/lib/_server-script.sh" perm="755" />
2976N/A <chmod file="${pdir}/lib/_mixed-script.sh" perm="755" />
2976N/A <chmod file="${pdir}/lib/_script-util.sh" perm="755" />
0N/A </target>
0N/A
0N/A
0N/A
0N/A
0N/A <!-- Package the Directory Server for distribution. -->
0N/A <target name="package" depends="prepackage"
0N/A description="Package the Directory Server for distribution.">
1960N/A <zip destfile="${package.dir}/${SHORT_NAME}-${VERSION_NUMBER_STRING}.zip">
3100N/A <zipfileset dir="${package.dir}" includes="${SHORT_NAME}-${VERSION_NUMBER_STRING}"
3100N/A filemode="644" dirmode="700" />
1960N/A <zipfileset dir="${package.dir}" includes="${SHORT_NAME}-${VERSION_NUMBER_STRING}/**/*"
2976N/A excludes="${SHORT_NAME}-${VERSION_NUMBER_STRING}/bin/*,${SHORT_NAME}-${VERSION_NUMBER_STRING}/lib/_client-script.sh,${SHORT_NAME}-${VERSION_NUMBER_STRING}/lib/_script-util.sh,${SHORT_NAME}-${VERSION_NUMBER_STRING}/lib/_server-script.sh,${SHORT_NAME}-${VERSION_NUMBER_STRING}/lib/_mixed-script.sh,${SHORT_NAME}-${VERSION_NUMBER_STRING}/setup,${SHORT_NAME}-${VERSION_NUMBER_STRING}/uninstall,${SHORT_NAME}-${VERSION_NUMBER_STRING}/upgrade,${SHORT_NAME}-${VERSION_NUMBER_STRING}/QuickSetup.app/Contents/MacOS/JavaApplicationStub,${SHORT_NAME}-${VERSION_NUMBER_STRING}/Uninstall.app/Contents/MacOS/JavaApplicationStub,${SHORT_NAME}-${VERSION_NUMBER_STRING}/bin/StatusPanel.app/Contents/MacOS/JavaApplicationStub"
0N/A filemode="644" dirmode="755" />
499N/A <zipfileset dir="${package.dir}"
2976N/A includes="${SHORT_NAME}-${VERSION_NUMBER_STRING}/lib/_client-script.sh,${SHORT_NAME}-${VERSION_NUMBER_STRING}/lib/_script-util.sh,${SHORT_NAME}-${VERSION_NUMBER_STRING}/lib/_server-script.sh,${SHORT_NAME}-${VERSION_NUMBER_STRING}/lib/_mixed-script.sh"
1194N/A filemode="755" dirmode="755" />
1960N/A <zipfileset dir="${package.dir}" includes="${SHORT_NAME}-${VERSION_NUMBER_STRING}/bin/*"
1960N/A excludes="${SHORT_NAME}-${VERSION_NUMBER_STRING}/bin/README_WINDOWS.txt"
499N/A filemode="755" dirmode="755" />
1960N/A <zipfileset dir="${package.dir}" includes="${SHORT_NAME}-${VERSION_NUMBER_STRING}/bin/README_WINDOWS.txt"
1210N/A filemode="644" dirmode="755" />
2556N/A <zipfileset dir="${package.dir}" includes="${SHORT_NAME}-${VERSION_NUMBER_STRING}/setup,${SHORT_NAME}-${VERSION_NUMBER_STRING}/uninstall,${SHORT_NAME}-${VERSION_NUMBER_STRING}/upgrade,${SHORT_NAME}-${VERSION_NUMBER_STRING}/QuickSetup.app/Contents/MacOS/JavaApplicationStub,${SHORT_NAME}-${VERSION_NUMBER_STRING}/Uninstall.app/Contents/MacOS/JavaApplicationStub,${SHORT_NAME}-${VERSION_NUMBER_STRING}/bin/StatusPanel.app/Contents/MacOS/JavaApplicationStub"
499N/A filemode="755" dirmode="755" />
0N/A </zip>
1559N/A <property name="package.built" value="true"/>
3381N/A
2308N/A <!-- print a time stamp in Unix 'date' format -->
2308N/A <tstamp>
2308N/A <format property="package.built.ts" pattern="EEE MMM dd HH:mm:ss zzz yyyy" />
2308N/A </tstamp>
2308N/A <echo message="Package Built: ${package.built.ts}"/>
0N/A </target>
0N/A
3069N/A <!-- Package the Directory Server for the RPM distribution. -->
3069N/A <target name="package-RPM"
3069N/A description="Package the Directory Server for RPM distribution.">
3069N/A <taskdef name="getversionnumber"
3069N/A classname="org.opends.build.tools.CreateVersionString">
3069N/A <classpath>
3069N/A <fileset dir="${build.dir}/build-tools">
3069N/A <include name="*.jar" />
3069N/A </fileset>
3069N/A </classpath>
3069N/A </taskdef>
3069N/A
3069N/A <getversionnumber property="VERSION_NUMBER_STRING" />
3069N/A
3069N/A <property name="prefix" value="/opt/opends"/>
3069N/A <property name="release" value="0"/>
3079N/A <taskdef name="genrpm"
3069N/A classname="org.opends.build.tools.GenerateRpm">
3069N/A <classpath>
3069N/A <fileset dir="${build.dir}/build-tools">
3069N/A <include name="*.jar" />
3069N/A </fileset>
3069N/A </classpath>
3079N/A </taskdef>
3069N/A
3069N/A <mkdir dir="${build.dir}/rpm/noarch" />
3069N/A <mkdir dir="${build.dir}/rpm/i486" />
3069N/A <mkdir dir="${build.dir}/rpm/i586" />
3069N/A <mkdir dir="${build.dir}/rpm/i686" />
3069N/A <mkdir dir="${build.dir}/rpm/BUILD" />
3069N/A <mkdir dir="${build.dir}/rpm/RPMS" />
3069N/A <mkdir dir="${build.dir}/rpm/SOURCES/${prefix}" />
3069N/A <mkdir dir="${build.dir}/rpm/i386" />
3069N/A <mkdir dir="${build.dir}/rpm/SPECS" />
3069N/A <mkdir dir="${build.dir}/rpm/SRPMS" />
3069N/A
3069N/A <genrpm
3069N/A topDir="${build.dir}/rpm"
3069N/A prefix="${prefix}"
3069N/A sourceDirName="${package.dir}/${SHORT_NAME}-${VERSION_NUMBER_STRING}"
3069N/A specFileName="${build.dir}/rpm/SPECS/specFile"
3069N/A version="${VERSION_NUMBER_STRING}"
3069N/A release="${release}"
3069N/A overwrite="true">
3069N/A </genrpm>
3069N/A
3381N/A <rpm
3069N/A specfile="specFile"
3069N/A topdir="${build.dir}/rpm"
3069N/A quiet="true"
3069N/A />
3069N/A
3069N/A <copy todir="${package.dir}">
3069N/A <fileset dir="${build.dir}/rpm/RPMS/noarch">
3069N/A <include name="*.rpm" />
3069N/A </fileset>
3069N/A </copy>
3069N/A
3084N/A <delete dir="${build.dir}/rpm"/>
3069N/A </target>
3069N/A
1177N/A
1177N/A
0N/A <!-- Prepare the Directory Server DSML library. -->
0N/A <target name="predsml" depends="prepackage"
0N/A description="Prepare the Directory Server DSML library.">
0N/A <taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask">
0N/A <classpath>
0N/A <fileset dir="${dsml.lib.dir}">
0N/A <include name="**/*.jar" />
0N/A </fileset>
0N/A </classpath>
0N/A </taskdef>
0N/A
0N/A <mkdir dir="${dsml.gen.dir}/org/opends/dsml/protocol" />
0N/A <xjc target="${dsml.gen.dir}" schema="${dsml.dir}/schema/DSMLv2.xsd"
0N/A removeOldOutput="yes" package="org.opends.dsml.protocol">
0N/A <produces dir="${dsml.gen.dir}/org/opends/dsml/protocol"
0N/A includes="* impl/*" />
0N/A </xjc>
0N/A
0N/A <mkdir dir="${dsml.classes.dir}" />
0N/A
0N/A <javac srcdir="${dsml.gen.dir}" destdir="${dsml.classes.dir}"
1083N/A debug="on" debuglevel="${build.debuglevel}" source="1.5"
0N/A target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
0N/A memoryMaximumSize="${MEM}">
0N/A <compilerarg value="-Xlint:all" />
3107N/A <compilerarg value="-Xlint:-path" />
0N/A
0N/A <classpath>
0N/A <fileset dir="${dsml.lib.dir}">
0N/A <include name="*.jar" />
0N/A </fileset>
0N/A </classpath>
0N/A </javac>
0N/A
0N/A <javac srcdir="${dsml.src.dir}" destdir="${dsml.classes.dir}"
1083N/A debug="on" debuglevel="${build.debuglevel}" source="1.5"
0N/A target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
0N/A memoryMaximumSize="${MEM}">
0N/A <compilerarg value="-Xlint:all" />
3107N/A <compilerarg value="-Xlint:-path" />
0N/A
0N/A <classpath>
0N/A <fileset dir="${dsml.lib.dir}">
0N/A <include name="*.jar" />
0N/A </fileset>
0N/A
0N/A <dirset dir="${classes.dir}" />
0N/A </classpath>
0N/A </javac>
0N/A
3000N/A <mkdir dir="${dsml.classes.dir}/resources" />
3000N/A <copy file="${dsml.dir}/schema/DSMLv2.xsd"
3000N/A tofile="${dsml.classes.dir}/resources/DSMLv2.xsd"
3000N/A overwrite="true"/>
3000N/A
1960N/A <war destfile="${classes.dir}/${SHORT_NAME}-${VERSION_NUMBER_STRING}-DSML.war"
0N/A webxml="${dsml.dir}/webapp/web.xml">
0N/A <fileset file="${dsml.dir}/webapp/server.properties" />
0N/A
0N/A <webinf dir="${dsml.dir}/webapp" includes="**/*"
0N/A excludes="web.xml, **/*.jar, **/*.properties" />
0N/A
0N/A <classes dir="${dsml.classes.dir}" />
0N/A
0N/A <lib dir="${dsml.lib.dir}">
3058N/A <include name="activation.jar" />
3058N/A <include name="jaxb-api.jar" />
3058N/A <include name="jaxb-impl.jar" />
3058N/A <include name="jsr173_1.0_api.jar" />
3058N/A <include name="saaj-1.3.jar" />
3058N/A <include name="saaj-impl-1.3.jar" />
0N/A </lib>
0N/A
0N/A <lib dir="${pdir}/lib">
3058N/A <include name="${SHORT_NAME}.jar" />
0N/A </lib>
0N/A </war>
0N/A
605N/A <copy todir="${package.dir}">
0N/A <fileset file="${classes.dir}/*.war" />
0N/A </copy>
0N/A </target>
0N/A
0N/A
0N/A
0N/A
0N/A <!-- Generate JavaDoc documentation from the source files -->
1008N/A <target name="javadoc" depends="dsml,compileadmin"
0N/A description="Generate JavaDoc documentation.">
0N/A <mkdir dir="${javadoc.dir}" />
0N/A
0N/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}">
0N/A <include name="*.jar" />
0N/A </fileset>
0N/A
2528N/A <fileset dir="${build.dir}/build-tools">
2528N/A <include name="*.jar" />
2528N/A </fileset>
2528N/A
0N/A <dirset dir="${classes.dir}" />
0N/A <dirset dir="${dsml.classes.dir}" />
1527N/A <dirset dir="${quicksetup.classes.dir}" />
0N/A </classpath>
0N/A
0N/A <packageset dir="${src.dir}" />
1008N/A <packageset dir="${admin.src.dir}" />
1527N/A <packageset dir="${ads.src.dir}" />
0N/A <packageset dir="${dsml.src.dir}" />
2255N/A <packageset dir="${msg.src.dir}" />
0N/A </javadoc>
0N/A </target>
0N/A
0N/A
2900N/A <!-- Internal target to run the Directory Server directly. -->
2896N/A <target name="run-server" depends="dynamicconstants">
2900N/A <!-- Set properties needed to find the packaged files -->
2900N/A <property name="pdir" location="${package.dir}/${SHORT_NAME}-${VERSION_NUMBER_STRING}"/>
2896N/A <java fork="true" classname="org.opends.server.core.DirectoryServer" failonerror="true">
2896N/A <classpath>
2896N/A <fileset dir="${lib.dir}">
2900N/A <include name="*.jar"/>
2896N/A </fileset>
2900N/A <dirset dir="${classes.dir}"/>
2896N/A </classpath>
2900N/A <jvmarg value="-Dorg.opends.server.BuildRoot=${pdir}"/>
2900N/A <jvmarg value="-Dorg.opends.server.scriptName=start-ds"/>
2900N/A <jvmarg value="-Dorg.opends.server.ServerRoot=${pdir}"/>
2896N/A <arg value="--configClass=org.opends.server.extensions.ConfigFileHandler"/>
2896N/A <arg value="--configFile=${pdir}/config/config.ldif"/>
2900N/A <arg value="--nodetach"/>
2900N/A </java>
2896N/A </target>
2900N/A
2900N/A <!-- Netbeans target to debug the Directory Server. -->
2896N/A <target name="nb-debug-server" depends="dynamicconstants">
2896N/A <!-- Set properties needed to find the packaged files -->
2900N/A <property name="pdir" location="${package.dir}/${SHORT_NAME}-${VERSION_NUMBER_STRING}"/>
2896N/A <path id="cp">
2896N/A <fileset dir="${lib.dir}">
2900N/A <include name="*.jar"/>
2896N/A </fileset>
2900N/A <dirset dir="${classes.dir}"/>
2896N/A </path>
2896N/A <nbjpdastart addressproperty="jpda.address" name="Directory Server" transport="dt_socket">
2896N/A <classpath refid="cp"/>
2896N/A </nbjpdastart>
2896N/A <java classname="org.opends.server.core.DirectoryServer" fork="true">
2896N/A <classpath refid="cp"/>
2896N/A <jvmarg value="-Xdebug"/>
2896N/A <jvmarg value="-Xrunjdwp:transport=dt_socket,address=${jpda.address}"/>
2900N/A <jvmarg value="-Dorg.opends.server.BuildRoot=${pdir}"/>
2900N/A <jvmarg value="-Dorg.opends.server.scriptName=start-ds"/>
2900N/A <jvmarg value="-Dorg.opends.server.ServerRoot=${pdir}"/>
2900N/A <jvmarg value="-Dorg.opends.server.debug.enabled=true"/>
2896N/A <arg value="--configClass=org.opends.server.extensions.ConfigFileHandler"/>
2900N/A <arg value="--configFile=${pdir}/config/config.ldif"/>
2900N/A <arg value="--nodetach"/>
2896N/A </java>
2896N/A </target>
2900N/A
2900N/A <!-- Netbeans target to profile the Directory Server. -->
2900N/A <target name="nb-profile-server" depends="dynamicconstants">
2900N/A <!-- Set properties needed to find the packaged files -->
2900N/A <property name="pdir" location="${package.dir}/${SHORT_NAME}-${VERSION_NUMBER_STRING}"/>
2900N/A <path id="cp">
2900N/A <fileset dir="${lib.dir}">
2900N/A <include name="*.jar"/>
2900N/A </fileset>
2900N/A <dirset dir="${classes.dir}"/>
2900N/A </path>
2900N/A <nbprofiledirect>
2900N/A <classpath refid="cp"/>
2900N/A </nbprofiledirect>
3005N/A <java fork="true" classname="org.opends.server.core.DirectoryServer">
2900N/A <classpath>
2900N/A <fileset dir="${lib.dir}">
2900N/A <include name="*.jar"/>
2900N/A </fileset>
2900N/A <dirset dir="${classes.dir}"/>
2900N/A </classpath>
2900N/A <jvmarg value="${profiler.info.jvmargs.agent}"/>
2900N/A <jvmarg value="-Dorg.opends.server.BuildRoot=${pdir}"/>
2900N/A <jvmarg value="-Dorg.opends.server.scriptName=start-ds"/>
2900N/A <jvmarg value="-Dorg.opends.server.ServerRoot=${pdir}"/>
2900N/A <arg value="--configClass=org.opends.server.extensions.ConfigFileHandler"/>
2900N/A <arg value="--configFile=${pdir}/config/config.ldif"/>
2900N/A <arg value="--nodetach"/>
2900N/A </java>
2900N/A </target>
2900N/A
2896N/A <!-- Internal target to run directly dsconfig. -->
2896N/A <target name="run-dsconfig" depends="dynamicconstants">
2896N/A <!-- Set properties needed to find the packaged files -->
2896N/A <property name="pdir"
2896N/A location="${package.dir}/${SHORT_NAME}-${VERSION_NUMBER_STRING}" />
2896N/A <java fork="true" classname="org.opends.server.tools.dsconfig.DSConfig" failonerror="true">
2896N/A <classpath>
2896N/A <fileset dir="${lib.dir}">
2896N/A <include name="*.jar" />
2896N/A </fileset>
2900N/A <dirset dir="${classes.dir}" />
2896N/A </classpath>
2896N/A <jvmarg value="-Dorg.opends.server.scriptName=dsconfig" />
2900N/A </java>
2896N/A </target>
2900N/A
2896N/A <!-- Netbeans target to debug dsconfig. -->
2896N/A <target name="nb-debug-dsconfig" depends="dynamicconstants">
2896N/A <!-- Set properties needed to find the packaged files -->
2896N/A <property name="pdir"
2896N/A location="${package.dir}/${SHORT_NAME}-${VERSION_NUMBER_STRING}" />
2896N/A <path id="cp">
2896N/A <fileset dir="${lib.dir}">
2896N/A <include name="*.jar" />
2896N/A </fileset>
2900N/A <dirset dir="${classes.dir}" />
2896N/A </path>
2896N/A <nbjpdastart addressproperty="jpda.address" name="Directory Server" transport="dt_socket">
2896N/A <classpath refid="cp"/>
2896N/A </nbjpdastart>
2896N/A <java classname="org.opends.server.tools.dsconfig.DSConfig" fork="true">
2896N/A <classpath refid="cp"/>
2896N/A <jvmarg value="-Xdebug"/>
2896N/A <jvmarg value="-Xrunjdwp:transport=dt_socket,address=${jpda.address}"/>
2896N/A <jvmarg value="-Dorg.opends.server.scriptName=dsconfig" />
2896N/A </java>
2896N/A </target>
2900N/A
121N/A <!-- Internal target to prepare to generate a code coverage report. -->
121N/A <target name="coverage">
0N/A <property name="coverage.enabled" value="true" />
0N/A
0N/A <mkdir dir="${coverage.dir}" />
0N/A <mkdir dir="${coverage.data.dir}" />
0N/A <mkdir dir="${coverage.instr.dir}" />
0N/A <mkdir dir="${coverage.report.dir}" />
0N/A
0N/A <path id="run.classpath">
0N/A <pathelement location="${classes.dir}" />
0N/A </path>
1527N/A
1527N/A <path id="quickSetup.classpath">
1527N/A <pathelement location="${quicksetup.classes.dir}" />
1527N/A </path>
0N/A </target>
0N/A
0N/A
3381N/A
3381N/A <!-- Prepare to execute the Directory Server TestNG unit tests. -->
3083N/A <target name="test.OpenDS.package.required" depends="dynamicconstants">
3083N/A <condition property="test.OpenDS.package.required">
3083N/A <available file="${package.dir}/${SHORT_NAME}-${VERSION_NUMBER_STRING}.zip"/>
3083N/A </condition>
3083N/A </target>
3381N/A
3083N/A <target name="testinit-package" depends="test.OpenDS.package.required" unless="test.OpenDS.package.required">
3083N/A <echo message="Performing full rebuild (no OpenDS zip package found)"/>
3083N/A <antcall target="package"/>
3083N/A </target>
3381N/A
3083N/A <target name="testinit-recompile" depends="test.OpenDS.package.required" if="test.OpenDS.package.required">
3083N/A <echo message="Performing partial rebuild (OpenDS zip package found)"/>
3083N/A <mkdir dir="${classes.dir}" />
3083N/A
3083N/A <javac srcdir="${src.dir}:${admin.src.dir}:${msg.src.dir}:${msg.javagen.dir}:${ads.src.dir}:${quicksetup.src.dir}:${guitools.src.dir}"
3083N/A destdir="${classes.dir}" debug="on" debuglevel="${build.debuglevel}"
3083N/A source="1.5" target="1.5" deprecation="true" fork="true"
3083N/A memoryInitialSize="${MEM}" memoryMaximumSize="${MEM}">
3083N/A <compilerarg value="-Xlint:all" />
3083N/A
3083N/A <classpath>
3083N/A <fileset dir="${lib.dir}">
3083N/A <include name="*.jar" />
3083N/A </fileset>
3083N/A <fileset dir="${build.dir}/build-tools">
3083N/A <include name="build-tools.jar" />
3083N/A </fileset>
3083N/A </classpath>
3083N/A </javac>
3083N/A
3083N/A <copy todir="${classes.dir}">
3083N/A <fileset dir="${src.dir}" includes="**/*.properties" />
3083N/A <fileset dir="${quicksetup.src.dir}" includes="**/*.properties, **/*.gif, **/*.png" />
3083N/A <fileset dir="${guitools.src.dir}" includes="**/*.properties, **/*.gif, **/*.png" />
3083N/A </copy>
3083N/A </target>
3381N/A
3083N/A <target name="testinit" depends="testinit-package,testinit-recompile"
0N/A description="Prepare to execute the Directory Server TestNG unit tests.">
0N/A <!-- If we are to perform coverage tests, then set that up. -->
0N/A <path id="emma.lib">
0N/A <pathelement location="${emma.dir}/emma.jar" />
0N/A <pathelement location="${emma.dir}/emma_ant.jar" />
0N/A </path>
0N/A
0N/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" />
0N/A </emma>
0N/A
0N/A <!-- Compile the test cases -->
0N/A <mkdir dir="${unittest.classes.dir}" />
0N/A <javac srcdir="${unittest.testng.src.dir}" destdir="${unittest.classes.dir}"
1083N/A debug="on" debuglevel="${build.debuglevel}" source="1.5"
0N/A target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
3349N/A memoryMaximumSize="${MEM}" excludes="org/opends/server/snmp/**">
0N/A <compilerarg value="-Xlint:all" />
0N/A
0N/A <classpath>
0N/A <fileset dir="${lib.dir}">
0N/A <include name="*.jar" />
0N/A </fileset>
0N/A
0N/A <fileset dir="${testng.lib.dir}">
0N/A <include name="*.jar" />
0N/A </fileset>
0N/A
0N/A <path refid="run.classpath" />
1527N/A <path refid="quickSetup.classpath" />
0N/A </classpath>
0N/A </javac>
2900N/A
2407N/A <copy todir="${unittest.classes.dir}">
2407N/A <fileset dir="${unittest.testng.src.dir}"
2407N/A includes="**/*.properties" />
2407N/A </copy>
712N/A
3349N/A <!-- Compile SNMP Tests if needed -->
3349N/A <antcall target="testsnmpinit"/>
3381N/A
233N/A <!-- Prep the TestNG XML file -->
675N/A
675N/A <condition property="test.groups" value="exclude=slow">
675N/A <not>
675N/A <or>
675N/A <isset property="test.groups" />
675N/A <isset property="test.packages" />
675N/A <isset property="test.classes" />
675N/A <isset property="test.methods" />
675N/A </or>
675N/A </not>
675N/A </condition>
675N/A
1559N/A <!-- do not run tests dependent upon creation of the .zip file -->
2123N/A <condition property="test.packages" value="org.opends.server.*,org.opends.messages.*">
1559N/A <and>
1559N/A <not>
1559N/A <or>
1559N/A <isset property="test.packages" />
1559N/A <isset property="test.classes" />
1559N/A <isset property="test.methods" />
1559N/A </or>
1559N/A </not>
1559N/A <not>
1559N/A <equals arg1="${package.built}" arg2="true" />
1559N/A </not>
1559N/A </and>
675N/A </condition>
2556N/A
1559N/A <!-- run tests dependent upon creation of the .zip file -->
2123N/A <condition property="test.packages" value="org.opends.server.*,org.opends.messages.*,org.opends.quicksetup.*">
1559N/A <and>
1559N/A <not>
1559N/A <or>
1559N/A <isset property="test.packages" />
1559N/A <isset property="test.classes" />
1559N/A <isset property="test.methods" />
1559N/A </or>
1559N/A </not>
1559N/A <equals arg1="${package.built}" arg2="true" />
1559N/A </and>
1559N/A </condition>
1559N/A
675N/A
675N/A <condition property="test.classes" value="">
675N/A <not>
675N/A <or>
675N/A <isset property="test.classes" />
675N/A <isset property="test.methods" />
675N/A </or>
675N/A </not>
675N/A </condition>
675N/A
675N/A <condition property="test.methods" value="">
675N/A <not>
675N/A <or>
675N/A <isset property="test.methods" />
675N/A </or>
675N/A </not>
675N/A </condition>
712N/A
233N/A <mkdir dir="${unittest.resource.dir}" />
233N/A <typedef name="preptestng" classname="org.opends.build.tools.PrepTestNG"
564N/A classpath="${build.dir}/build-tools/build-tools.jar" />
233N/A
233N/A
233N/A <preptestng file="${testng.dir}/testng.xml"
233N/A tofile="${unittest.resource.dir}/testng.xml"
712N/A grouplist="${test.groups}"
567N/A packagelist="${test.packages}"
712N/A classList="${test.classes}"
567N/A methodList="${test.methods}" />
318N/A
712N/A <antcall target="testinit.checkFailedTestsOnly"/>
712N/A </target>
233N/A
1177N/A
1177N/A
1008N/A <!-- If we were asked to run only the tests that failed,
712N/A then we overwrite the testng.xml that we just generated
712N/A with testng-failed.xml, which TestNG generated. -->
712N/A <target name="testinit.checkFailedTestsOnly" if="test.failures">
712N/A <!-- Ensure that some of the tests failed last time. -->
1008N/A <available property="testng-failed.xml.exists"
712N/A file="${unittest.report.dir}/testng-failed.xml"/>
1008N/A <fail message="No unit tests failed in the previous run."
712N/A unless="testng-failed.xml.exists"/>
233N/A
712N/A <!-- We replace the 'Failed suite [OpenDS]' with 'OpenDS' so we
712N/A don't end up with 'Failed suite [Failed suite [OpenDS]]]' etc. -->
712N/A <replace file="${unittest.report.dir}/testng-failed.xml"
712N/A token="Failed suite [OpenDS]"
712N/A value="OpenDS"/>
712N/A <replace file="${unittest.report.dir}/testng-failed.xml"
712N/A token="default(failed)"
712N/A value="default"/>
712N/A
712N/A <copy file="${unittest.report.dir}/testng-failed.xml"
712N/A tofile="${unittest.resource.dir}/testng.xml"
712N/A overwrite="true"/>
1008N/A
712N/A <echo message="Will run the failed unit tests only"/>
0N/A </target>
0N/A
1177N/A
1177N/A
675N/A <!-- Generate coverage diff report -->
675N/A <target name="coveragediff">
675N/A <condition property="test.diff.srcpath" value="">
675N/A <not>
675N/A <isset property="test.diff.srcpath" />
675N/A </not>
675N/A </condition>
21N/A
675N/A <condition property="test.diff.enabled" value="true">
675N/A <not>
675N/A <isset property="test.diff.disable" />
675N/A </not>
675N/A </condition>
675N/A
699N/A <condition property="test.diff.verbose" value="false">
699N/A <not>
699N/A <isset property="test.diff.verbose" />
699N/A </not>
699N/A </condition>
699N/A
675N/A <condition property="test.diff.enabled" value="false">
675N/A <isset property="test.diff.disable" />
675N/A </condition>
675N/A
1849N/A <!-- The SVN revision to perform the diff against when calculating
1849N/A the coverage diff. It can be a revision number, a timestamp,
1849N/A or a revision keyword (BASE, COMMITTED, and PREV make the
1849N/A most sense). The primary use case for this setting is to do
1849N/A a coverage diff against the previous revision when there are
1849N/A no changes in the working copy. It defaults to BASE. -->
1849N/A <condition property="test.diff.from.revision" value="BASE">
1849N/A <not>
1849N/A <isset property="test.diff.from.revision" />
1849N/A </not>
1849N/A </condition>
1849N/A
675N/A <mkdir dir="${cvgdiff.report.dir}" />
675N/A <taskdef name="coveragediff" classname="org.opends.build.tools.CoverageDiff">
675N/A <classpath>
675N/A <fileset dir="${build.dir}/build-tools">
675N/A <include name="*.jar" />
675N/A </fileset>
675N/A <fileset dir="${emma.dir}">
675N/A <include name="*.jar" />
675N/A </fileset>
729N/A <fileset dir="${svnkit.dir}">
729N/A <include name="*.jar" />
729N/A </fileset>
675N/A </classpath>
675N/A </taskdef>
675N/A
675N/A <coveragediff emmadatapath="${coverage.data.dir}"
675N/A outputpath="${cvgdiff.report.dir}"
712N/A diffpath="${test.diff.srcpath}"
699N/A enabled="${test.diff.enabled}"
1849N/A verbose="${test.diff.verbose}"
1849N/A fromrevision="${test.diff.from.revision}" />
675N/A
712N/A </target>
21N/A
1177N/A
1177N/A
0N/A <!-- Execute the Directory Server TestNG unit tests in text mode. -->
185N/A <target name="enableTestNGAssertions">
185N/A <property name="TESTASSERT" value="true"/>
185N/A </target>
185N/A
1177N/A
1177N/A
318N/A <!-- Execute Directory Server TestNG unit tests specified from CLI -->
699N/A <target name="testcustom">
712N/A <echo message="This target is deprecated. Please use the test target as it now supports the test.* properties." />
318N/A </target>
185N/A
1177N/A
1177N/A
185N/A <!-- Execute all of the Directory Server TestNG unit tests in text mode. -->
185N/A <target name="testall"
3083N/A depends="enableTestNGAssertions,prepdefaultalltest,testinit,runtests"
712N/A description="Run all of the TestNG tests (including 'slow' ones) with assertions enabled. See 'testwithcoverage' for properties you can set.">
185N/A </target>
185N/A
185N/A
1177N/A
185N/A <!-- Execute the Directory Server TestNG unit tests in text mode. -->
21N/A <target name="test"
1238N/A depends="testinit,runtests"
712N/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.">
121N/A </target>
121N/A
1177N/A
1177N/A
121N/A <!-- Execute the Directory Server TestNG unit tests in text mode with a coverage report. -->
121N/A <target name="testwithcoverage"
675N/A depends="coverage,test,coveragediff"
699N/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.">
121N/A </target>
121N/A
233N/A <!-- Execute the Directory Server TestNG unit tests in text mode with a coverage report and slow tests. -->
233N/A <target name="testallwithcoverage"
675N/A depends="coverage,testall,coveragediff"
699N/A description="The same as 'testwithcoverage' except 'testall' is run instead of 'test'.">
233N/A </target>
233N/A
318N/A <!-- Execute the Directory Server TestNG unit tests specified from CLI in text mode with a coverage report. -->
699N/A <target name="testcustomwithcoverage">
675N/A <echo message="This target is deprecated. Please use the testwithcoverage target as it now supports the test.* properties." />
318N/A </target>
318N/A
712N/A <target name="testhelp" unless="disable.test.help">
712N/A <echo message="About to run the unit tests. Ant options to control the tests:"/>
712N/A <echo message=""/>
712N/A <echo message=" -Dorg.opends.test.suppressOutput=false"/>
712N/A <echo message=" writes the unit test output to the screen"/>
712N/A <echo message=""/>
2342N/A <echo message=" -Dtest.progress=&quot;default,memory&quot;"/>
2342N/A <echo message=" Unless explicity disabled using -Dtest.progress=none, the"/>
2342N/A <echo message=" tests provide continuous progress of the tests that are being"/>
2342N/A <echo message=" run. The specific options to set for this property are"/>
2342N/A <echo message=""/>
2342N/A <echo message=" none: no progress output"/>
2342N/A <echo message=" all: enables all progress (slows tests)"/>
2342N/A <echo message=" default: same as &quot;time,count,restarts&quot;"/>
2342N/A <echo message=" time: timing information for the tests"/>
2342N/A <echo message=" count: # of run test classes, methods, and invocations"/>
2342N/A <echo message=" memory: running total of memory usage (slows tests)"/>
2342N/A <echo message=" threadcount: running total of active threads"/>
2342N/A <echo message=" threadchange: +/- changes for active threads between tests"/>
2342N/A <echo message=" restarts: running total of in-core server restarts"/>
2342N/A <echo message=""/>
2342N/A <echo message=" To specifying multiple values, nseparate them with ',' and"/>
2342N/A <echo message=" quote the entire value. For instance, when you want the default"/>
2342N/A <echo message=" output plus more, do -Dtest.progress=&quot;default,memory&quot;."/>
2342N/A <echo message=""/>
2342N/A <echo message=" Enabling memory progress slows down the tests significantly."/>
2342N/A <echo message=" Include the otherwise undocumented property &quot;gcs&quot; to see how"/>
2342N/A <echo message=" much time each progress line spends doing garbage collections"/>
2342N/A <echo message=" to get an accurate measure of memory usage."/>
2342N/A <echo message=""/>
2392N/A <echo message=" A new line of progress is written when TestNG completes running tests"/>
2392N/A <echo message=" for a class. This progress is reported immediately before TestNG"/>
2392N/A <echo message=" starts to run the first test of the next class. All @BeforeClass"/>
2392N/A <echo message=" and @BeforeMethod methods will have been invoked for the next"/>
2392N/A <echo message=" class as well as the @DataProvider (if any) for the first test method."/>
2392N/A <echo message=" Keep this in mind when debugging memory usage, running times, and"/>
2392N/A <echo message=" thread creation."/>
2342N/A <echo message=""/>
2342N/A <echo message=" -Dtestng.verbosity0to5=5"/>
2342N/A <echo message=" for example has TestNG dump the maximum amount of debugging"/>
2342N/A <echo message=" output to stdout. This output is useful to check the order"/>
2342N/A <echo message=" in which test methods are invoked. Valid values are integer"/>
2342N/A <echo message=" values from 0 (no output) to 5 (maximum output). Since this"/>
2342N/A <echo message=" implicitly sets -Dorg.opends.test.suppressOutput=false,"/>
2342N/A <echo message=" other stderr/stdout output generated by the unit tests will"/>
2342N/A <echo message=" also be displayed."/>
2342N/A <echo message=""/>
1016N/A <echo message=" -Dorg.opends.test.pauseOnFailure=true"/>
1016N/A <echo message=" pauses the test suite whenever a failure occurs allowing you to inspect"/>
1016N/A <echo message=" the server more closely in the failure state"/>
1016N/A <echo message=""/>
2342N/A <echo message=" -Dorg.opends.test.copyClassesToTestPackage=true"/>
2342N/A <echo message=" copies the classes into the test server root. This enables you to run"/>
2342N/A <echo message=" the server tools on the test server. It can slow down the test startup"/>
2342N/A <echo message=" so the files are not copied by default."/>
2342N/A <echo message=""/>
712N/A <echo message=" -Dtest.failed=true"/>
712N/A <echo message=" runs only the tests that failed last time"/>
712N/A <echo message=""/>
984N/A <echo message=" -DWEAVE_ENABLED=false" />
902N/A <echo message=" builds the server without the debug logging facility." />
902N/A <echo message=" No debug logging messages will be included on test failures." />
902N/A <echo message=""/>
3538N/A <echo message=" -Dorg.opends.server.debug.target=org.opends.server.core:level=verbose,category=data"/>
902N/A <echo message=" for example only include debug messages in the core"/>
902N/A <echo message=" package that are related to data access and at the" />
902N/A <echo message=" verbose level or higher. The syntax of this target" />
902N/A <echo message=" definition is the same as the org.opends.server.debug.target.x" />
1960N/A <echo message=" property when starting ${SHORT_NAME}. " />
902N/A <echo message=" Default debug target:"/>
3538N/A <echo message=" org.opends.server:level=warning,category=caught|data|database-access|message|protocol,stack,cause" />
2342N/A <echo message=""/>
2342N/A <echo message=" -Dtest.diff.srcpath=src/server/org/opends/server/core"/>
2342N/A <echo message=" for example includes only the classes in"/>
2342N/A <echo message=" src/server/org/opends/server/core in the coveragediff report."/>
2342N/A <echo message=" To list multiple directories or files, separate them with"/>
2342N/A <echo message=" a space as you would an argument list to 'svn diff' and quote"/>
2342N/A <echo message=" the whole value."/>
902N/A <echo message=""/>
1666N/A <echo message=" -Dtest.groups=exclude=slow"/>
1666N/A <echo message=" for example excludes the slow tests. Each value is expected" />
1666N/A <echo message=" group inclusion/exclusion clause which consists of either 'include'" />
1666N/A <echo message=" or 'exclude' followed by the '=' character and then a group name." />
1666N/A <echo message=" For multiple group clauses, separate them with a ',' and "/>
1666N/A <echo message=" quote the entire value. Debug logging is disabled."/>
1666N/A <echo message=""/>
712N/A <echo message=" -Dtest.packages=org.opends.server.api"/>
712N/A <echo message=" for example runs only the tests in the api package"/>
712N/A <echo message=" For multiple packages, separate them with a ',' and "/>
984N/A <echo message=" quote the entire value. Debug logging is disabled."/>
712N/A <echo message=""/>
712N/A <echo message=" -Dtest.classes=org.opends.server.types.TestDN"/>
712N/A <echo message=" for example only runs the TestDN class"/>
712N/A <echo message=" For multiple classes, separate them with a ',' and "/>
984N/A <echo message=" quote the entire value. Debug logging is disabled."/>
712N/A <echo message=""/>
712N/A <echo message=" -Dtest.methods=org.opends.server.types.TestDN.testGetRDN"/>
712N/A <echo message=" for example only runs the testGetRDN method"/>
1666N/A <echo message=" For multiple methods within the same class, append additional"/>
1666N/A <echo message=" method names to the end separating them with a ',' and "/>
984N/A <echo message=" quote the entire value. Debug logging is disabled."/>
712N/A <echo message=""/>
2342N/A <echo message=" -Dtest.remote.debug.port=5005"/>
2342N/A <echo message=" for example will allow you to remotely debug the unit tests from"/>
2342N/A <echo message=" the debugger of your choice by pointing it at port 5005."/>
2342N/A <echo message=" The unit tests will not start to run until the debugger is attached"/>
2342N/A <echo message=" unless you als specify -Dtest.remote.debug.suspend=n."/>
712N/A <echo message=""/>
712N/A </target>
712N/A
1177N/A
1177N/A
121N/A <!-- Internal target to execute the Directory Server TestNG unit tests in text mode after everything has been initialized. -->
121N/A <target name="runtests">
712N/A <antcall target="testhelp"/>
712N/A
0N/A <mkdir dir="${unittest.report.dir}" />
1008N/A
0N/A <taskdef resource="testngtasks">
0N/A <classpath>
0N/A <fileset dir="${testng.lib.dir}">
0N/A <include name="*.jar" />
0N/A </fileset>
0N/A </classpath>
0N/A </taskdef>
0N/A
185N/A <!-- This sets TESTASSERT to false if and only if it's not already set. -->
161N/A <condition property="TESTASSERT" value="false">
161N/A <not>
161N/A <isset property="TESTASSERT" />
161N/A </not>
161N/A </condition>
503N/A
2342N/A <!-- This sets testng.verbosity if it's not already set. -->
2342N/A <condition property="testng.verbosity0to5" value="0">
2342N/A <not>
2342N/A <isset property="testng.verbosity0to5" />
2342N/A </not>
2342N/A </condition>
2342N/A
2342N/A <!-- This sets unsuppresses the test output if and only if testng
2342N/A is configured to dump debug output. -->
2342N/A <condition property="org.opends.test.suppressOutput" value="false">
2342N/A <not>
2342N/A <equals arg1="${testng.verbosity0to5}" arg2="0"/>
2342N/A </not>
2342N/A </condition>
2342N/A
503N/A <!-- This sets org.opends.test.suppressOutput if and only if it's not
503N/A already set. -->
712N/A <condition property="org.opends.test.suppressOutput" value="true">
503N/A <not>
503N/A <isset property="org.opends.test.suppressOutput" />
503N/A </not>
503N/A </condition>
712N/A
1016N/A <!-- This sets org.opends.test.pauseOnFailure if and only if it's not
1016N/A already set. -->
1016N/A <condition property="org.opends.test.pauseOnFailure" value="false">
1016N/A <not>
1016N/A <isset property="org.opends.test.pauseOnFailure" />
1016N/A </not>
1016N/A </condition>
1016N/A
3538N/A <!-- This sets org.opends.server.debug.target if and only if its's not
1590N/A already set. -->
3538N/A <condition property="org.opends.server.debug.target"
3538N/A value="org.opends.server:level=warning,category=caught|data|database-access|message|protocol,stack,cause">
902N/A <not>
3538N/A <isset property="org.opends.server.debug.target" />
902N/A </not>
902N/A </condition>
902N/A
2342N/A <condition property="org.opends.test.copyClassesToTestPackage"
2342N/A value="false">
2342N/A <not>
2342N/A <isset property="org.opends.test.copyClassesToTestPackage" />
2342N/A </not>
2342N/A </condition>
2342N/A
2342N/A <condition property="test.progress"
2342N/A value="">
2342N/A <not>
2342N/A <isset property="test.progress" />
2342N/A </not>
2342N/A </condition>
2342N/A
2342N/A
2342N/A <!-- If the debug port was set, we pass these options into the <testng> target below:
2556N/A -Xdebug
2556N/A -Xnoagent
2556N/A -Djava.compiler=NONE
2342N/A -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005
2342N/A -->
2342N/A <condition property="test.remote.debug.suspend" value="y">
2342N/A <not>
2342N/A <isset property="test.remote.debug.suspend" />
2342N/A </not>
2342N/A </condition>
2342N/A <condition property="jvm.debug.arg1" value="-Xdebug" else="-Dopends.bogus.debug.arg1">
2342N/A <isset property="test.remote.debug.port" />
2342N/A </condition>
2342N/A <condition property="jvm.debug.arg2" value="-Xnoagent" else="-Dopends.bogus.debug.arg2">
2342N/A <isset property="test.remote.debug.port" />
2342N/A </condition>
2342N/A <condition property="jvm.debug.arg3" value="-Djava.compiler=NONE" else="-Dopends.bogus.debug.arg3">
2342N/A <isset property="test.remote.debug.port" />
2342N/A </condition>
2556N/A <condition property="jvm.debug.arg4"
2556N/A value="-Xrunjdwp:transport=dt_socket,server=y,suspend=${test.remote.debug.suspend},address=${test.remote.debug.port}"
2342N/A else="-Dopends.bogus.debug.arg4">
2342N/A <isset property="test.remote.debug.port" />
2342N/A </condition>
2342N/A
2342N/A
902N/A <!-- Cleanout the old reports. Otherwise, the old testng-failed.xml
712N/A will hang around even if all of the tests pass. -->
712N/A <delete>
712N/A <fileset dir="${unittest.report.dir}" includes="*"/>
712N/A </delete>
712N/A
1008N/A <!-- Our testng listener will remove this file if all of the
712N/A tests passed. This allows us to generate the coverage
712N/A report even if the tests failed and still fail the build. -->
712N/A <touch file="${unittest.report.dir}/.tests-failed-marker"/>
712N/A
712N/A <testng outputdir="${unittest.report.dir}"
712N/A haltonfailure="false"
2342N/A verbose="${testng.verbosity0to5}"
712N/A enableAssert="${TESTASSERT}"
712N/A listeners="org.opends.server.TestListener org.testng.reporters.FailedReporter"
712N/A useDefaultListeners="false"
712N/A suiteRunnerClass="org.opends.server.SuiteRunner">
0N/A <classpath>
0N/A <pathelement location="${coverage.instr.dir}" />
151N/A <pathelement location="${classes.dir}" />
1527N/A <pathelement location="${quicksetup.classes.dir}" />
151N/A <pathelement location="${unittest.classes.dir}" />
2086N/A <pathelement location="${resource.dir}" />
0N/A <path refid="run.classpath" />
42N/A <path refid="emma.lib" />
0N/A
151N/A <fileset dir="${lib.dir}">
0N/A <include name="*.jar" />
0N/A </fileset>
0N/A
2046N/A <!-- Needed by quicksetup tests -->
1559N/A <fileset dir="${build.dir}/build-tools">
1559N/A <include name="build-tools.jar" />
1559N/A </fileset>
1559N/A
0N/A <fileset dir="${testng.lib.dir}">
0N/A <include name="*.jar" />
0N/A </fileset>
3381N/A
3349N/A <fileset dir="${opendmk.lib.dir}">
3349N/A <include name="*.jar"/>
3349N/A </fileset>
3381N/A
0N/A </classpath>
422N/A <jvmarg value="-Demma.coverage.out.file=${coverage.data.dir}/unit.emma" />
42N/A <jvmarg value="-Demma.coverage.out.merge=false" />
151N/A <jvmarg value="-Dorg.opends.server.BuildRoot=${basedir}" />
937N/A <jvmarg value="-Dorg.opends.server.RunningUnitTests=true" />
3368N/A <jvmarg value="-Dorg.opends.server.snmp.opendmk=${opendmk.lib.dir}"/>
503N/A <jvmarg value="-Dorg.opends.test.suppressOutput=${org.opends.test.suppressOutput}" />
1016N/A <jvmarg value="-Dorg.opends.test.pauseOnFailure=${org.opends.test.pauseOnFailure}" />
3538N/A <jvmarg value="-Dorg.opends.server.debug.target=${org.opends.server.debug.target}" />
2342N/A <jvmarg value="-Dorg.opends.test.copyClassesToTestPackage=${org.opends.test.copyClassesToTestPackage}" />
2342N/A <jvmarg value="-Dtest.progress=${test.progress}" />
371N/A <jvmarg value="-Xms${MEM}" />
712N/A <jvmarg value="-Xmx${MEM}" />
2342N/A <jvmarg value="${jvm.debug.arg1}" />
2342N/A <jvmarg value="${jvm.debug.arg2}" />
2342N/A <jvmarg value="${jvm.debug.arg3}" />
2342N/A <jvmarg value="${jvm.debug.arg4}" />
233N/A <xmlfileset dir="${unittest.resource.dir}" includes="testng.xml" />
0N/A </testng>
121N/A
712N/A <!-- Our testng listener will create this file if any of the
712N/A tests failed. This allows us to generate the coverage
712N/A report even if the tests failed. -->
1008N/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. -->
1960N/A <delete dir="${unittest.report.dir}/${SHORT_NAME}"/>
712N/A
42N/A <emma enabled="${coverage.enabled}" >
95N/A <report sourcepath="${src.dir}" >
422N/A <fileset dir="${coverage.data.dir}" >
1008N/A <include name="unit.emma" />
1008N/A <include name="metadata.emma" />
422N/A </fileset>
42N/A
724N/A <txt outfile="${coverage.report.dir}/coverage.txt" />
422N/A <html outfile="${coverage.report.dir}/index.html" />
724N/A <xml outfile="${coverage.report.dir}/coverage.xml" />
42N/A </report>
712N/A
42N/A </emma>
121N/A
712N/A <!-- We delay failing until after the coverage report is generated. -->
712N/A <fail message="The unit tests failed." if="testng.tests.failed"/>
712N/A
0N/A </target>
0N/A
1177N/A
1177N/A
318N/A <target name="prepdefaultalltest">
984N/A <condition property="test.groups" value="">
984N/A <not>
984N/A <or>
984N/A <isset property="test.groups" />
984N/A <isset property="test.packages" />
984N/A <isset property="test.classes" />
984N/A <isset property="test.methods" />
984N/A </or>
984N/A </not>
984N/A </condition>
984N/A </target>
984N/A
1177N/A
1177N/A
1238N/A <!--
1238N/A ! Previously a dependency of the nightly, all, testall and test targets.
1238N/A ! Weaving is now disabled by default due to the excessive need for memory
1238N/A ! during weaving.
1238N/A ! -->
1019N/A <target name="enableweave">
1094N/A <condition property="WEAVE_ENABLED" value="true">
1094N/A <not>
1094N/A <or>
1094N/A <isset property="WEAVE_ENABLED" />
1094N/A <isset property="test.groups" />
1094N/A <isset property="test.packages" />
1094N/A <isset property="test.classes" />
1094N/A <isset property="test.methods" />
1094N/A </or>
1094N/A </not>
1094N/A </condition>
233N/A </target>
21N/A
1177N/A
1177N/A
21N/A <target name="testreport"
21N/A depends="test"
0N/A description="Takes testng results and convert them into JUnit compatible xml">
0N/A <junitreport todir="${unittest.report.dir}">
0N/A <fileset dir="${unittest.report.dir}">
0N/A <include name="*.xml"/>
0N/A </fileset>
0N/A
0N/A <report format="noframes" todir="${unittest.report.dir}"/>
0N/A </junitreport>
0N/A </target>
0N/A
121N/A
3381N/A
3381N/A
1177N/A <target name="buildtools" depends="init"
233N/A description="Builds the build tools">
233N/A
233N/A <mkdir dir="${buildtools.classes.dir}" />
233N/A
3646N/A <copy file="${resource.dir}/Messages.java.stub" todir="${buildtools.classes.dir}/org/opends/build/tools/resource"/>
3646N/A
2086N/A <javac srcdir="${src.dir}:${msg.src.dir}" destdir="${buildtools.classes.dir}"
2086N/A sourcepath=""
2086N/A includes="org/opends/messages/Severity.java,
2086N/A org/opends/messages/Category.java,
2086N/A org/opends/messages/Message.java,
2086N/A org/opends/messages/MessagePropertyKey.java,
2940N/A org/opends/messages/MessageDescriptor.java,
2940N/A org/opends/server/types/PublicAPI.java,
2940N/A org/opends/server/types/StabilityLevel.java"
2086N/A debug="on" debuglevel="${build.debuglevel}" source="1.5"
2086N/A target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
2086N/A memoryMaximumSize="${MEM}"/>
2086N/A
2086N/A
233N/A <javac srcdir="${buildtools.src.dir}" destdir="${buildtools.classes.dir}"
1083N/A debug="on" debuglevel="${build.debuglevel}" source="1.5"
233N/A target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
233N/A memoryMaximumSize="${MEM}">
233N/A <compilerarg value="-Xlint:all" />
233N/A
233N/A <classpath>
233N/A <fileset dir="${ant.lib.dir}">
233N/A <include name="*.jar" />
233N/A </fileset>
578N/A
578N/A <fileset dir="${emma.dir}">
578N/A <include name="*.jar" />
578N/A </fileset>
729N/A
729N/A <fileset dir="${svnkit.dir}">
729N/A <include name="*.jar" />
729N/A </fileset>
729N/A
233N/A <path refid="run.classpath" />
233N/A </classpath>
233N/A </javac>
233N/A
564N/A <jar jarfile="${build.dir}/build-tools/build-tools.jar"
233N/A basedir="${buildtools.classes.dir}" compress="true" index="true" />
233N/A </target>
1008N/A
1177N/A
1177N/A
1008N/A <!-- Code generation for core administration components. -->
2459N/A <target name="compileadmin" depends="validateadmin" description="Code generation for configuration Object.">
1177N/A <!-- The XSLT task creates a lot of noise.
1177N/A I can't find any other way to shut it up. -->
1177N/A
1177N/A <condition property="antcmd" value="ant.bat">
1177N/A <os family="windows" />
1177N/A </condition>
1238N/A
1177N/A <condition property="antcmd" value="ant">
1177N/A <not>
1177N/A <isset property="antcmd" />
1177N/A </not>
1177N/A </condition>
1238N/A
1602N/A <exec executable="${ant.home}/bin/${antcmd}" failonerror="true">
1177N/A <arg value="-buildfile" />
1177N/A <arg value="${ant.file}" />
1177N/A <arg value="-quiet" />
1177N/A <arg value="compileadminsubtask" />
2813N/A <env key="ANT_OPTS" value="-Xmx${MEM}" />
1177N/A </exec>
1177N/A </target>
1177N/A
3381N/A
3381N/A
1177N/A <target name="compileadminsubtask">
1008N/A <!-- Generate introspection API for core administration components. -->
1008N/A <xslt basedir="${admin.defn.dir}" destdir="${admin.src.dir}" includes="**/*Configuration.xml" style="${admin.rules.dir}/metaMO.xsl">
1008N/A <regexpmapper handledirsep="true" from="^(.*)/([^/]+)Configuration\.xml$$" to="\1/meta/\2CfgDefn.java" />
1008N/A <param name="base-dir" expression="${admin.defn.dir}" />
1008N/A </xslt>
1008N/A
1008N/A <xslt basedir="${admin.defn.dir}" destdir="${admin.src.dir}" includes="**/Package.xml" style="${admin.rules.dir}/package-info.xsl">
1008N/A <regexpmapper handledirsep="true" from="^(.*)/([^/]+)\.xml$$" to="\1/meta/package-info.java" />
1008N/A <param name="type" expression="meta" />
1008N/A </xslt>
1008N/A
1008N/A <!-- Generate client API for core administration components. -->
1008N/A <xslt basedir="${admin.defn.dir}" destdir="${admin.src.dir}" includes="**/*Configuration.xml" style="${admin.rules.dir}/clientMO.xsl">
1008N/A <regexpmapper handledirsep="true" from="^(.*)/([^/]+)Configuration\.xml$$" to="\1/client/\2CfgClient.java" />
1008N/A <param name="base-dir" expression="${admin.defn.dir}" />
1008N/A </xslt>
1008N/A
1008N/A <xslt basedir="${admin.defn.dir}" destdir="${admin.src.dir}" includes="**/Package.xml" style="${admin.rules.dir}/package-info.xsl">
1008N/A <regexpmapper handledirsep="true" from="^(.*)/([^/]+)\.xml$$" to="\1/client/package-info.java" />
1008N/A <param name="type" expression="client" />
1008N/A </xslt>
1008N/A
1008N/A <!-- Generate server API for core administration components. -->
1008N/A <xslt basedir="${admin.defn.dir}" destdir="${admin.src.dir}" includes="**/*Configuration.xml" style="${admin.rules.dir}/serverMO.xsl">
1008N/A <regexpmapper handledirsep="true" from="^(.*)/([^/]+)Configuration\.xml$$" to="\1/server/\2Cfg.java" />
1008N/A <param name="base-dir" expression="${admin.defn.dir}" />
1008N/A </xslt>
1008N/A
1008N/A <xslt basedir="${admin.defn.dir}" destdir="${admin.src.dir}" includes="**/Package.xml" style="${admin.rules.dir}/package-info.xsl">
1008N/A <regexpmapper handledirsep="true" from="^(.*)/([^/]+)\.xml$$" to="\1/server/package-info.java" />
1008N/A <param name="type" expression="server" />
1008N/A </xslt>
1008N/A
1008N/A <!-- Generate LDAP profile for core administration components. -->
1008N/A <mkdir dir="${classes.dir}" />
1008N/A <xslt basedir="${admin.defn.dir}" destdir="${classes.dir}/admin/profiles/ldap" includes="**/*Configuration.xml" style="${admin.rules.dir}/ldapMOProfile.xsl">
1008N/A <regexpmapper handledirsep="true" from="^(.*)/([^/]+)Configuration\.xml$$" to="\1/meta/\2CfgDefn.properties" />
1008N/A <param name="base-dir" expression="${admin.defn.dir}" />
1008N/A </xslt>
1008N/A
1530N/A <!-- Generate CLI profile for core administration components. -->
1530N/A <xslt basedir="${admin.defn.dir}" destdir="${classes.dir}/admin/profiles/cli" includes="**/*Configuration.xml" style="${admin.rules.dir}/cliMOProfile.xsl">
1530N/A <regexpmapper handledirsep="true" from="^(.*)/([^/]+)Configuration\.xml$$" to="\1/meta/\2CfgDefn.properties" />
1530N/A <param name="base-dir" expression="${admin.defn.dir}" />
1530N/A </xslt>
1530N/A
1140N/A <!-- Generate I18N messages for core administration components. -->
1140N/A <xslt basedir="${admin.defn.dir}" destdir="${classes.dir}/admin/messages" includes="**/*Configuration.xml" style="${admin.rules.dir}/messagesMO.xsl">
1140N/A <regexpmapper handledirsep="true" from="^(.*)/([^/]+)Configuration\.xml$$" to="\1/meta/\2CfgDefn.properties" />
1140N/A <param name="base-dir" expression="${admin.defn.dir}" />
1140N/A </xslt>
3381N/A
1008N/A <!-- Generate manifest file for core administration components. -->
1008N/A <tempfile property="admin.temp.dir" destDir="${build.dir}" prefix="tmp" />
1008N/A <mkdir dir="${admin.temp.dir}" />
1008N/A <xslt basedir="${admin.defn.dir}" destdir="${admin.temp.dir}" extension=".manifest" includes="**/*Configuration.xml" style="${admin.rules.dir}/manifestMO.xsl"/>
1008N/A <concat destfile="${classes.dir}/admin/core.manifest">
1008N/A <fileset dir="${admin.temp.dir}" includes="**/*.manifest" />
1008N/A </concat>
1008N/A <delete dir="${admin.temp.dir}" />
1008N/A </target>
1008N/A
1177N/A
1177N/A
1008N/A <!-- Remove all dynamically-generated build files. -->
1008N/A <target name="cleanadmin" description="Clean up any generated source files for admin">
1008N/A <delete includeemptydirs="true">
1008N/A <fileset dir="${admin.src.dir}" includes="**/*" />
1008N/A </delete>
1008N/A </target>
1008N/A
1008N/A <!-- Validate core administration component XML definition files. -->
2459N/A <target name="validateadmin" description="Validate core administration component XML definition files.">
1008N/A <schemavalidate>
1008N/A <fileset dir="${admin.defn.dir}" includes="**/*.xml" />
1008N/A <schema namespace="http://www.opends.org/admin" file="${admin.rules.dir}/admin.xsd"/>
1008N/A <schema namespace="http://www.opends.org/admin-ldap" file="${admin.rules.dir}/admin-ldap.xsd"/>
1530N/A <schema namespace="http://www.opends.org/admin-cli" file="${admin.rules.dir}/admin-cli.xsd"/>
1008N/A </schemavalidate>
1008N/A </target>
1008N/A
2086N/A <!-- Remove all dynamically-generated build files. -->
2086N/A <target name="cleanmessages" description="Clean up any generated source files for messages">
2086N/A <delete includeemptydirs="true">
2086N/A <fileset dir="${msg.javagen.dir}" includes="**/*" />
2086N/A </delete>
2086N/A </target>
1395N/A
1395N/A <!-- Generate a src.zip file containing all the server source. -->
1395N/A <target name="srczip" depends="compileadmin"
1395N/A description="Generate a src.zip file with all the server source.">
1395N/A <zip destfile="${build.dir}/src.zip">
1395N/A <zipfileset dir="${src.dir}" excludes="**/.svn" filemode="644"
1395N/A dirmode="755" />
1395N/A <zipfileset dir="${admin.src.dir}" excludes="**/.svn" filemode="644"
1395N/A dirmode="755" />
1395N/A <zipfileset dir="${ads.src.dir}" excludes="**/.svn" filemode="644"
1395N/A dirmode="755" />
1395N/A <zipfileset dir="${quicksetup.src.dir}" excludes="**/.svn" filemode="644"
1395N/A dirmode="755" />
2033N/A <zipfileset dir="${guitools.src.dir}" excludes="**/.svn" filemode="644"
1395N/A dirmode="755" />
1395N/A </zip>
1395N/A </target>
1395N/A
3381N/A
3381N/A
1008N/A <!-- Generate example plugin package. -->
1008N/A <target name="example-plugin" if="pdir">
1008N/A <!-- Create folder hierarchy in temporary directory. -->
1008N/A <tempfile property="plugin.temp.dir" destDir="${build.dir}" prefix="tmp"/>
1008N/A <mkdir dir="${plugin.temp.dir}/example-plugin" />
1008N/A <mkdir dir="${plugin.temp.dir}/example-plugin/src" />
1008N/A <mkdir dir="${plugin.temp.dir}/example-plugin/src-generated" />
1008N/A <mkdir dir="${plugin.temp.dir}/example-plugin/lib" />
1008N/A <mkdir dir="${plugin.temp.dir}/example-plugin/ext" />
1008N/A <mkdir dir="${plugin.temp.dir}/example-plugin/resource" />
1008N/A <mkdir dir="${plugin.temp.dir}/example-plugin/resource/admin" />
1008N/A <mkdir dir="${plugin.temp.dir}/example-plugin/resource/config" />
1008N/A <mkdir dir="${plugin.temp.dir}/example-plugin/resource/schema" />
3646N/A <mkdir dir="${plugin.temp.dir}/example-plugin/resource/messages" />
1008N/A <copy todir="${plugin.temp.dir}/example-plugin/src">
1008N/A <fileset dir="${admin.defn.dir}" includes="**/*.xml" />
1008N/A </copy>
1008N/A <copy todir="${plugin.temp.dir}/example-plugin/resource/admin">
1008N/A <fileset dir="${admin.rules.dir}" excludes="example-plugin/**" />
1008N/A </copy>
1008N/A <copy todir="${plugin.temp.dir}/example-plugin" file="${admin.rules.dir}/example-plugin/build.xml" />
1008N/A <copy todir="${plugin.temp.dir}/example-plugin" file="${admin.rules.dir}/example-plugin/README" />
1008N/A <copy todir="${plugin.temp.dir}/example-plugin/resource/schema" file="${admin.rules.dir}/example-plugin/99-example-plugin.ldif" />
1008N/A <copy todir="${plugin.temp.dir}/example-plugin/resource/config" file="${admin.rules.dir}/example-plugin/example-plugin.ldif" />
1008N/A <copy todir="${plugin.temp.dir}/example-plugin/src/com/example/opends">
1008N/A <fileset dir="${admin.rules.dir}/example-plugin" includes="*.java,*.xml" excludes="build.xml" />
1008N/A </copy>
3646N/A <copy todir="${plugin.temp.dir}/example-plugin/lib" file="${build.dir}/build-tools/build-tools.jar" />
3646N/A <copy todir="${plugin.temp.dir}/example-plugin/resource/messages/com/example/opends/messages" file="${admin.rules.dir}/example-plugin/example_plugin.properties" />
3646N/A <copy todir="${plugin.temp.dir}/example-plugin/resource/messages/com/example/opends/messages" file="${admin.rules.dir}/example-plugin/example_plugin_fr.properties" />
1008N/A <!-- Package up the plugin in the OpenDS package folder. -->
1008N/A <zip destfile="${pdir}/example-plugin.zip">
1008N/A <zipfileset dir="${plugin.temp.dir}" filemode="644" dirmode="755" />
1008N/A </zip>
1008N/A <delete dir="${plugin.temp.dir}" />
1008N/A </target>
3381N/A
3349N/A <target name="snmpmessagebuild" if="isopendmkpresent">
3349N/A <echo message="SNMP extension will be built and included in the delivery."/>
3349N/A <echo message="OpenDMK jar file location is ${opendmk.lib.dir}/jdmkrt.jar"/>
3349N/A </target>
3381N/A
3349N/A <target name="snmpmessageNotbuild" unless="isopendmkpresent">
3349N/A <echo message="SNMP extension will NOT be built/included in the delivery."/>
3349N/A <echo message="You have to set the opendmk.lib.dir property in"/>
3349N/A <echo message="${basedir}/build.properties file to indicate"/>
3349N/A <echo message="the location of the OpenDMK jar files."/>
3349N/A <echo message="To get the OpenDMK jar files please, go under"/>
3349N/A <echo message="https://opendmk.dev.java.net/"/>
3349N/A </target>
3381N/A
3349N/A <target name="snmpecho" depends="snmpmessageNotbuild,snmpmessagebuild"/>
3381N/A
3349N/A <!-- SNMP targets -->
3349N/A <target name="cleansnmp" description="Clean up any SNMP generated source files">
3349N/A <delete includeemptydirs="true" failonerror="false">
3349N/A <fileset dir="${snmp.gen.dir}" includes="**/*" />
3349N/A </delete>
3349N/A </target>
3381N/A
3349N/A <target name="mibgeneration" if="isopendmkpresent" description="mibgen invocation">
3349N/A <property name="opendmktk.path" location="${opendmk.lib.dir}/jdmktk.jar"/>
3349N/A <mkdir dir="${snmp.gen.dir}/org/opends/server/snmp" />
3349N/A <exec dir="${snmp.mib.dir}" executable="java">
3349N/A <arg line="-classpath ${opendmktk.path}
3381N/A com.sun.jdmk.tools.MibGen -X:use-display-hint
3381N/A -d ${snmp.gen.dir}/org/opends/server/snmp -mc -desc
3381N/A -tp org.opends.server.snmp ${snmp.mib.dir}/rfc2605.txt
3349N/A ${snmp.mib.dir}/mib_core.txt
3349N/A ${snmp.mib.dir}/rfc2021.txt ${snmp.mib.dir}/rfc2788.txt"/>
3349N/A </exec>
3349N/A </target>
3381N/A
3349N/A <target name="compilesnmp"
3349N/A depends="init,checkjavaversion,dynamicconstants,generatemessages,compileadmin,mibgeneration"
3349N/A if="isopendmkpresent"
3349N/A description="Compile the SNMP Connection Handler extension source files.">
3381N/A
3349N/A <mkdir dir="${classes.dir}" />
3349N/A
3349N/A <javac srcdir="${snmp.gen.dir}"
3349N/A destdir="${classes.dir}" debug="on" debuglevel="${build.debuglevel}"
3349N/A source="1.4" target="1.4" deprecation="true" fork="true" nowarn="on"
3349N/A memoryInitialSize="${MEM}" memoryMaximumSize="${MEM}">
3349N/A <compilerarg value="-Xlint:all" />
3381N/A
3349N/A <classpath>
3349N/A <fileset dir="${lib.dir}">
3349N/A <include name="*.jar" />
3349N/A </fileset>
3349N/A <fileset dir="${opendmk.lib.dir}">
3349N/A <include name="*.jar" />
3349N/A </fileset>
3349N/A </classpath>
3349N/A </javac>
3381N/A
3349N/A <javac srcdir="${snmp.src.dir}"
3349N/A destdir="${classes.dir}" debug="on" debuglevel="${build.debuglevel}"
3349N/A source="1.5" target="1.5" deprecation="true" fork="true"
3349N/A memoryInitialSize="${MEM}" memoryMaximumSize="${MEM}">
3349N/A <compilerarg value="-Xlint:all" />
3349N/A
3349N/A <classpath>
3349N/A <fileset dir="${lib.dir}">
3349N/A <include name="*.jar" />
3349N/A </fileset>
3349N/A <fileset dir="${opendmk.lib.dir}">
3349N/A <include name="*.jar" />
3349N/A </fileset>
3349N/A </classpath>
3349N/A </javac>
3349N/A </target>
3349N/A
3381N/A
3349N/A <!-- Package the SNMP Directory Server extension for distribution. -->
3381N/A <target name="package-snmp" if="isopendmkpresent" depends="snmpecho,compilesnmp"
3349N/A description="Package the SNMP Directory Server extension for distribution.">
3349N/A <property name="pdir" location="${package.dir}/${SHORT_NAME}-${VERSION_NUMBER_STRING}"/>
3349N/A <mkdir dir="${pdir}/lib/extensions" />
3349N/A <mkdir dir="${pdir}/snmp/mib"/>
3349N/A <mkdir dir="${pdir}/config/snmp/security" />
3349N/A <!-- Copy security template files -->
3349N/A <copy todir="${pdir}/config/snmp/security">
3349N/A <fileset dir="${snmp.security.dir}"/>
3349N/A </copy>
3349N/A <!-- Copy the mib -->
3349N/A <copy todir="${pdir}/snmp/mib" file="${snmp.mib.dir}/rfc2605.txt"/>
3381N/A
3349N/A <!-- Update the config.ldif file with snmp config -->
3349N/A <concat destfile="${pdir}/config/config.ldif" append="true">
3349N/A <filelist dir="${snmp.config.dir}" files="config.snmp.ldif"/>
3349N/A </concat>
3381N/A
3349N/A <!-- Create the jar file -->
3349N/A <jar jarfile="${pdir}/lib/extensions/snmp-mib2605.jar"
3349N/A basedir="${classes.dir}"
3349N/A includes="org/opends/server/snmp/**"
3349N/A compress="true" index="true" />
3349N/A <echo message="SNMP Extension is built"/>
3349N/A <echo message="${pdir}/lib/extensions/snmp-mib2605.jar"/>
3349N/A </target>
3381N/A
3349N/A <target name="testsnmpinit" if="isopendmkpresent">
3349N/A <!-- Compile the SNMP test cases -->
3349N/A <mkdir dir="${unittest.classes.dir}" />
3349N/A <javac srcdir="${unittest.testng.src.dir}" destdir="${unittest.classes.dir}"
3349N/A debug="on" debuglevel="${build.debuglevel}" source="1.5"
3349N/A target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
3349N/A memoryMaximumSize="${MEM}" includes="org/opends/server/snmp/**">
3349N/A <compilerarg value="-Xlint:all" />
3349N/A
3349N/A <classpath>
3349N/A <fileset dir="${lib.dir}">
3349N/A <include name="*.jar" />
3349N/A </fileset>
3349N/A
3349N/A <fileset dir="${testng.lib.dir}">
3349N/A <include name="*.jar" />
3349N/A </fileset>
3381N/A
3349N/A <fileset dir="${opendmk.lib.dir}">
3349N/A <include name="*.jar" />
3349N/A </fileset>
3349N/A
3349N/A <path refid="run.classpath" />
3349N/A <path refid="quickSetup.classpath" />
3349N/A </classpath>
3349N/A </javac>
3349N/A </target>
3381N/A
0N/A</project>