<!--
|
! CDDL HEADER START
|
!
|
! The contents of this file are subject to the terms of the
|
! Common Development and Distribution License, Version 1.0 only
|
! (the "License"). You may not use this file except in compliance
|
! with the License.
|
!
|
! You can obtain a copy of the license at
|
! trunk/opends/resource/legal-notices/OpenDS.LICENSE
|
! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
|
! See the License for the specific language governing permissions
|
! and limitations under the License.
|
!
|
! When distributing Covered Code, include this CDDL HEADER in each
|
! file and include the License file at
|
! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
|
! add the following below this CDDL HEADER, with the fields enclosed
|
! by brackets "[]" replaced with your own identifying * information:
|
! Portions Copyright [yyyy] [name of copyright owner]
|
!
|
! CDDL HEADER END
|
!
|
!
|
! Portions Copyright 2006 Sun Microsystems, Inc.
|
! -->
|
|
<project name="Directory Server" basedir="." default="package">
|
<description>
|
This is the build script for the OpenDS Directory Server. See the BUILDING
|
file in this directory for build instructions.
|
</description>
|
|
|
|
|
<!-- General server-wide properties -->
|
<property name="src.dir" location="src/server" />
|
<property name="build.dir" location="build" />
|
<property name="classes.dir" location="${build.dir}/classes" />
|
<property name="lib.dir" location="lib" />
|
<property name="ext.dir" location="ext" />
|
<property name="package.dir" location="${build.dir}/package" />
|
<property name="javadoc.dir" location="${build.dir}/javadoc" />
|
<property name="resource.dir" location="resource" />
|
<property name="scripts.dir" location="${resource.dir}/bin" />
|
<property name="config.dir" location="${resource.dir}/config" />
|
|
<!-- Properties for use in unit testing. -->
|
<property name="unittest.dir" location="tests/unit-tests" />
|
<property name="unittest.src.dir" location="${unittest.dir}/src" />
|
|
<property name="unittest.testng.dir" location="tests/unit-tests-testng"/>
|
<property name="unittest.testng.src.dir"
|
location="${unittest.testng.dir}/src"/>
|
|
<property name="unittest.classes.dir"
|
location="${build.dir}/unit-tests/classes" />
|
<property name="unittest.report.dir"
|
location="${build.dir}/unit-tests/report"/>
|
|
<!-- Properties for use with the DSML component. -->
|
<property name="dsml.dir" location="resource/dsml" />
|
<property name="dsml.src.dir" location="src/dsml" />
|
<property name="dsml.lib.dir" location="${dsml.dir}/lib" />
|
<property name="dsml.gen.dir" location="${build.dir}/dsml/gen" />
|
<property name="dsml.classes.dir" location="${build.dir}/dsml/classes" />
|
|
<!-- Properties for code coverage testing. -->
|
<property name="coverage.dir" location="build/coverage" />
|
<property name="coverage.report.dir" location="${coverage.dir}/report" />
|
<property name="coverage.instr.dir"
|
location="${coverage.dir}/instrumentedcode" />
|
<property name="coverage.data.dir"
|
location="${coverage.dir}/gathereddata" />
|
|
<!-- Properties for the EMMA code coverage tool. -->
|
<property name="emma.dir" location="${ext.dir}/emma/lib" />
|
|
<!-- Properties for the TestNG unit testing tool. -->
|
<property name="testng.dir" location="${ext.dir}/testng" />
|
<property name="testng.lib.dir" location="${testng.dir}/lib" />
|
|
<!-- Properties for the checkstyle tool. -->
|
<property name="checkstyle.dir" location="${ext.dir}/checkstyle" />
|
|
<!-- Properties for Directory Server version information. -->
|
<property name="dynconstants.file"
|
location="${src.dir}/org/opends/server/util/DynamicConstants.java" />
|
<property file="PRODUCT" />
|
|
|
|
|
<!-- Create a package bundle containing the DSML library. -->
|
<target name="dsml" depends="predsml,package"
|
description="Build a Directory Server package bundle with DSML.">
|
</target>
|
|
|
|
|
<!-- The build target that should be used before committing code. -->
|
<target name="precommit" depends="checkstyle,dsml,javadoc,test"
|
description="Perform all processing needed before committing code." />
|
|
|
|
|
<!-- The build target that should be used for nightly builds. -->
|
<target name="nightly"
|
depends="checkstyle,dsml,javadoc,coverage,test"
|
description="Perform all processing needed for nightly builds." />
|
|
|
|
|
<!-- The build target that should be used for weekly builds. -->
|
<target name="weekly" depends="nightly"
|
description="Perform all processing needed for weekly builds." />
|
|
|
|
|
<!-- The build target that should be used to build everything. -->
|
<target name="all"
|
depends="checkstyle,dsml,javadoc,coverage,test"
|
description="Build using all defined targets." />
|
|
|
|
|
<!-- Remove all dynamically-generated build files. -->
|
<target name="clean"
|
description="Clean up any files generated during the build process">
|
|
<delete dir="${build.dir}" />
|
<delete file="${dynconstants.file}" />
|
</target>
|
|
|
|
|
<!-- Perform common initialization common to several targets. -->
|
<target name="init" depends="clean">
|
|
<tstamp>
|
<format property="timestamp" pattern="yyyyMMddHHmmss" />
|
</tstamp>
|
|
<condition property="DEBUG_BUILD" value="false">
|
<not>
|
<isset property="DEBUG_BUILD" />
|
</not>
|
</condition>
|
|
<condition property="MEM" value="128M">
|
<not>
|
<isset property="MEM" />
|
</not>
|
</condition>
|
|
|
<!--
|
! For some reason, some Apple VMs put quotes around the value of the
|
! java.vm.vendor property, which wreaks havoc with DynamicConstants. This
|
! pair of conditions attempts to work around that by detecting the quote
|
! and surrounding the value with backslashes.
|
! -->
|
<condition property="JVM_VENDOR" value="Apple Computer">
|
<contains string="${java.vm.vendor}" substring="Apple Computer"
|
casesensitive="false" />
|
</condition>
|
|
<condition property="JVM_VENDOR" value="${java.vm.vendor}">
|
<not>
|
<isset property="JVM_VENDOR" />
|
</not>
|
</condition>
|
|
|
<!-- Generate the DynamicConstants.java file. -->
|
<echo file="${dynconstants.file}">/*
|
* CDDL HEADER START
|
*
|
* The contents of this file are subject to the terms of the
|
* Common Development and Distribution License, Version 1.0 only
|
* (the "License"). You may not use this file except in compliance
|
* with the License.
|
*
|
* You can obtain a copy of the license at
|
* trunk/opends/resource/legal-notices/OpenDS.LICENSE
|
* or https://OpenDS.dev.java.net/OpenDS.LICENSE.
|
* See the License for the specific language governing permissions
|
* and limitations under the License.
|
*
|
* When distributing Covered Code, include this CDDL HEADER in each
|
* file and include the License file at
|
* trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
|
* add the following below this CDDL HEADER, with the fields enclosed
|
* by brackets "[]" replaced with your own identifying * information:
|
* Portions Copyright [yyyy] [name of copyright owner]
|
*
|
* CDDL HEADER END
|
*
|
*
|
* Portions Copyright 2006 Sun Microsystems, Inc.
|
*/
|
package org.opends.server.util;
|
|
/**
|
* This file contains a number of constants that are used throughout the
|
* Directory Server source. It was dynamically generated as part of the
|
* Directory Server build process and should not be edited directly.
|
*/
|
public class DynamicConstants
|
{
|
/**
|
* The official full product name for the Directory Server.
|
*/
|
public static final String PRODUCT_NAME = "${PRODUCT_NAME}";
|
|
/**
|
* The short product name for the Directory Server.
|
*/
|
public static final String SHORT_NAME = "${SHORT_NAME}";
|
|
/**
|
* The major version number for the Directory Server.
|
*/
|
public static final int MAJOR_VERSION = ${MAJOR_VERSION};
|
|
/**
|
* The minor version number for the Directory Server.
|
*/
|
public static final int MINOR_VERSION = ${MINOR_VERSION};
|
|
/**
|
* The point version number for the Directory Server.
|
*/
|
public static final int POINT_VERSION = ${POINT_VERSION};
|
|
/**
|
* The version qualifier string for the Directory Server.
|
*/
|
public static final String VERSION_QUALIFIER = "${VERSION_QUALIFIER}";
|
|
/**
|
* The set of bug IDs for fixes included in this build of the Directory
|
* Server.
|
*/
|
public static final String FIX_IDS = "${FIX_IDS}";
|
|
/**
|
* The build ID for the generated build of the Directory Server.
|
*/
|
public static final String BUILD_ID = "${timestamp}";
|
|
/**
|
* The username of the user that created this build.
|
*/
|
public static final String BUILD_USER = "${user.name}";
|
|
/**
|
* The Java version used to generate this build.
|
*/
|
public static final String BUILD_JAVA_VERSION = "${java.version}";
|
|
/**
|
* The vendor for the Java version used to generate this build.
|
*/
|
public static final String BUILD_JAVA_VENDOR = "${java.vendor}";
|
|
/**
|
* The JVM version used to generate this build.
|
*/
|
public static final String BUILD_JVM_VERSION = "${java.vm.version}";
|
|
/**
|
* The vendor for the JVM used to generate this build.
|
*/
|
public static final String BUILD_JVM_VENDOR = "${JVM_VENDOR}";
|
|
/**
|
* The operating system on which this build was generated.
|
*/
|
public static final String BUILD_OS = "${os.name} ${os.version} ${os.arch}";
|
|
/**
|
* Indicates whether this is a debug build of the Directory Server that may
|
* include additional debugging facilities not available in standard release
|
* versions.
|
*/
|
public static final boolean DEBUG_BUILD = ${DEBUG_BUILD};
|
}
|
|
</echo>
|
</target>
|
|
|
|
|
<!-- Ensure that the source code meets basic style requirements. -->
|
<target name="checkstyle" description="Perform basic source style checks">
|
|
<taskdef resource="checkstyletask.properties"
|
classpath="${checkstyle.dir}/checkstyle-all-4.1.jar" />
|
|
<checkstyle config="${checkstyle.dir}/opends-checkstyle.xml"
|
failOnViolation="true">
|
<fileset dir="${src.dir}" includes="**/*.java" />
|
<formatter type="plain" />
|
</checkstyle>
|
|
<checkstyle config="${checkstyle.dir}/opends-doctarget-checkstyle.xml"
|
failOnViolation="true">
|
<fileset dir="${src.dir}/org/opends/server/api" includes="**/*.java" />
|
<fileset dir="${src.dir}/org/opends/server/protocols/internal"
|
includes="**/*.java" />
|
<fileset dir="${src.dir}/org/opends/server/types"
|
includes="**/*.java" />
|
<formatter type="plain" />
|
</checkstyle>
|
</target>
|
|
|
|
|
<!-- Compile the Directory Server source files. -->
|
<target name="compile" depends="init"
|
description="Compile the Directory Server source files.">
|
|
<mkdir dir="${classes.dir}" />
|
|
<javac srcdir="${src.dir}" destdir="${classes.dir}" optimize="true"
|
debug="on" debuglevel="lines,source" source="1.5" target="1.5"
|
deprecation="true" fork="true" memoryInitialSize="${MEM}"
|
memoryMaximumSize="${MEM}">
|
<compilerarg value="-Xlint:all" />
|
|
<classpath>
|
<fileset dir="${lib.dir}">
|
<include name="*.jar" />
|
</fileset>
|
</classpath>
|
</javac>
|
</target>
|
|
|
|
|
<!--
|
! Rebuild the Directory Server without destorying any existing configuration
|
! or data. It will only overwrite the libraries, classes, and scripts, and
|
! it will not re-package. It will also not do a complete initialization, so
|
! DynamicConstants.java won't be regenerated.
|
! -->
|
<target name="rebuild"
|
description="Rebuild the server without destroying config or data.">
|
|
<!-- Set the amount of memory to use for the build -->
|
<condition property="MEM" value="128M">
|
<not>
|
<isset property="MEM" />
|
</not>
|
</condition>
|
|
<!-- Set properties needed to find the packaged files -->
|
<property name="pkgversion"
|
value="${MAJOR_VERSION}.${MINOR_VERSION}${VERSION_QUALIFIER}" />
|
<property name="pdir"
|
location="${package.dir}/OpenDS-${pkgversion}" />
|
|
<!-- Clean up a minimal set of files/directories for the rebuild. -->
|
<delete dir="${classes.dir}" />
|
<delete file="${package.dir}/lib/OpenDS.jar" />
|
<delete file="${pdir}.zip" />
|
|
<!-- Recreate the classes directory and recompile into it. -->
|
<mkdir dir="${classes.dir}" />
|
<javac srcdir="${src.dir}" destdir="${classes.dir}" optimize="true"
|
debug="on" debuglevel="lines,source" source="1.5" target="1.5"
|
deprecation="true" fork="true" memoryInitialSize="${MEM}"
|
memoryMaximumSize="${MEM}">
|
<compilerarg value="-Xlint:all" />
|
|
<classpath>
|
<fileset dir="${lib.dir}">
|
<include name="*.jar" />
|
</fileset>
|
</classpath>
|
</javac>
|
|
<!-- Generate the OpenDS.jar file -->
|
<jar jarfile="${pdir}/lib/OpenDS.jar"
|
basedir="${classes.dir}" compress="true" index="true" />
|
</target>
|
|
|
|
|
<!-- Populate the Directory Server package, but don't zip it up. -->
|
<target name="prepackage" depends="compile"
|
description="Prepare the Directory Server package structure.">
|
|
<property name="pkgversion"
|
value="${MAJOR_VERSION}.${MINOR_VERSION}${VERSION_QUALIFIER}" />
|
<property name="pdir"
|
location="${package.dir}/OpenDS-${pkgversion}" />
|
|
<mkdir dir="${pdir}" />
|
<mkdir dir="${pdir}/bak" />
|
<mkdir dir="${pdir}/bin" />
|
<mkdir dir="${pdir}/classes" />
|
<mkdir dir="${pdir}/config" />
|
<mkdir dir="${pdir}/config/schema" />
|
<mkdir dir="${pdir}/config/messages" />
|
<mkdir dir="${pdir}/db" />
|
<mkdir dir="${pdir}/changelogDb" />
|
<mkdir dir="${pdir}/ldif" />
|
<mkdir dir="${pdir}/lib" />
|
<mkdir dir="${pdir}/locks" />
|
<mkdir dir="${pdir}/logs" />
|
<mkdir dir="${pdir}/war" />
|
|
<jar jarfile="${pdir}/lib/OpenDS.jar"
|
basedir="${classes.dir}" compress="true" index="true" />
|
|
<copy todir="${pdir}/lib">
|
<fileset file="${lib.dir}/*.jar" />
|
</copy>
|
|
<copy todir="${pdir}/bin">
|
<fileset file="${scripts.dir}/*" />
|
</copy>
|
|
<copy todir="${pdir}/config">
|
<fileset file="${config.dir}/*" />
|
</copy>
|
|
<copy todir="${pdir}/config/schema">
|
<fileset dir="${resource.dir}/schema" />
|
</copy>
|
|
<copy todir="${pdir}/config/messages">
|
<fileset dir="${resource.dir}/messages" />
|
</copy>
|
|
<chmod file="${pdir}/bin/*.sh" perm="755" />
|
</target>
|
|
|
|
|
<!-- Package the Directory Server for distribution. -->
|
<target name="package" depends="prepackage"
|
description="Package the Directory Server for distribution.">
|
|
<zip destfile="${package.dir}/OpenDS-${pkgversion}.zip">
|
<zipfileset dir="${package.dir}" includes="**/*" excludes="**/*.sh"
|
filemode="644" dirmode="755" />
|
<zipfileset dir="${package.dir}" includes="**/*.sh" filemode="755"
|
dirmode="755" />
|
</zip>
|
</target>
|
|
|
|
|
<!-- Prepare the Directory Server DSML library. -->
|
<target name="predsml" depends="prepackage"
|
description="Prepare the Directory Server DSML library.">
|
|
<taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask">
|
<classpath>
|
<fileset dir="${dsml.lib.dir}">
|
<include name="**/*.jar" />
|
</fileset>
|
</classpath>
|
</taskdef>
|
|
<mkdir dir="${dsml.gen.dir}/org/opends/dsml/protocol" />
|
<xjc target="${dsml.gen.dir}" schema="${dsml.dir}/schema/DSMLv2.xsd"
|
removeOldOutput="yes" package="org.opends.dsml.protocol">
|
<produces dir="${dsml.gen.dir}/org/opends/dsml/protocol"
|
includes="* impl/*" />
|
</xjc>
|
|
<mkdir dir="${dsml.classes.dir}" />
|
|
<javac srcdir="${dsml.gen.dir}" destdir="${dsml.classes.dir}"
|
optimize="true" debug="on" debuglevel="lines,source" source="1.5"
|
target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
|
memoryMaximumSize="${MEM}">
|
<compilerarg value="-Xlint:all" />
|
|
<classpath>
|
<fileset dir="${dsml.lib.dir}">
|
<include name="*.jar" />
|
</fileset>
|
</classpath>
|
</javac>
|
|
<javac srcdir="${dsml.src.dir}" destdir="${dsml.classes.dir}"
|
optimize="true" debug="on" debuglevel="lines,source" source="1.5"
|
target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
|
memoryMaximumSize="${MEM}">
|
<compilerarg value="-Xlint:all" />
|
|
<classpath>
|
<fileset dir="${dsml.lib.dir}">
|
<include name="*.jar" />
|
</fileset>
|
|
<dirset dir="${classes.dir}" />
|
</classpath>
|
</javac>
|
|
<war destfile="${classes.dir}/dsml.war"
|
webxml="${dsml.dir}/webapp/web.xml">
|
<fileset file="${dsml.dir}/webapp/server.properties" />
|
|
<webinf dir="${dsml.dir}/webapp" includes="**/*"
|
excludes="web.xml, **/*.jar, **/*.properties" />
|
|
<classes dir="${dsml.classes.dir}" />
|
|
<lib dir="${dsml.lib.dir}">
|
<exclude name="j2ee.jar" />
|
</lib>
|
|
<lib dir="${pdir}/lib">
|
<exclude name="activation.jar" />
|
<exclude name="je.jar" />
|
</lib>
|
</war>
|
|
<copy todir="${pdir}/war">
|
<fileset file="${classes.dir}/*.war" />
|
</copy>
|
</target>
|
|
|
|
|
<!-- Generate JavaDoc documentation from the source files -->
|
<target name="javadoc" depends="package"
|
description="Generate JavaDoc documentation.">
|
|
<mkdir dir="${javadoc.dir}" />
|
|
<javadoc destdir="${javadoc.dir}" source="1.5" additionalparam="-quiet"
|
linksource="yes" windowtitle="${PRODUCT_NAME} API Documentation"
|
maxmemory="${MEM}">
|
<classpath>
|
<fileset dir="${lib.dir}">
|
<include name="*.jar" />
|
</fileset>
|
|
<fileset dir="${dsml.lib.dir}">
|
<include name="*.jar" />
|
</fileset>
|
|
<dirset dir="${classes.dir}" />
|
<dirset dir="${dsml.classes.dir}" />
|
</classpath>
|
|
<packageset dir="${src.dir}" />
|
<packageset dir="${dsml.src.dir}" />
|
</javadoc>
|
</target>
|
|
|
|
|
<!-- Prepare to generate a code coverage report. -->
|
<target name="coverage" description="Generate a code coverage report.">
|
|
<property name="coverage.enabled" value="true" />
|
|
<mkdir dir="${coverage.dir}" />
|
<mkdir dir="${coverage.data.dir}" />
|
<mkdir dir="${coverage.instr.dir}" />
|
<mkdir dir="${coverage.report.dir}" />
|
|
<path id="run.classpath">
|
<pathelement location="${classes.dir}" />
|
</path>
|
</target>
|
|
|
|
|
<!-- Prepare to execute the Directory Server unit tests. -->
|
<target name="testinit" depends="compile"
|
description="Prepare to execute the Directory Server unit tests.">
|
|
<!-- If we are to perform coverage tests, then set that up. -->
|
<path id="emma.lib">
|
<pathelement location="${emma.dir}/emma.jar" />
|
<pathelement location="${emma.dir}/emma_ant.jar" />
|
</path>
|
|
<taskdef resource="emma_ant.properties" classpathref="emma.lib" />
|
|
<emma enabled="${coverage.enabled}">
|
<instr instrpathref="run.classpath" destdir="${coverage.instr.dir}"
|
metadatafile="${coverage.data.dir}/metadata.emma" merge="true" />
|
</emma>
|
|
<!-- Compile the test cases -->
|
<mkdir dir="${unittest.classes.dir}" />
|
<javac srcdir="${unittest.src.dir}" destdir="${unittest.classes.dir}"
|
optimize="true" debug="on" debuglevel="lines,source" source="1.5"
|
target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
|
memoryMaximumSize="${MEM}">
|
<compilerarg value="-Xlint:all" />
|
|
<classpath>
|
<fileset dir="${lib.dir}">
|
<include name="*.jar" />
|
</fileset>
|
|
<fileset dir="${ext.dir}">
|
<include name="*.jar" />
|
</fileset>
|
|
<path refid="run.classpath" />
|
</classpath>
|
</javac>
|
</target>
|
|
|
|
|
<!-- Execute the Directory Server unit tests in text mode. -->
|
<target name="test" depends="testinit"
|
description="Execute the Directory Server unit tests in text mode.">
|
<mkdir dir="${unittest.report.dir}" />
|
|
<junit printsummary="withOutAndErr" fork="yes" maxmemory="${MEM}"
|
haltonfailure="on">
|
<classpath>
|
<pathelement location="${coverage.instr.dir}" />
|
|
<path refid="run.classpath" />
|
<path refid="emma.lib" />
|
|
<fileset dir="${lib.dir}">
|
<include name="*.jar" />
|
</fileset>
|
|
<fileset dir="${ext.dir}">
|
<include name="*.jar" />
|
</fileset>
|
|
<pathelement location="${unittest.classes.dir}" />
|
</classpath>
|
|
<jvmarg
|
value="-Demma.coverage.out.file=${coverage.data.dir}/coverage.emma" />
|
<jvmarg value="-Demma.coverage.out.merge=false" />
|
<formatter type="xml" />
|
<test todir="${unittest.report.dir}" outfile="DirectoryServerTestSuite"
|
name="org.opends.server.DirectoryServerTestSuite">
|
<formatter type="plain" />
|
</test>
|
</junit>
|
|
<!-- Generate a coverage report from these test cases -->
|
<emma enabled="${coverage.enabled}">
|
<report sourcepath="${src.dir}">
|
<fileset dir="${coverage.data.dir}">
|
<include name="*.emma" />
|
</fileset>
|
|
<txt outfile="${coverage.report.dir}/coverage.txt" />
|
<html outfile="${coverage.report.dir}/index.html" />
|
</report>
|
</emma>
|
</target>
|
|
|
|
<!-- Execute the Directory Server unit tests using a Swing GUI. -->
|
<target name="testgui" depends="testinit"
|
description="Execute the Directory Server unit tests in GUI mode.">
|
<java classname="junit.swingui.TestRunner" fork="true" maxmemory="${MEM}">
|
<arg value="org.opends.server.DirectoryServerTestSuite" />
|
|
<classpath>
|
<fileset dir="${lib.dir}">
|
<include name="*.jar" />
|
</fileset>
|
|
<fileset dir="${ext.dir}">
|
<include name="*.jar" />
|
</fileset>
|
|
<pathelement location="${classes.dir}" />
|
<pathelement location="${unittest.classes.dir}" />
|
</classpath>
|
</java>
|
</target>
|
|
<!-- Prepare to execute the Directory Server TestNG unit tests. -->
|
<target name="testng-testinit" depends="compile"
|
description="Prepare to execute the Directory Server TestNG unit tests.">
|
|
<!-- If we are to perform coverage tests, then set that up. -->
|
<path id="emma.lib">
|
<pathelement location="${emma.dir}/emma.jar" />
|
<pathelement location="${emma.dir}/emma_ant.jar" />
|
</path>
|
|
<taskdef resource="emma_ant.properties" classpathref="emma.lib" />
|
|
<emma enabled="${coverage.enabled}">
|
<instr instrpathref="run.classpath" destdir="${coverage.instr.dir}"
|
metadatafile="${coverage.data.dir}/metadata.emma" merge="true" />
|
</emma>
|
|
<!-- Compile the test cases -->
|
<mkdir dir="${unittest.classes.dir}" />
|
<javac srcdir="${unittest.testng.src.dir}" destdir="${unittest.classes.dir}"
|
optimize="true" debug="on" debuglevel="lines,source" source="1.5"
|
target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
|
memoryMaximumSize="${MEM}">
|
<compilerarg value="-Xlint:all" />
|
|
<classpath>
|
<fileset dir="${lib.dir}">
|
<include name="*.jar" />
|
</fileset>
|
|
<fileset dir="${testng.lib.dir}">
|
<include name="*.jar" />
|
</fileset>
|
|
<path refid="run.classpath" />
|
</classpath>
|
</javac>
|
</target>
|
|
<!-- Execute the Directory Server TestNG unit tests in text mode. -->
|
<target name="testng-test"
|
depends="testng-testinit"
|
description="Execute the Directory Server TestNG unit tests in text mode.">
|
<mkdir dir="${unittest.report.dir}" />
|
|
<taskdef resource="testngtasks">
|
<classpath>
|
<fileset dir="${testng.lib.dir}">
|
<include name="*.jar" />
|
</fileset>
|
</classpath>
|
</taskdef>
|
|
<testng outputdir="${unittest.report.dir}" haltonfailure="true"
|
enableAssert="false">
|
<classpath>
|
<pathelement location="${coverage.instr.dir}" />
|
|
<path refid="run.classpath" />
|
<!--<path refid="emma.lib" />-->
|
|
<fileset dir="${lib.dir}">
|
<include name="*.jar" />
|
</fileset>
|
|
<fileset dir="${testng.lib.dir}">
|
<include name="*.jar" />
|
</fileset>
|
|
<pathelement location="${unittest.classes.dir}" />
|
</classpath>
|
|
<xmlfileset dir="${testng.dir}" includes="testng.xml" />
|
</testng>
|
</target>
|
|
<target name="testng-report"
|
depends="testng-test"
|
description="Takes testng results and convert them into JUnit compatible xml">
|
<junitreport todir="${unittest.report.dir}">
|
<fileset dir="${unittest.report.dir}">
|
<include name="*.xml"/>
|
</fileset>
|
|
<report format="noframes" todir="${unittest.report.dir}"/>
|
</junitreport>
|
</target>
|
|
</project>
|