| | |
| | | ! Portions Copyright 2012 Delta Victor Consultants |
| | | ! --> |
| | | |
| | | <project name="Directory Server" basedir="." default="package" |
| | | xmlns:ivy="antlib:org.apache.ivy.ant"> |
| | | <project name="Config framework generation" basedir="."> |
| | | <description> |
| | | This is the build script for OpenDJ. See the BUILDING |
| | | file in this directory for build instructions. |
| | | This is the build legacy OpenDJ configuration framework. |
| | | This file and the ext/ directory would be able to remove once the migration |
| | | to the new configuration framework (see opendj-config) will be done. |
| | | </description> |
| | | |
| | | <!-- Build JVM properties --> |
| | | <property name="MEM" value="512M"/> |
| | | <property name="PERMSIZE" value="128M"/> |
| | | |
| | | <!-- Build OpenDMK properties --> |
| | | <property file="build.properties"/> |
| | | |
| | | <!-- General server-wide properties --> |
| | | <property name="src.dir" location="src/server" /> |
| | | <property name="build.dir" location="target" /> |
| | | <property name="build.dir" location="target"/> |
| | | <property name="classes.dir" location="${build.dir}/classes" /> |
| | | <property name="build.lib.dir" location="${build.dir}/lib" /> |
| | | <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="docgen.dir" location="${build.dir}/docgen" /> |
| | | <property name="configguide.dir" location="${docgen.dir}/configuration_guide" /> |
| | | <property name="configguideldap.dir" location="${docgen.dir}/configuration_guide_with_ldap_mapping" /> |
| | | <property name="wiki.home" value="https://wikis.forgerock.org/confluence/display/opendj/Home"/> |
| | | <property name="resource.dir" location="resource" /> |
| | | <property name="scripts.dir" location="${resource.dir}/bin" /> |
| | | <property name="config.dir" location="${resource.dir}/config" /> |
| | | <property name="build.debuglevel" value="lines,vars,source" /> |
| | | <property name="ivy.install.version" value="2.3.0"/> |
| | | <property name="ivy.jar.file" value="${ext.dir}/ivy.jar"/> |
| | | <!-- example command line to invoke for building offline: |
| | | ant resolve -Dbuild.offline= |
| | | --> |
| | | <condition property="ivy.checkmodified" value="false" else="true"> |
| | | <isset property="build.offline"/> |
| | | </condition> |
| | | <condition property="ivy.changingpattern" value="" else=".*-SNAPSHOT"> |
| | | <isset property="build.offline"/> |
| | | </condition> |
| | | |
| | | <!-- Properties for build tools --> |
| | | <property name="buildtools.src.dir" location="src/build-tools" /> |
| | | <property name="buildtools.classes.dir" location="${build.dir}/build-tools/classes" /> |
| | | <property name="buildtools.jar" location="${build.dir}/build-tools/build-tools.jar" /> |
| | | |
| | | <!-- Properties for use in unit testing. --> |
| | | <property name="unittest.testng.dir" location="tests/unit-tests-testng"/> |
| | | <property name="unittest.testng.src.dir" |
| | | location="${unittest.testng.dir}/src/server"/> |
| | | |
| | | <property name="unittest.classes.dir" |
| | | location="${build.dir}/unit-tests/classes" /> |
| | | <property name="unittest.report.dir" |
| | | location="${build.dir}/unit-tests/report"/> |
| | | <property name="unittest.resource.dir" |
| | | location="${build.dir}/unit-tests/resource"/> |
| | | |
| | | <!-- 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 use with the Quick Setup. --> |
| | | <property name="quicksetup.src.dir" location="src/quicksetup" /> |
| | | <property name="quicksetup.classes.dir" |
| | | location="${build.dir}/quicksetup/classes" /> |
| | | <property name="quicksetup.globalcompile.classes.dir" |
| | | location="${classes.dir}/org/opends/quicksetup" /> |
| | | <property name="ads.src.dir" location="src/ads" /> |
| | | <property name="ads.classes.dir" location="${classes.dir}/org/opends/admin/ads"/> |
| | | |
| | | <!-- Properties for use with the GUI Tools that go in OpenDJ jar. --> |
| | | <property name="guitools.src.dir" location="src/guitools" /> |
| | | |
| | | <!-- Properties for coverage diff reports --> |
| | | <property name="cvgdiff.dir" location="${build.dir}/diff" /> |
| | | <property name="cvgdiff.report.dir" |
| | | location="${cvgdiff.dir}/report" /> |
| | | |
| | | <!-- Properties for code coverage testing. --> |
| | | <property name="coverage.dir" location="${build.dir}/coverage" /> |
| | | <property name="coverage.report.dir" |
| | | location="${coverage.dir}/reports/unit" /> |
| | | <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 AspectJ tools --> |
| | | <property name="aj.dir" location="${ext.dir}/aspectj" /> |
| | | <property name="aj.lib.dir" location="${aj.dir}/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 ANT build tool. --> |
| | | <property name="ant.dir" location="${ext.dir}/ant" /> |
| | | <property name="ant.lib.dir" location="${ant.dir}/lib" /> |
| | | |
| | | <!-- Properties for the checkstyle tool. --> |
| | | <property name="checkstyle.dir" location="${ext.dir}/checkstyle" /> |
| | | <property name="checkstyle.cache.dir" location=".checkstyle-cache" /> |
| | | |
| | | <!-- Properties for the SVNKit tool. --> |
| | | <property name="svnkit.dir" location="${ext.dir}/svnkit" /> |
| | | <property name="svnkit.lib.dir" location="${ext.dir}/svnkit/lib" /> |
| | | |
| | | <!-- Properties for Directory Server version information. --> |
| | | <property name="dynconstants.file" |
| | | location="${src.dir}/org/opends/server/util/DynamicConstants.java" /> |
| | | <property name="dynconstants.stubfile" |
| | | location="${resource.dir}/DynamicConstants.java.stubs" /> |
| | | |
| | | |
| | | <property file="PRODUCT" /> |
| | | |
| | | <!-- Properties for administration framework code generation. --> |
| | | <property name="admin.defn.dir" location="${build.dir}/config/admin/defn" /> |
| | | <property name="admin.src.dir" location="src/admin/generated" /> |
| | | <property name="admin.rules.dir" location="resource/admin" /> |
| | | <property name="configguide.resource.dir" |
| | | location="../opendj-doc-maven-plugin/src/main/resources/config-ref" /> |
| | | |
| | | <!-- Properties for generating messages. --> |
| | | <property name="msg.dir" location="src/messages" /> |
| | | <property name="msg.prop.dir" location="${msg.dir}/messages" /> |
| | | <property name="msg.javagen.dir" location="${msg.dir}/generated" /> |
| | | <property name="msg.logref.dir" location="${docgen.dir}/logref" /> |
| | | <property name="msg.package.dir" location="${classes.dir}/messages" /> |
| | | <property name="msg.src.dir" location="${msg.dir}/src" /> |
| | | |
| | | <!-- Properties for L10n for generating messages. --> |
| | | <property name="msgl10n.prop.dir" location="src/admin/messages/" /> |
| | | <property name="msgl10n.diff.dir" location="${build.dir}/l10nmsg/" /> |
| | | |
| | | |
| | | <!-- Properties for SNMP extension. --> |
| | | <property name="snmp.mib.dir" location="src/snmp/resource/mib" /> |
| | | <property name="snmp.security.dir" location="src/snmp/resource/security" /> |
| | | <property name="snmp.config.dir" location="src/snmp/resource/config" /> |
| | | <property name="snmp.resource.dir" location="src/snmp/resource" /> |
| | | <property name="snmp.gen.dir" location="src/snmp/generated" /> |
| | | <property name="snmp.src.dir" location="src/snmp/src" /> |
| | | <property name="snmp.classes.dir" |
| | | location="${classes.dir}/org/opends/server/snmp" /> |
| | | |
| | | |
| | | <!-- Properties for license inclusion. --> |
| | | <condition property="include.license.file"> |
| | | <available file="${license.file}" type="file" /> |
| | | </condition> |
| | | <fail message="The license file '${license.file}' could not be found"> |
| | | <condition> |
| | | <and> |
| | | <isset property="license.file"/> |
| | | <length string="${license.file}" trim="true" when="greater" length="0"/> |
| | | <isfalse value="${include.license.file}"/> |
| | | </and> |
| | | </condition> |
| | | </fail> |
| | | |
| | | <!-- Allow platform-specific checks. --> |
| | | <condition property="build.windows"> |
| | | <os family="windows"/> |
| | | </condition> |
| | | |
| | | <!-- sort-of Maven like properties for opendj dependencies --> |
| | | <fileset id="opendj.runtime.jars" dir="${lib.dir}/compile" /> |
| | | <fileset id="opendj.test.jars" dir="${lib.dir}/test" /> |
| | | |
| | | <!-- Prevent ant runtime from being included on classpath during |
| | | compilation. --> |
| | | <presetdef name="javac"> |
| | | <javac optimize="true" includeantruntime="false" |
| | | source="1.6" target="1.6" |
| | | debug="on" debuglevel="${build.debuglevel}" |
| | | deprecation="true" fork="true" |
| | | memoryInitialSize="${MEM}" memoryMaximumSize="${MEM}"> |
| | | <compilerarg value="-Xlint:all" /> |
| | | <compilerarg value="-Xlint:-rawtypes" /> |
| | | <compilerarg value="-Xlint:-static" /> |
| | | <compilerarg value="-Xlint:-unchecked" /> |
| | | </javac> |
| | | </presetdef> |
| | | |
| | | <!-- Create a package bundle containing the DSML library. --> |
| | | <target name="dsml" depends="predsml,package" |
| | | description="Build a Directory Server package bundle with DSML."> |
| | | <!-- Validate core administration component XML definition files. --> |
| | | <target name="validateadmin" description="Validate core administration component XML definition files."> |
| | | <schemavalidate> |
| | | <fileset dir="${admin.defn.dir}" includes="**/*.xml" /> |
| | | <schema namespace="http://www.opends.org/admin" file="${admin.rules.dir}/admin.xsd"/> |
| | | <schema namespace="http://www.opends.org/admin-ldap" file="${admin.rules.dir}/admin-ldap.xsd"/> |
| | | <schema namespace="http://www.opends.org/admin-cli" file="${admin.rules.dir}/admin-cli.xsd"/> |
| | | </schemavalidate> |
| | | </target> |
| | | |
| | | <target name="initPrecommit"> |
| | | <property name="isPrecommit" value="true"/> |
| | | </target> |
| | | |
| | | <!-- The build target that should be used before committing code. --> |
| | | <target name="precommit" depends="initPrecommit,clean,dynamicconstants, |
| | | checkstyle,checkprecommit,dsml,test" |
| | | description="Perform all processing needed before committing code."> |
| | | </target> |
| | | |
| | | <!-- The build target that should be used for nightly builds. --> |
| | | <target name="nightly" |
| | | depends="nightlybuild,nightlytests" |
| | | description="Perform all processing needed for nightly builds."> |
| | | </target> |
| | | |
| | | <!-- The build target that should be used for build part of nightly builds. --> |
| | | <target name="nightlybuild" |
| | | depends="checkstyle,dsml,srczip,javadoc,docgen" |
| | | description="Perform all processing related to build for nightly builds."> |
| | | </target> |
| | | |
| | | <!-- The build target that should be used for test part of nightly builds. --> |
| | | <target name="nightlytests" |
| | | depends="testall" |
| | | description="Perform all processing related to unit tests for nightly builds."> |
| | | </target> |
| | | |
| | | |
| | | <!-- The build target that should be used for weekly builds. --> |
| | | <target name="weekly" depends="nightly" |
| | | description="Perform all processing needed for weekly builds."> |
| | | </target> |
| | | |
| | | <target name="prepare-release" depends="check-no-snapshot-dependencies,check-documentations-built-with-correct-url" |
| | | description="Performs all the checks to prepare a release."> |
| | | <echo> |
| | | Previous checks succeeded. |
| | | |
| | | Please: |
| | | 1- Check the archive has no build number |
| | | 2- Check the archive contains the license |
| | | 3- Run the tests |
| | | </echo> |
| | | </target> |
| | | |
| | | <target name="check-documentations-built-with-correct-url"> |
| | | <fail message="The documentation must be built with the correct URL. Incorrectly found 'opendj.forgerock.org' inside PRODUCT file."> |
| | | <condition> |
| | | <resourcecontains resource="PRODUCT" substring="opendj.forgerock.org" /> |
| | | </condition> |
| | | </fail> |
| | | </target> |
| | | |
| | | |
| | | <!-- The build target that should be used to build everything. --> |
| | | <target name="all" |
| | | depends="checkstyle,clean,checkprecommit,dsml,srczip,javadoc,docgen,testall" |
| | | description="Build using all defined targets."> |
| | | </target> |
| | | |
| | | |
| | | <target name="generatemessages" depends="buildtools,resolve"> |
| | | <typedef name="genmsg" |
| | | classname="org.opends.build.tools.GenerateMessageFile" > |
| | | <classpath> |
| | | <fileset dir="${build.dir}/build-tools"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | <fileset dir="${lib.dir}/compile"> |
| | | <include name="i18n-core.jar" /> |
| | | </fileset> |
| | | </classpath> |
| | | </typedef> |
| | | <!-- |
| | | <genmsg sourceProps="${msg.prop.dir}/xxx.properties" |
| | | destJava="${msg.javagen.dir}/org/opends/messages/XxxMessages.java"> |
| | | </genmsg> |
| | | --> |
| | | <genmsg sourceProps="${msg.prop.dir}/access_control.properties" |
| | | destJava="${msg.javagen.dir}/org/opends/messages/AccessControlMessages.java"> |
| | | </genmsg> |
| | | <genmsg sourceProps="${msg.prop.dir}/admin.properties" |
| | | destJava="${msg.javagen.dir}/org/opends/messages/AdminMessages.java"> |
| | | </genmsg> |
| | | <genmsg sourceProps="${msg.prop.dir}/admin_tool.properties" |
| | | destJava="${msg.javagen.dir}/org/opends/messages/AdminToolMessages.java"> |
| | | </genmsg> |
| | | <genmsg sourceProps="${msg.prop.dir}/backend.properties" |
| | | destJava="${msg.javagen.dir}/org/opends/messages/BackendMessages.java"> |
| | | </genmsg> |
| | | <genmsg sourceProps="${msg.prop.dir}/config.properties" |
| | | destJava="${msg.javagen.dir}/org/opends/messages/ConfigMessages.java"> |
| | | </genmsg> |
| | | <genmsg sourceProps="${msg.prop.dir}/core.properties" |
| | | destJava="${msg.javagen.dir}/org/opends/messages/CoreMessages.java"> |
| | | </genmsg> |
| | | <genmsg sourceProps="${msg.prop.dir}/dsconfig.properties" |
| | | destJava="${msg.javagen.dir}/org/opends/messages/DSConfigMessages.java"> |
| | | </genmsg> |
| | | <genmsg sourceProps="${msg.prop.dir}/extension.properties" |
| | | destJava="${msg.javagen.dir}/org/opends/messages/ExtensionMessages.java"> |
| | | </genmsg> |
| | | <genmsg sourceProps="${msg.prop.dir}/log.properties" |
| | | destJava="${msg.javagen.dir}/org/opends/messages/LoggerMessages.java"> |
| | | </genmsg> |
| | | <genmsg sourceProps="${msg.prop.dir}/plugin.properties" |
| | | destJava="${msg.javagen.dir}/org/opends/messages/PluginMessages.java"> |
| | | </genmsg> |
| | | <genmsg sourceProps="${msg.prop.dir}/protocol.properties" |
| | | destJava="${msg.javagen.dir}/org/opends/messages/ProtocolMessages.java"> |
| | | </genmsg> |
| | | <genmsg sourceProps="${msg.prop.dir}/quicksetup.properties" |
| | | destJava="${msg.javagen.dir}/org/opends/messages/QuickSetupMessages.java"> |
| | | </genmsg> |
| | | <genmsg sourceProps="${msg.prop.dir}/replication.properties" |
| | | destJava="${msg.javagen.dir}/org/opends/messages/ReplicationMessages.java"> |
| | | </genmsg> |
| | | <genmsg sourceProps="${msg.prop.dir}/schema.properties" |
| | | destJava="${msg.javagen.dir}/org/opends/messages/SchemaMessages.java"> |
| | | </genmsg> |
| | | <genmsg sourceProps="${msg.prop.dir}/task.properties" |
| | | destJava="${msg.javagen.dir}/org/opends/messages/TaskMessages.java"> |
| | | </genmsg> |
| | | <genmsg sourceProps="${msg.prop.dir}/tools.properties" |
| | | destJava="${msg.javagen.dir}/org/opends/messages/ToolMessages.java"> |
| | | </genmsg> |
| | | <genmsg sourceProps="${msg.prop.dir}/utility.properties" |
| | | destJava="${msg.javagen.dir}/org/opends/messages/UtilityMessages.java"> |
| | | </genmsg> |
| | | <genmsg sourceProps="${msg.prop.dir}/version.properties" |
| | | destJava="${msg.javagen.dir}/org/opends/messages/VersionMessages.java"> |
| | | </genmsg> |
| | | <genmsg sourceProps="${msg.prop.dir}/runtime_information.properties" |
| | | destJava="${msg.javagen.dir}/org/opends/messages/RuntimeMessages.java"> |
| | | </genmsg> |
| | | |
| | | </target> |
| | | |
| | | |
| | | <target name="generateLogReference" depends="buildtools"> |
| | | <typedef name="genlogref" |
| | | classname="org.opends.build.tools.GenerateMessageFile" > |
| | | <classpath> |
| | | <fileset dir="${build.dir}/build-tools"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | </classpath> |
| | | </typedef> |
| | | <!-- |
| | | <genlogref sourceProps="${msg.prop.dir}/xxx_yyy.properties" |
| | | destJava="${msg.logref.dir}/log-ref-xxx-yyy.xml" |
| | | writelogref="true" /> |
| | | --> |
| | | <genlogref sourceProps="${msg.prop.dir}/access_control.properties" |
| | | destJava="${msg.logref.dir}/log-ref-access-control.xml" |
| | | writelogref="true" /> |
| | | <genlogref sourceProps="${msg.prop.dir}/admin.properties" |
| | | destJava="${msg.logref.dir}/log-ref-admin.xml" |
| | | writelogref="true" /> |
| | | <!-- Ignore admin tool messages while documenting only serious errors. |
| | | <genlogref sourceProps="${msg.prop.dir}/admin_tool.properties" |
| | | destJava="${msg.logref.dir}/log-ref-admin-tool.xml" |
| | | writelogref="true" /> |
| | | --> |
| | | <genlogref sourceProps="${msg.prop.dir}/backend.properties" |
| | | destJava="${msg.logref.dir}/log-ref-backend.xml" |
| | | writelogref="true" /> |
| | | <genlogref sourceProps="${msg.prop.dir}/config.properties" |
| | | destJava="${msg.logref.dir}/log-ref-config.xml" |
| | | writelogref="true" /> |
| | | <genlogref sourceProps="${msg.prop.dir}/core.properties" |
| | | destJava="${msg.logref.dir}/log-ref-core.xml" |
| | | writelogref="true" /> |
| | | <genlogref sourceProps="${msg.prop.dir}/dsconfig.properties" |
| | | destJava="${msg.logref.dir}/log-ref-dsconfig.xml" |
| | | writelogref="true" /> |
| | | <genlogref sourceProps="${msg.prop.dir}/extension.properties" |
| | | destJava="${msg.logref.dir}/log-ref-extension.xml" |
| | | writelogref="true" /> |
| | | <genlogref sourceProps="${msg.prop.dir}/jeb.properties" |
| | | destJava="${msg.logref.dir}/log-ref-jeb.xml" |
| | | writelogref="true" /> |
| | | <genlogref sourceProps="${msg.prop.dir}/log.properties" |
| | | destJava="${msg.logref.dir}/log-ref-log.xml" |
| | | writelogref="true" /> |
| | | <genlogref sourceProps="${msg.prop.dir}/plugin.properties" |
| | | destJava="${msg.logref.dir}/log-ref-plugin.xml" |
| | | writelogref="true" /> |
| | | <genlogref sourceProps="${msg.prop.dir}/protocol.properties" |
| | | destJava="${msg.logref.dir}/log-ref-protocol.xml" |
| | | writelogref="true" /> |
| | | <!-- Ignore QuickSetup messages that users handle interactively. |
| | | <genlogref sourceProps="${msg.prop.dir}/quicksetup.properties" |
| | | destJava="${msg.logref.dir}/log-ref-quicksetup.xml" |
| | | writelogref="true" /> |
| | | --> |
| | | <genlogref sourceProps="${msg.prop.dir}/replication.properties" |
| | | destJava="${msg.logref.dir}/log-ref-replication.xml" |
| | | writelogref="true" /> |
| | | <!-- Ignore runtime info messages while documenting only serious errors. |
| | | <genlogref sourceProps="${msg.prop.dir}/runtime_information.properties" |
| | | destJava="${msg.logref.dir}/log-ref-runtime-information.xml" |
| | | writelogref="true" /> |
| | | --> |
| | | <genlogref sourceProps="${msg.prop.dir}/schema.properties" |
| | | destJava="${msg.logref.dir}/log-ref-schema.xml" |
| | | writelogref="true" /> |
| | | <genlogref sourceProps="${msg.prop.dir}/task.properties" |
| | | destJava="${msg.logref.dir}/log-ref-task.xml" |
| | | writelogref="true" /> |
| | | <genlogref sourceProps="${msg.prop.dir}/tools.properties" |
| | | destJava="${msg.logref.dir}/log-ref-tools.xml" |
| | | writelogref="true" /> |
| | | <genlogref sourceProps="${msg.prop.dir}/utility.properties" |
| | | destJava="${msg.logref.dir}/log-ref-utility.xml" |
| | | writelogref="true" /> |
| | | <!-- Ignore version messages while documenting only serious errors. |
| | | <genlogref sourceProps="${msg.prop.dir}/version.properties" |
| | | destJava="${msg.logref.dir}/log-ref-version.xml" |
| | | writelogref="true" /> |
| | | --> |
| | | |
| | | <copy file="${resource.dir}/log-message-reference.xml" |
| | | todir="${msg.logref.dir}" /> |
| | | </target> |
| | | |
| | | <!-- Remove all dynamically-generated build files. --> |
| | | <target name="clean" depends="init,cleanadmin,cleanmessages,cleansnmp,cleanlib" |
| | | description="Clean up any files generated during the build process"> |
| | | |
| | | <delete dir="${build.dir}" /> |
| | | <delete file="${dynconstants.file}" /> |
| | | <fileset dir="${lib.dir}"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | </target> |
| | | |
| | | |
| | | |
| | | <!-- Perform common initialization common to several targets after cleaning out the previous build environment. --> |
| | | <target name="cleaninit" depends="clean,init"> |
| | | </target> |
| | | |
| | | |
| | | |
| | | <!-- Set the property valid.java.version if the java version is valid. --> |
| | | <target name="validjavaversion" |
| | | depends="buildtools" > |
| | | |
| | | <property name="min.java.version" value="1.6.0_10" /> |
| | | |
| | | <typedef name="validjavaversion" |
| | | classname="org.opends.build.tools.ValidJavaVersion" > |
| | | <classpath> |
| | | <fileset dir="${build.dir}/build-tools"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | </classpath> |
| | | </typedef> |
| | | |
| | | <condition property="valid.java.version"> |
| | | <validjavaversion minVersion="${min.java.version}" /> |
| | | </condition> |
| | | |
| | | </target> |
| | | |
| | | <!-- Warn if the build java version is too old. --> |
| | | <target name="checkjavaversion" |
| | | depends="validjavaversion" |
| | | unless="valid.java.version" > |
| | | <echo level="warning" |
| | | message="WARNING: Java version ${java.version} is too old."/> |
| | | <echo level="warning" |
| | | message="Java version ${min.java.version} or later is required to build ${SHORT_NAME}."/> |
| | | </target> |
| | | |
| | | |
| | | <!-- Perform common initialization common to several targets. --> |
| | | <target name="init"> |
| | | |
| | | <path id="run.classpath"> |
| | | <pathelement location="${classes.dir}" /> |
| | | </path> |
| | | |
| | | <path id="quickSetup.classpath"> |
| | | <pathelement location="${quicksetup.classes.dir}" /> |
| | | </path> |
| | | |
| | | <tstamp> |
| | | <format property="timestamp" pattern="yyyyMMddHHmmss'Z'" |
| | | timezone="UTC" /> |
| | | </tstamp> |
| | | |
| | | <condition property="DEBUG_BUILD" value="false"> |
| | | <not> |
| | | <isset property="DEBUG_BUILD" /> |
| | | </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> |
| | | |
| | | <condition property="isopendmkpresent"> |
| | | <or> |
| | | <and> |
| | | <available file="${opendmk.lib.dir}/jdmkrt.jar"/> |
| | | <available file="${opendmk.lib.dir}/jdmktk.jar"/> |
| | | </and> |
| | | <and> |
| | | <available file="${ext.dir}/jdmkrt.jar"/> |
| | | <available file="${ext.dir}/jdmktk.jar"/> |
| | | </and> |
| | | </or> |
| | | </condition> |
| | | |
| | | <condition property="isadmingendirpresent"> |
| | | <available file="${admin.src.dir}" type="dir" /> |
| | | </condition> |
| | | |
| | | <condition property="ismsggendirpresent"> |
| | | <available file="${msg.javagen.dir}" type="dir" /> |
| | | </condition> |
| | | |
| | | </target> |
| | | |
| | | |
| | | |
| | | |
| | | <!-- Build the DynamicConstants.java file and any of its dependencies. --> |
| | | <target name="dynamicconstants" depends="init,buildtools"> |
| | | <!-- Get the revision number of the current Subversion workspace --> |
| | | <taskdef name="getsvnrevision" |
| | | classname="org.opends.build.tools.GetSubversionRevision"> |
| | | <classpath> |
| | | <fileset dir="${build.dir}/build-tools"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | <fileset dir="${svnkit.lib.dir}"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | </classpath> |
| | | </taskdef> |
| | | |
| | | <getsvnrevision property="REVISION_NUMBER" /> |
| | | |
| | | <!-- Get the url repo of the current Subversion workspace --> |
| | | <taskdef name="getsvnurlrepo" |
| | | classname="org.opends.build.tools.GetSubversionUrlRepo"> |
| | | <classpath> |
| | | <fileset dir="${build.dir}/build-tools"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | <fileset dir="${svnkit.lib.dir}"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | </classpath> |
| | | </taskdef> |
| | | |
| | | <getsvnurlrepo property="URL_REPOSITORY" /> |
| | | |
| | | |
| | | <!-- Construct the version number string --> |
| | | <taskdef name="getversionnumber" |
| | | classname="org.opends.build.tools.CreateVersionString"> |
| | | <classpath> |
| | | <fileset dir="${build.dir}/build-tools"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | </classpath> |
| | | </taskdef> |
| | | |
| | | <getversionnumber property="VERSION_NUMBER_STRING" /> |
| | | |
| | | |
| | | <!-- Generate the DynamicConstants.java file. |
| | | Be warned that the .stubs file references the following properties |
| | | PRODUCT_NAME, SHORT_NAME, MAJOR_VERSION, MINOR_VERSION, POINT_VERSION, |
| | | VERSION_QUALIFIER, FIX_IDS, timestamp, user.name, java.version, |
| | | java.vendor, java.vm.version, JVM_VENDOR, DEBUG_BUILD, REVISION_NUMBER,URL_REPOSITORY, |
| | | VERSION_NUMBER_STRING |
| | | If you change the name of any of those properties in this build.xml |
| | | you'll need to reflect the same change in the .stubs file |
| | | --> |
| | | <condition property="BUILD_NUMBER" value="-1"> |
| | | <not> |
| | | <isset property="BUILD_NUMBER" /> |
| | | </not> |
| | | </condition> |
| | | |
| | | <copy file="${dynconstants.stubfile}" |
| | | tofile="${dynconstants.file}" |
| | | overwrite="true" > |
| | | <filterchain> |
| | | <expandproperties/> |
| | | </filterchain> |
| | | </copy> |
| | | </target> |
| | | |
| | | |
| | | |
| | | |
| | | <!-- Check modified files to see if any svn:eol-style or copyright updates |
| | | are needed. --> |
| | | <target name="checkprecommit" depends="buildtools" |
| | | description="Ensure updated files eol-style and copyright info"> |
| | | <taskdef name="checkprecommit" |
| | | classname="org.opends.build.tools.CheckPrecommit"> |
| | | <classpath> |
| | | <fileset dir="${build.dir}/build-tools"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | <fileset dir="${svnkit.lib.dir}"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | </classpath> |
| | | </taskdef> |
| | | |
| | | <checkprecommit /> |
| | | </target> |
| | | |
| | | |
| | | |
| | | <!-- Ensure that the source code meets basic style requirements. --> |
| | | <target name="checkstyle" description="Perform basic source style checks"> |
| | | <antcall target="displayjavaversion"/> |
| | | <mkdir dir="${checkstyle.cache.dir}" /> |
| | | |
| | | <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}"> |
| | | <include name="**/*.java"/> |
| | | <exclude name="**/PublicAPI.java" /> |
| | | </fileset> |
| | | <formatter type="plain" /> |
| | | </checkstyle> |
| | | |
| | | <checkstyle config="${checkstyle.dir}/opends-checkstyle.xml" |
| | | failOnViolation="true"> |
| | | <fileset dir="${msg.src.dir}" includes="**/*.java" /> |
| | | <formatter type="plain" /> |
| | | </checkstyle> |
| | | |
| | | <checkstyle config="${checkstyle.dir}/opends-checkstyle.xml" |
| | | failOnViolation="true"> |
| | | <fileset dir="${ads.src.dir}" includes="**/*.java" /> |
| | | <formatter type="plain" /> |
| | | </checkstyle> |
| | | |
| | | <checkstyle config="${checkstyle.dir}/opends-checkstyle.xml" |
| | | failOnViolation="true"> |
| | | <fileset dir="${snmp.src.dir}" includes="**/*.java" /> |
| | | <formatter type="plain" /> |
| | | </checkstyle> |
| | | |
| | | <checkstyle config="${checkstyle.dir}/opends-checkstyle.xml" |
| | | failOnViolation="true"> |
| | | <fileset dir="${quicksetup.src.dir}" includes="**/*.java" /> |
| | | <formatter type="plain" /> |
| | | </checkstyle> |
| | | |
| | | <checkstyle config="${checkstyle.dir}/opends-checkstyle.xml" |
| | | failOnViolation="true"> |
| | | <fileset dir="${guitools.src.dir}" includes="**/*.java" /> |
| | | <formatter type="plain" /> |
| | | </checkstyle> |
| | | |
| | | <checkstyle config="${checkstyle.dir}/opends-checkstyle.xml" |
| | | failOnViolation="true"> |
| | | <fileset dir="${dsml.src.dir}" includes="**/*.java" /> |
| | | <formatter type="plain" /> |
| | | </checkstyle> |
| | | |
| | | <checkstyle config="${checkstyle.dir}/opends-unittest-checkstyle.xml" |
| | | failOnViolation="true"> |
| | | <fileset dir="${unittest.testng.src.dir}" includes="**/*.java" /> |
| | | <formatter type="plain" /> |
| | | </checkstyle> |
| | | </target> |
| | | |
| | | |
| | | |
| | | <target name="cleancompile" |
| | | depends="cleaninit,compilequicksetup" |
| | | description="Recompile the Directory Server source files."> |
| | | </target> |
| | | |
| | | <target name="generatesources" |
| | | depends="dynamicconstants,generatemessages,generateadmin" |
| | | description="Generate all the sources."> |
| | | </target> |
| | | |
| | | <!-- This target retrieves the libs, and generates the sources --> |
| | | <target name="eclipse" depends="resolve,generatesources,copymessages" |
| | | description="Set up all the files and directories required for the Eclipse project"> |
| | | <copy todir=".eclipse-build"> |
| | | <fileset dir="${classes.dir}"> |
| | | <include name="admin/**" /> |
| | | <include name="messages/**" /> |
| | | </fileset> |
| | | </copy> |
| | | <echo>Refresh the OpenDJ server project in Eclipse: Select the OpenDJ server project and press 'F5' key</echo> |
| | | </target> |
| | | |
| | | <target name="compile" |
| | | depends="init,checkjavaversion,generatesources,resolve" |
| | | description="Compile the Directory Server source files."> |
| | | <mkdir dir="${classes.dir}" /> |
| | | <mkdir dir="${build.lib.dir}" /> |
| | | |
| | | <javac srcdir="${src.dir}:${admin.src.dir}:${msg.src.dir}:${msg.javagen.dir}:${ads.src.dir}:${quicksetup.src.dir}:${guitools.src.dir}" |
| | | destdir="${classes.dir}"> |
| | | <classpath> |
| | | <fileset refid="opendj.runtime.jars"/> |
| | | <fileset dir="${build.dir}/build-tools"> |
| | | <include name="build-tools.jar" /> |
| | | </fileset> |
| | | <fileset dir="${build.lib.dir}"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | </classpath> |
| | | </javac> |
| | | |
| | | <copy todir="${classes.dir}"> |
| | | <fileset dir="${src.dir}" includes="**/*.properties" /> |
| | | <fileset dir="${quicksetup.src.dir}" includes="**/*.properties, **/*.gif, **/*.png" /> |
| | | <fileset dir="${guitools.src.dir}" includes="**/*.properties, **/*.gif, **/*.png" /> |
| | | </copy> |
| | | </target> |
| | | |
| | | |
| | | |
| | | <!-- Compile the Quick Setup source files. --> |
| | | <target name="compilequicksetup" depends="buildtools,compile" |
| | | description="Compile the Quick Setup source files."> |
| | | <mkdir dir="${quicksetup.classes.dir}" /> |
| | | <javac srcdir="${ads.src.dir}" destdir="${quicksetup.classes.dir}"> |
| | | <classpath> |
| | | <fileset dir="${build.dir}/build-tools"> |
| | | <include name="build-tools.jar" /> |
| | | </fileset> |
| | | <fileset dir="${lib.dir}/compile"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | <pathelement path="${classes.dir}"/> |
| | | </classpath> |
| | | </javac> |
| | | <javac srcdir="${src.dir}:${msg.src.dir}:${msg.javagen.dir}" destdir="${quicksetup.classes.dir}"> |
| | | <include name="**/org/opends/server/util/SetupUtils.java"/> |
| | | <include name="**/org/opends/server/util/CertificateManager.java"/> |
| | | <include name="**/org/opends/server/util/DynamicConstants.java"/> |
| | | <include name="**/org/opends/server/types/OperatingSystem.java"/> |
| | | <include name="**/org/opends/messages/Message.java"/> |
| | | <include name="**/org/opends/messages/MessageBuilder.java"/> |
| | | <include name="**/org/opends/messages/MessageDescriptor.java"/> |
| | | <include name="**/org/opends/messages/Severity.java"/> |
| | | <include name="**/org/opends/messages/Category.java"/> |
| | | <include name="**/org/opends/messages/QuickSetupMessages.java"/> |
| | | <include name="**/org/opends/server/types/OpenDsException.java"/> |
| | | <classpath> |
| | | <fileset dir="${lib.dir}/compile"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | </classpath> |
| | | </javac> |
| | | <javac srcdir="${quicksetup.src.dir}" destdir="${quicksetup.classes.dir}"> |
| | | <classpath> |
| | | <fileset dir="${build.dir}/build-tools"> |
| | | <include name="build-tools.jar" /> |
| | | </fileset> |
| | | <fileset dir="${lib.dir}/compile"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | <pathelement path="${classes.dir}"/> |
| | | </classpath> |
| | | </javac> |
| | | <copy todir="${quicksetup.classes.dir}"> |
| | | <fileset dir="${quicksetup.src.dir}" |
| | | includes="**/*.properties, **/*.gif, **/*.png" /> |
| | | </copy> |
| | | <mkdir dir="${quicksetup.classes.dir}/messages" /> |
| | | <copy todir="${quicksetup.classes.dir}/messages"> |
| | | <fileset dir="${msg.prop.dir}" |
| | | includes="**/quicksetup.properties" /> |
| | | </copy> |
| | | |
| | | </target> |
| | | |
| | | |
| | | |
| | | <!-- copy the message properties files --> |
| | | <target name="copymessages"> |
| | | <mkdir dir="${msg.package.dir}"/> |
| | | <copy todir="${msg.package.dir}"> |
| | | <fileset dir="${msg.prop.dir}"/> |
| | | </copy> |
| | | </target> |
| | | |
| | | <!-- copy the l10n message properties files (for generated messages)--> |
| | | <target name="copyl10nmessages"> |
| | | <copy todir="${build.dir}/classes/admin/messages/org/opends/server/admin/std/meta/"> |
| | | <fileset dir="${msgl10n.prop.dir}" includes="*_fr.properties,*_de.properties, |
| | | *_es.properties,*_ja.properties,*_ko.properties,*_zh_CN.properties, |
| | | *_zh_TW.properties,*_pl.properties,*_ca_ES.properties"> |
| | | </fileset> |
| | | </copy> |
| | | |
| | | <!-- check if the english generated files are different from the ones --> |
| | | <!-- used for localization and copy the files that are different to a --> |
| | | <!-- directory named diff --> |
| | | <mkdir dir="${msgl10n.diff.dir}/diff"/> |
| | | <copy todir="${msgl10n.diff.dir}/diff" verbose="true"> |
| | | <fileset dir="${build.dir}/classes/admin/messages/org/opends/server/admin/std/meta/" |
| | | excludes="*_fr.properties,*_de.properties,*_es.properties,*_ja.properties, |
| | | *_ko.properties,*_zh_CN.properties,*_zh_TW.properties,*_pl.properties, |
| | | *_ca_ES.properties"> |
| | | <different targetdir="${msgl10n.prop.dir}" ignoreFileTimes="true" /> |
| | | </fileset> |
| | | </copy> |
| | | |
| | | <fileset id="fs" dir="${msgl10n.diff.dir}/diff"/> |
| | | <condition property="dir_empty"> |
| | | <length length="0"> |
| | | <fileset refid="fs"/> |
| | | </length> |
| | | </condition> |
| | | |
| | | <fail unless="dir_empty" if="isPrecommit" |
| | | message="Generated admin message properties files differ from existing files : |
| | | Copy all files from ${msgl10n.diff.dir}/diff to ${msgl10n.prop.dir} |
| | | and include them for commit to resolve."> |
| | | </fail> |
| | | </target> |
| | | |
| | | <!-- |
| | | ! Rebuild the Directory Server without destroying 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" depends="generatemessages" |
| | | description="Rebuild the server without destroying config or data."> |
| | | |
| | | <!-- Construct the version number string --> |
| | | <taskdef name="getversionnumber" |
| | | classname="org.opends.build.tools.CreateVersionString"> |
| | | <classpath> |
| | | <fileset dir="${build.dir}/build-tools"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | </classpath> |
| | | </taskdef> |
| | | |
| | | <getversionnumber property="VERSION_NUMBER_STRING" /> |
| | | |
| | | <!-- Set properties needed to find the packaged files --> |
| | | <property name="pdir" |
| | | location="${package.dir}/${SHORT_NAME}-${VERSION_NUMBER_STRING}" /> |
| | | |
| | | <!-- Clean up a minimal set of files/directories for the rebuild. --> |
| | | <delete dir="${classes.dir}" /> |
| | | <delete file="${package.dir}/lib/${SHORT_NAME}.jar" /> |
| | | <delete file="${pdir}.zip" /> |
| | | <delete dir="${quicksetup.classes.dir}" /> |
| | | <delete file="${package.dir}/lib/quicksetup.jar" /> |
| | | |
| | | <!-- Regenerate configuration files if necessary --> |
| | | <antcall target="generateadmin" /> |
| | | |
| | | <!-- Recreate the classes directory and recompile into it. --> |
| | | <mkdir dir="${classes.dir}" /> |
| | | <javac srcdir="${src.dir}:${msg.src.dir}:${msg.javagen.dir}:${admin.src.dir}:${ads.src.dir}:${quicksetup.src.dir}:${guitools.src.dir}" |
| | | destdir="${classes.dir}"> |
| | | <classpath> |
| | | <fileset refid="opendj.runtime.jars"/> |
| | | <fileset dir="${build.dir}/build-tools"> |
| | | <include name="build-tools.jar" /> |
| | | </fileset> |
| | | <fileset dir="${build.lib.dir}"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | </classpath> |
| | | </javac> |
| | | |
| | | <copy todir="${classes.dir}"> |
| | | <fileset dir="${src.dir}" includes="**/*.properties" /> |
| | | <fileset dir="${quicksetup.src.dir}" includes="**/*.properties, **/*.gif, **/*.png" /> |
| | | <fileset dir="${guitools.src.dir}" includes="**/*.properties, **/*.gif, **/*.png" /> |
| | | </copy> |
| | | |
| | | <!-- copy the message properties files --> |
| | | <antcall target="copymessages" /> |
| | | |
| | | |
| | | <!-- copy the message descriptor registry file --> |
| | | <copy todir="${classes.dir}/org/opends/messages" |
| | | file="${msg.javagen.dir}/org/opends/messages/descriptors.reg" /> |
| | | |
| | | <!-- Generate the OpenDS.jar file --> |
| | | <jar jarfile="${pdir}/lib/${SHORT_NAME}.jar" |
| | | basedir="${classes.dir}" |
| | | excludes="${ads.classes.dir}, ${quicksetup.globalcompile.classes.dir}" |
| | | compress="true" index="true" /> |
| | | |
| | | <!-- Recreate the quicksetup classes directory and recompile into it. --> |
| | | <mkdir dir="${quicksetup.classes.dir}" /> |
| | | <javac srcdir="${ads.src.dir}" destdir="${quicksetup.classes.dir}"> |
| | | <classpath> |
| | | <fileset dir="${build.dir}/build-tools"> |
| | | <include name="build-tools.jar" /> |
| | | </fileset> |
| | | <pathelement path="${classes.dir}"/> |
| | | </classpath> |
| | | </javac> |
| | | <javac srcdir="${src.dir}:${msg.src.dir}:${msg.javagen.dir}" destdir="${quicksetup.classes.dir}"> |
| | | <include name="**/org/opends/server/util/SetupUtils.java"/> |
| | | <include name="**/org/opends/server/util/CertificateManager.java"/> |
| | | <include name="**/org/opends/server/util/DynamicConstants.java"/> |
| | | <include name="**/org/opends/server/types/OperatingSystem.java"/> |
| | | <include name="**/org/opends/messages/Message.java"/> |
| | | <include name="**/org/opends/messages/MessageBuilder.java"/> |
| | | <include name="**/org/opends/messages/MessageDescriptor.java"/> |
| | | <include name="**/org/opends/messages/Severity.java"/> |
| | | <include name="**/org/opends/messages/Category.java"/> |
| | | <include name="**/org/opends/messages/QuickSetupMessages.java"/> |
| | | <include name="**/org/opends/server/types/OpenDsException.java"/> |
| | | </javac> |
| | | <javac srcdir="${quicksetup.src.dir}" destdir="${quicksetup.classes.dir}"> |
| | | <classpath> |
| | | <fileset dir="${build.dir}/build-tools"> |
| | | <include name="build-tools.jar" /> |
| | | </fileset> |
| | | <pathelement path="${classes.dir}"/> |
| | | </classpath> |
| | | </javac> |
| | | |
| | | <copy todir="${quicksetup.classes.dir}"> |
| | | <fileset dir="${quicksetup.src.dir}" |
| | | includes="**/*.properties, **/*.gif, **/*.png"/> |
| | | </copy> |
| | | |
| | | <!-- Generate the quicksetup.jar file --> |
| | | <jar jarfile="${pdir}/lib/quicksetup.jar" |
| | | basedir="${quicksetup.classes.dir}" compress="true" index="true" /> |
| | | |
| | | <!-- Copy over external dependencies. --> |
| | | <copy todir="${pdir}/lib"> |
| | | <fileset file="${build.lib.dir}/*.jar" /> |
| | | </copy> |
| | | |
| | | <!-- Regenerate example plugin. --> |
| | | <antcall target="example-plugin" /> |
| | | |
| | | <!-- Copy license if required. --> |
| | | <antcall target="copylicense" /> |
| | | </target> |
| | | |
| | | |
| | | <!-- Generate the Configuration guides. --> |
| | | <target name="docgen" depends="configguide,configguideldap" |
| | | description="Generate the Configuration guides (1 standard + 1 with ldap mapping) (html)."> |
| | | </target> |
| | | |
| | | <!-- Generate the Standard Configuration guide. --> |
| | | <target name="configguide" depends="compile,copymessages" |
| | | description="Generate the Configuration guide (standard) (html)."> |
| | | <mkdir dir="${configguide.dir}" /> |
| | | <!-- copy the resource files --> |
| | | <copy todir="${configguide.dir}"> |
| | | <fileset file="${configguide.resource.dir}/*" /> |
| | | </copy> |
| | | <java fork="true" classname="org.opends.server.admin.doc.ConfigGuideGeneration" failonerror="true"> |
| | | <classpath> |
| | | <fileset refid="opendj.runtime.jars"/> |
| | | <dirset dir="${classes.dir}" /> |
| | | </classpath> |
| | | <jvmarg value="-DGenerationDir=${configguide.dir}"/> |
| | | <jvmarg value="-DOpendsWiki=${wiki.home}"/> |
| | | </java> |
| | | </target> |
| | | |
| | | <!-- Generate the Configuration guide with LDAP mapping. --> |
| | | <target name="configguideldap" depends="compile,copymessages" |
| | | description="Generate the Configuration guide (with LDAP mapping) (html)."> |
| | | <mkdir dir="${configguideldap.dir}" /> |
| | | <!-- copy the resource files --> |
| | | <copy todir="${configguideldap.dir}"> |
| | | <fileset file="${configguide.resource.dir}/*" /> |
| | | </copy> |
| | | <java fork="true" classname="org.opends.server.admin.doc.ConfigGuideGeneration" failonerror="true"> |
| | | <classpath> |
| | | <fileset refid="opendj.runtime.jars"/> |
| | | <dirset dir="${classes.dir}" /> |
| | | </classpath> |
| | | <jvmarg value="-DGenerationDir=${configguideldap.dir}"/> |
| | | <jvmarg value="-DOpendsWiki=${wiki.home}"/> |
| | | <jvmarg value="-DLdapMapping"/> |
| | | </java> |
| | | </target> |
| | | |
| | | <!-- Create license file if requested. |
| | | |
| | | This target should only be called from targets which have defined the |
| | | pdir property, such as prepackage and rebuild. |
| | | |
| | | The license file will be copied to ${pdir}/legal-notices/Forgerock_License.txt. |
| | | This file location is hard-coded in the following classes: |
| | | |
| | | org.opends.server.tools.upgrade.LicenseFile |
| | | org.opends.quicksetup.LicenseFile |
| | | |
| | | Care must be taken to keep these filenames synchronized. |
| | | --> |
| | | <target name="copylicense" if="include.license.file" > |
| | | <mkdir dir="${pdir}/legal-notices" /> |
| | | <copy tofile="${pdir}/legal-notices/Forgerock_License.txt" file="${license.file}" /> |
| | | </target> |
| | | |
| | | <!-- Populate the Directory Server package, but don't zip it up. --> |
| | | <target name="prepackage" depends="cleancompile" |
| | | description="Prepare the Directory Server package structure."> |
| | | <property name="pdir" |
| | | location="${package.dir}/${SHORT_NAME}-${VERSION_NUMBER_STRING}" /> |
| | | |
| | | <mkdir dir="${pdir}" /> |
| | | <mkdir dir="${pdir}/bat" /> |
| | | <mkdir dir="${pdir}/bin" /> |
| | | <mkdir dir="${pdir}/legal-notices" /> |
| | | <mkdir dir="${pdir}/lib" /> |
| | | <mkdir dir="${pdir}/lib/extensions" /> |
| | | <mkdir dir="${pdir}/template" /> |
| | | <mkdir dir="${pdir}/template/bak" /> |
| | | <mkdir dir="${pdir}/template/changelogDb" /> |
| | | <mkdir dir="${pdir}/template/classes" /> |
| | | <mkdir dir="${pdir}/template/config" /> |
| | | <mkdir dir="${pdir}/template/config/schema" /> |
| | | <mkdir dir="${pdir}/template/config/messages" /> |
| | | <mkdir dir="${pdir}/template/config/MakeLDIF" /> |
| | | <mkdir dir="${pdir}/template/config/upgrade" /> |
| | | <mkdir dir="${pdir}/template/db" /> |
| | | <mkdir dir="${pdir}/template/import-tmp" /> |
| | | <mkdir dir="${pdir}/template/ldif" /> |
| | | <mkdir dir="${pdir}/template/locks" /> |
| | | <mkdir dir="${pdir}/template/logs" /> |
| | | <mkdir dir="${pdir}/bin/ControlPanel.app" /> |
| | | <mkdir dir="${pdir}/bin/ControlPanel.app/Contents" /> |
| | | <mkdir dir="${pdir}/bin/ControlPanel.app/Contents/MacOS" /> |
| | | <mkdir dir="${pdir}/bin/ControlPanel.app/Contents/Resources" /> |
| | | <mkdir dir="${pdir}/bin/ControlPanel.app/Contents/Resources/Java"/> |
| | | <mkdir dir="${pdir}/QuickSetup.app" /> |
| | | <mkdir dir="${pdir}/QuickSetup.app/Contents" /> |
| | | <mkdir dir="${pdir}/QuickSetup.app/Contents/MacOS" /> |
| | | <mkdir dir="${pdir}/QuickSetup.app/Contents/Resources" /> |
| | | <mkdir dir="${pdir}/QuickSetup.app/Contents/Resources/Java" /> |
| | | <mkdir dir="${pdir}/Uninstall.app" /> |
| | | <mkdir dir="${pdir}/Uninstall.app/Contents" /> |
| | | <mkdir dir="${pdir}/Uninstall.app/Contents/MacOS" /> |
| | | <mkdir dir="${pdir}/Uninstall.app/Contents/Resources" /> |
| | | <mkdir dir="${pdir}/Uninstall.app/Contents/Resources/Java" /> |
| | | |
| | | |
| | | <!-- copy the message properties files --> |
| | | <antcall target="copymessages" /> |
| | | |
| | | <!-- copy the l10n message properties files --> |
| | | <antcall target="copyl10nmessages" /> |
| | | |
| | | |
| | | <!-- copy the message descriptor registry file --> |
| | | <copy todir="${classes.dir}/org/opends/messages" |
| | | file="${msg.javagen.dir}/org/opends/messages/descriptors.reg" /> |
| | | |
| | | <jar jarfile="${pdir}/lib/${SHORT_NAME}.jar" |
| | | basedir="${classes.dir}" |
| | | excludes="${ads.classes.dir}, ${quicksetup.globalcompile.classes.dir}, org/opends/server/snmp/**,**/*_fr.properties,**/*_ja.properties,**/*_de.properties,**/*_es.properties,**/*_zh_TW.properties,**/*_zh_CN.properties,**/*_ko.properties,**/*_pl.properties,**/*_ca_ES.properties" |
| | | compress="true" index="true" /> |
| | | |
| | | <jar jarfile="${pdir}/lib/${SHORT_NAME}_fr.jar" |
| | | basedir="${classes.dir}" |
| | | includes="**/*_fr.properties" |
| | | compress="true" index="true" /> |
| | | |
| | | <jar jarfile="${pdir}/lib/${SHORT_NAME}_ja.jar" |
| | | basedir="${classes.dir}" |
| | | includes="**/*_ja.properties" |
| | | compress="true" index="true" /> |
| | | |
| | | <jar jarfile="${pdir}/lib/${SHORT_NAME}_de.jar" |
| | | basedir="${classes.dir}" |
| | | includes="**/*_de.properties" |
| | | compress="true" index="true" /> |
| | | |
| | | <jar jarfile="${pdir}/lib/${SHORT_NAME}_es.jar" |
| | | basedir="${classes.dir}" |
| | | includes="**/*_es.properties" |
| | | compress="true" index="true" /> |
| | | |
| | | <jar jarfile="${pdir}/lib/${SHORT_NAME}_ko.jar" |
| | | basedir="${classes.dir}" |
| | | includes="**/*_ko.properties" |
| | | compress="true" index="true" /> |
| | | |
| | | <jar jarfile="${pdir}/lib/${SHORT_NAME}_zh_CN.jar" |
| | | basedir="${classes.dir}" |
| | | includes="**/*_zh_CN.properties" |
| | | compress="true" index="true" /> |
| | | |
| | | <jar jarfile="${pdir}/lib/${SHORT_NAME}_zh_TW.jar" |
| | | basedir="${classes.dir}" |
| | | includes="**/*_zh_TW.properties" |
| | | compress="true" index="true" /> |
| | | |
| | | <jar jarfile="${pdir}/lib/${SHORT_NAME}_pl.jar" |
| | | basedir="${classes.dir}" |
| | | includes="**/*_pl.properties" |
| | | compress="true" index="true" /> |
| | | |
| | | <jar jarfile="${pdir}/lib/${SHORT_NAME}_ca_ES.jar" |
| | | basedir="${classes.dir}" |
| | | includes="**/*_ca_ES.properties" |
| | | compress="true" index="true" /> |
| | | |
| | | <jar jarfile="${pdir}/lib/quicksetup.jar" |
| | | basedir="${quicksetup.classes.dir}" compress="true" index="true" /> |
| | | |
| | | <copy todir="${pdir}/lib" flatten="true"> |
| | | <fileset refid="opendj.runtime.jars"/> |
| | | </copy> |
| | | |
| | | <copy todir="${pdir}/lib"> |
| | | <fileset file="${lib.dir}/*.exe" /> |
| | | </copy> |
| | | |
| | | <antcall target="example-plugin" /> |
| | | |
| | | <fixcrlf srcDir="${scripts.dir}" destDir="${pdir}/bin" excludes="*.bat,_client-script.sh,_server-script.sh,_mixed-script.sh,_script-util.sh" eol="lf" /> |
| | | <fixcrlf srcDir="${scripts.dir}" destDir="${pdir}/lib" includes="_client-script.sh,_server-script.sh,_mixed-script.sh,_script-util.sh" eol="lf" /> |
| | | <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" /> |
| | | <fixcrlf srcDir="${scripts.dir}" destDir="${pdir}/lib" includes="_client-script.bat,_server-script.bat,_mixed-script.bat,_script-util.bat,setcp.bat" eol="crlf" /> |
| | | |
| | | <copy todir="${pdir}/template/config"> |
| | | <fileset file="${config.dir}/*" /> |
| | | </copy> |
| | | |
| | | <antcall target="package-snmp" /> |
| | | |
| | | <!-- |
| | | Build the bootstrap jar that avoids getting the error message "The input line is too long" on Windows. |
| | | This is intended for the server, logging is implemented by the opendj-slf4j-adapter module. |
| | | --> |
| | | |
| | | <manifestclasspath property="manifest.classpath" |
| | | jarfile="${pdir}/lib/bootstrap.jar"> |
| | | <classpath> |
| | | <fileset dir="${pdir}/lib"> |
| | | <include name="*.jar" /> |
| | | <exclude name="slf4j-jdk14.jar" /> |
| | | </fileset> |
| | | </classpath> |
| | | </manifestclasspath> |
| | | <jar jarfile="${pdir}/lib/bootstrap.jar"> |
| | | <manifest> |
| | | <attribute name="Built-By" value="${user.name}" /> |
| | | <attribute name="Class-Path" value="${manifest.classpath}" /> |
| | | </manifest> |
| | | </jar> |
| | | |
| | | <!-- |
| | | Build the bootstrap-client jar. |
| | | This is intended for client tools, logging is implemented through the slf4j-jdk14 library. |
| | | --> |
| | | <manifestclasspath property="manifest_client.classpath" |
| | | jarfile="${pdir}/lib/bootstrap-client.jar"> |
| | | <classpath> |
| | | <fileset dir="${pdir}/lib" includes="*.jar" excludes="bootstrap.jar opendj-slf4j-adapter.jar" > |
| | | </fileset> |
| | | </classpath> |
| | | </manifestclasspath> |
| | | <jar jarfile="${pdir}/lib/bootstrap-client.jar"> |
| | | <manifest> |
| | | <attribute name="Built-By" value="${user.name}" /> |
| | | <attribute name="Class-Path" value="${manifest_client.classpath}" /> |
| | | </manifest> |
| | | </jar> |
| | | |
| | | <!-- Create buildinfo files --> |
| | | <echo message="${MAJOR_VERSION}.${MINOR_VERSION}.${POINT_VERSION}.${REVISION_NUMBER}" |
| | | file="${pdir}/template/config/buildinfo" /> |
| | | |
| | | <taskdef name="concatschema" |
| | | classname="org.opends.build.tools.ConcatSchema"> |
| | | <classpath> |
| | | <fileset dir="${build.dir}/build-tools"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | </classpath> |
| | | </taskdef> |
| | | |
| | | <concatschema schemaDirectory="${resource.dir}/schema" |
| | | toFile="${pdir}/template/config/upgrade/schema.ldif.${REVISION_NUMBER}" /> |
| | | |
| | | <copy todir="${pdir}/template/config/schema"> |
| | | <fileset dir="${resource.dir}/schema" /> |
| | | </copy> |
| | | |
| | | <copy todir="${pdir}/template/config/messages"> |
| | | <fileset dir="${resource.dir}/messages" /> |
| | | </copy> |
| | | |
| | | <copy todir="${pdir}/template/config/MakeLDIF"> |
| | | <fileset dir="${resource.dir}/MakeLDIF" /> |
| | | </copy> |
| | | |
| | | <copy todir="${pdir}/legal-notices"> |
| | | <fileset dir="${resource.dir}/legal-notices" /> |
| | | </copy> |
| | | <antcall target="copylicense" /> |
| | | |
| | | <copy todir="${pdir}"> |
| | | <fileset file="${resource.dir}/README" /> |
| | | </copy> |
| | | <copy todir="${pdir}"> |
| | | <fileset file="${resource.dir}/images/opendj_logo.png" /> |
| | | </copy> |
| | | |
| | | <fixcrlf srcDir="${resource.dir}" destDir="${pdir}" includes="setup,uninstall,upgrade" |
| | | eol="lf" /> |
| | | <fixcrlf srcDir="${resource.dir}" destDir="${pdir}" includes="setup.bat,uninstall.bat,upgrade.bat" |
| | | eol="crlf" /> |
| | | |
| | | <chmod file="${pdir}/setup" perm="755" /> |
| | | <chmod file="${pdir}/uninstall" perm="755" /> |
| | | <chmod file="${pdir}/upgrade" perm="755" /> |
| | | |
| | | <copy todir="${pdir}/QuickSetup.app"> |
| | | <fileset dir="${resource.dir}/mac/QuickSetup.app" /> |
| | | </copy> |
| | | <replace file="${pdir}/QuickSetup.app/Contents/Info.plist" |
| | | token="@version@" |
| | | value="${MAJOR_VERSION}.${MINOR_VERSION}.${POINT_VERSION}"/> |
| | | <replace file="${pdir}/QuickSetup.app/Contents/Info.plist" |
| | | token="@revision@" |
| | | value="${REVISION_NUMBER}"/> |
| | | <chmod perm="755"> |
| | | <fileset dir="${pdir}"> |
| | | <include name="QuickSetup.app/Contents/MacOS/universalJavaApplicationStub" /> |
| | | </fileset> |
| | | </chmod> |
| | | <copy todir="${pdir}/Uninstall.app"> |
| | | <fileset dir="${resource.dir}/mac/Uninstall.app" /> |
| | | </copy> |
| | | <replace file="${pdir}/Uninstall.app/Contents/Info.plist" |
| | | token="@version@" |
| | | value="${MAJOR_VERSION}.${MINOR_VERSION}.${POINT_VERSION}"/> |
| | | <replace file="${pdir}/Uninstall.app/Contents/Info.plist" |
| | | token="@revision@" |
| | | value="${REVISION_NUMBER}"/> |
| | | <chmod perm="755"> |
| | | <fileset dir="${pdir}"> |
| | | <include name="Uninstall.app/Contents/MacOS/universalJavaApplicationStub" /> |
| | | </fileset> |
| | | </chmod> |
| | | <copy todir="${pdir}/bin/ControlPanel.app"> |
| | | <fileset dir="${resource.dir}/mac/ControlPanel.app" /> |
| | | </copy> |
| | | <replace file="${pdir}/bin/ControlPanel.app/Contents/Info.plist" |
| | | token="@version@" |
| | | value="${MAJOR_VERSION}.${MINOR_VERSION}.${POINT_VERSION}"/> |
| | | <replace file="${pdir}/bin/ControlPanel.app/Contents/Info.plist" |
| | | token="@revision@" |
| | | value="${REVISION_NUMBER}"/> |
| | | <chmod perm="755"> |
| | | <fileset dir="${pdir}/bin"> |
| | | <include name="ControlPanel.app/Contents/MacOS/universalJavaApplicationStub" /> |
| | | </fileset> |
| | | </chmod> |
| | | |
| | | <chmod perm="755"> |
| | | <fileset dir="${pdir}/bin" /> |
| | | </chmod> |
| | | <chmod file="${pdir}/lib/_client-script.sh" perm="755" /> |
| | | <chmod file="${pdir}/lib/_server-script.sh" perm="755" /> |
| | | <chmod file="${pdir}/lib/_mixed-script.sh" perm="755" /> |
| | | <chmod file="${pdir}/lib/_script-util.sh" perm="755" /> |
| | | |
| | | <chmod perm="444"> |
| | | <fileset dir="${pdir}/template" /> |
| | | </chmod> |
| | | </target> |
| | | |
| | | |
| | | <!-- Package the Directory Server for distribution. --> |
| | | <target name="package" depends="prepackage" |
| | | description="Package the Directory Server for distribution."> |
| | | <zip destfile="${package.dir}/${SHORT_NAME}-${VERSION_NUMBER_STRING}.zip"> |
| | | <zipfileset dir="${package.dir}/${SHORT_NAME}-${VERSION_NUMBER_STRING}" includes="**/*" |
| | | excludes="bin/*,template/**/*,lib/_client-script.sh,lib/_script-util.sh,lib/_server-script.sh,lib/_mixed-script.sh,setup,uninstall,upgrade,QuickSetup.app/Contents/MacOS/universalJavaApplicationStub,Uninstall.app/Contents/MacOS/universalJavaApplicationStub,bin/ControlPanel.app/Contents/MacOS/universalJavaApplicationStub" |
| | | filemode="644" dirmode="755" prefix="opendj" /> |
| | | <zipfileset dir="${package.dir}/${SHORT_NAME}-${VERSION_NUMBER_STRING}" |
| | | includes="lib/_client-script.sh,lib/_script-util.sh,lib/_server-script.sh,lib/_mixed-script.sh" |
| | | filemode="755" dirmode="755" prefix="opendj" /> |
| | | <zipfileset dir="${package.dir}/${SHORT_NAME}-${VERSION_NUMBER_STRING}" includes="bin/*" |
| | | filemode="755" dirmode="755" prefix="opendj" /> |
| | | <zipfileset dir="${package.dir}/${SHORT_NAME}-${VERSION_NUMBER_STRING}" includes="setup,uninstall,upgrade,QuickSetup.app/Contents/MacOS/universalJavaApplicationStub,Uninstall.app/Contents/MacOS/universalJavaApplicationStub,bin/ControlPanel.app/Contents/MacOS/universalJavaApplicationStub" |
| | | filemode="755" dirmode="755" prefix="opendj" /> |
| | | <zipfileset dir="${package.dir}/${SHORT_NAME}-${VERSION_NUMBER_STRING}" includes="template/**/*" |
| | | filemode="444" dirmode="744" prefix="opendj" /> |
| | | </zip> |
| | | <property name="package.built" value="true"/> |
| | | |
| | | <!-- print a time stamp in Unix 'date' format --> |
| | | <tstamp> |
| | | <format property="package.built.ts" pattern="EEE MMM dd HH:mm:ss zzz yyyy" /> |
| | | </tstamp> |
| | | <echo message="Package Built: ${package.built.ts}"/> |
| | | </target> |
| | | |
| | | <!-- Prepare the Directory Server DSML library. --> |
| | | <target name="predsml" depends="prepackage" |
| | | description="Prepare the Directory Server DSML library."> |
| | | <delete dir="${dsml.gen.dir}/org/opends/dsml/protocol" /> |
| | | <mkdir dir="${dsml.gen.dir}/org/opends/dsml/protocol" /> |
| | | <exec executable="xjc"> |
| | | <arg value="-d"/> |
| | | <arg value="${dsml.gen.dir}"/> |
| | | <arg value="-p"/> |
| | | <arg value="org.opends.dsml.protocol"/> |
| | | <arg value="-b"/> |
| | | <arg value="${dsml.dir}/schema/bindings.xjb"/> |
| | | <arg value="-target"/> |
| | | <arg value="2.1"/> |
| | | <arg value="-npa"/> |
| | | <arg value="-verbose"/> |
| | | <arg value="${dsml.dir}/schema/DSMLv2.xsd"/> |
| | | </exec> |
| | | <mkdir dir="${dsml.classes.dir}" /> |
| | | |
| | | <javac srcdir="${dsml.gen.dir}" destdir="${dsml.classes.dir}"> |
| | | <compilerarg value="-Xlint:-path" /> |
| | | <classpath> |
| | | <fileset dir="${dsml.lib.dir}"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | </classpath> |
| | | </javac> |
| | | |
| | | <javac srcdir="${dsml.src.dir}" destdir="${dsml.classes.dir}"> |
| | | <compilerarg value="-Xlint:-path" /> |
| | | <classpath> |
| | | <fileset dir="${dsml.lib.dir}"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | <fileset refid="opendj.runtime.jars"/> |
| | | |
| | | <dirset dir="${classes.dir}" /> |
| | | </classpath> |
| | | </javac> |
| | | |
| | | <mkdir dir="${dsml.classes.dir}/resources" /> |
| | | <copy file="${dsml.dir}/schema/DSMLv2.xsd" |
| | | tofile="${dsml.classes.dir}/resources/DSMLv2.xsd" |
| | | overwrite="true"/> |
| | | |
| | | <war destfile="${classes.dir}/${SHORT_NAME}-${VERSION_NUMBER_STRING}-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="${pdir}/lib"> |
| | | <include name="${SHORT_NAME}.jar" /> |
| | | <include name="${SHORT_NAME}_fr.jar" /> |
| | | <include name="${SHORT_NAME}_ja.jar" /> |
| | | <include name="${SHORT_NAME}_ko.jar" /> |
| | | <include name="${SHORT_NAME}_de.jar" /> |
| | | <include name="${SHORT_NAME}_es.jar" /> |
| | | <include name="${SHORT_NAME}_zh_TW.jar" /> |
| | | <include name="${SHORT_NAME}_zh_CN.jar" /> |
| | | <include name="${SHORT_NAME}_pl.jar" /> |
| | | <include name="${SHORT_NAME}_ca_ES.jar" /> |
| | | <include name="forgerock-util.jar" /> |
| | | <include name="i18n-core.jar" /> |
| | | <include name="i18n-slf4j.jar" /> |
| | | <include name="slf4j-api.jar" /> |
| | | <include name="opendj-cli.jar" /> |
| | | <include name="opendj-core.jar" /> |
| | | <include name="opendj-config.jar" /> |
| | | </lib> |
| | | </war> |
| | | |
| | | <copy todir="${package.dir}"> |
| | | <fileset file="${classes.dir}/*.war" /> |
| | | </copy> |
| | | </target> |
| | | |
| | | |
| | | |
| | | |
| | | <!-- Generate JavaDoc documentation from the source files --> |
| | | <target name="javadoc" depends="dsml,generateadmin" |
| | | description="Generate JavaDoc documentation."> |
| | | <mkdir dir="${javadoc.dir}" /> |
| | | |
| | | <javadoc destdir="${javadoc.dir}" additionalparam="-quiet" |
| | | linksource="yes" windowtitle="${PRODUCT_NAME} API Documentation" |
| | | maxmemory="${MEM}"> |
| | | <classpath> |
| | | <fileset refid="opendj.runtime.jars"/> |
| | | |
| | | <fileset dir="${dsml.lib.dir}"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | |
| | | <fileset dir="${build.dir}/build-tools"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | |
| | | <dirset dir="${classes.dir}" /> |
| | | <dirset dir="${dsml.classes.dir}" /> |
| | | <dirset dir="${quicksetup.classes.dir}" /> |
| | | </classpath> |
| | | |
| | | <packageset dir="${src.dir}" /> |
| | | <packageset dir="${admin.src.dir}" /> |
| | | <packageset dir="${ads.src.dir}" /> |
| | | <packageset dir="${dsml.src.dir}" /> |
| | | <packageset dir="${msg.src.dir}" /> |
| | | </javadoc> |
| | | </target> |
| | | |
| | | |
| | | <!-- Internal target to run the Directory Server directly. --> |
| | | <target name="run-server" depends="dynamicconstants"> |
| | | <!-- Set properties needed to find the packaged files --> |
| | | <property name="pdir" location="${package.dir}/${SHORT_NAME}-${VERSION_NUMBER_STRING}"/> |
| | | <java fork="true" classname="org.opends.server.core.DirectoryServer" failonerror="true"> |
| | | <classpath> |
| | | <fileset dir="${lib.dir}"> |
| | | <include name="**/*.jar"/> |
| | | </fileset> |
| | | <dirset dir="${classes.dir}"/> |
| | | </classpath> |
| | | <jvmarg value="-Dorg.opends.server.BuildRoot=${pdir}"/> |
| | | <jvmarg value="-Dorg.opends.server.scriptName=start-ds"/> |
| | | <jvmarg value="-Dorg.opends.server.ServerRoot=${pdir}"/> |
| | | <arg value="--configClass=org.opends.server.extensions.ConfigFileHandler"/> |
| | | <arg value="--configFile=${pdir}/config/config.ldif"/> |
| | | <arg value="--nodetach"/> |
| | | </java> |
| | | </target> |
| | | |
| | | <!-- Netbeans target to debug the Directory Server. --> |
| | | <target name="nb-debug-server" depends="dynamicconstants"> |
| | | <!-- Set properties needed to find the packaged files --> |
| | | <property name="pdir" location="${package.dir}/${SHORT_NAME}-${VERSION_NUMBER_STRING}"/> |
| | | <path id="cp"> |
| | | <fileset dir="${lib.dir}"> |
| | | <include name="**/*.jar"/> |
| | | </fileset> |
| | | <dirset dir="${classes.dir}"/> |
| | | </path> |
| | | <nbjpdastart addressproperty="jpda.address" name="Directory Server" transport="dt_socket"> |
| | | <classpath refid="cp"/> |
| | | </nbjpdastart> |
| | | <java classname="org.opends.server.core.DirectoryServer" fork="true"> |
| | | <classpath refid="cp"/> |
| | | <jvmarg value="-Xdebug"/> |
| | | <jvmarg value="-Xrunjdwp:transport=dt_socket,address=${jpda.address}"/> |
| | | <jvmarg value="-Dorg.opends.server.BuildRoot=${pdir}"/> |
| | | <jvmarg value="-Dorg.opends.server.scriptName=start-ds"/> |
| | | <jvmarg value="-Dorg.opends.server.ServerRoot=${pdir}"/> |
| | | <jvmarg value="-Dorg.opends.server.debug.enabled=true"/> |
| | | <arg value="--configClass=org.opends.server.extensions.ConfigFileHandler"/> |
| | | <arg value="--configFile=${pdir}/config/config.ldif"/> |
| | | <arg value="--nodetach"/> |
| | | </java> |
| | | </target> |
| | | |
| | | <!-- Netbeans target to profile the Directory Server. --> |
| | | <target name="nb-profile-server" depends="dynamicconstants"> |
| | | <!-- Set properties needed to find the packaged files --> |
| | | <property name="pdir" location="${package.dir}/${SHORT_NAME}-${VERSION_NUMBER_STRING}"/> |
| | | <path id="cp"> |
| | | <fileset dir="${lib.dir}"> |
| | | <include name="**/*.jar"/> |
| | | </fileset> |
| | | <dirset dir="${classes.dir}"/> |
| | | </path> |
| | | <nbprofiledirect> |
| | | <classpath refid="cp"/> |
| | | </nbprofiledirect> |
| | | <java fork="true" classname="org.opends.server.core.DirectoryServer"> |
| | | <classpath> |
| | | <fileset dir="${lib.dir}"> |
| | | <include name="**/*.jar"/> |
| | | </fileset> |
| | | <dirset dir="${classes.dir}"/> |
| | | </classpath> |
| | | <jvmarg value="${profiler.info.jvmargs.agent}"/> |
| | | <jvmarg value="-Dorg.opends.server.BuildRoot=${pdir}"/> |
| | | <jvmarg value="-Dorg.opends.server.scriptName=start-ds"/> |
| | | <jvmarg value="-Dorg.opends.server.ServerRoot=${pdir}"/> |
| | | <arg value="--configClass=org.opends.server.extensions.ConfigFileHandler"/> |
| | | <arg value="--configFile=${pdir}/config/config.ldif"/> |
| | | <arg value="--nodetach"/> |
| | | </java> |
| | | </target> |
| | | |
| | | <!-- Internal target to run directly dsconfig. --> |
| | | <target name="run-dsconfig" depends="dynamicconstants"> |
| | | <!-- Set properties needed to find the packaged files --> |
| | | <property name="pdir" |
| | | location="${package.dir}/${SHORT_NAME}-${VERSION_NUMBER_STRING}" /> |
| | | <java fork="true" classname="org.opends.server.tools.dsconfig.DSConfig" failonerror="true"> |
| | | <classpath> |
| | | <fileset refid="opendj.runtime.jars"/> |
| | | <dirset dir="${classes.dir}" /> |
| | | </classpath> |
| | | <jvmarg value="-Dorg.opends.server.scriptName=dsconfig" /> |
| | | <jvmarg value="-Dorg.opends.server.BuildRoot=${pdir}"/> |
| | | <jvmarg value="-Dorg.opends.server.ServerRoot=${pdir}"/> |
| | | </java> |
| | | </target> |
| | | |
| | | <!-- Netbeans target to debug dsconfig. --> |
| | | <target name="nb-debug-dsconfig" depends="dynamicconstants"> |
| | | <!-- Set properties needed to find the packaged files --> |
| | | <property name="pdir" |
| | | location="${package.dir}/${SHORT_NAME}-${VERSION_NUMBER_STRING}" /> |
| | | <path id="cp"> |
| | | <fileset refid="opendj.runtime.jars"/> |
| | | <dirset dir="${classes.dir}" /> |
| | | </path> |
| | | <nbjpdastart addressproperty="jpda.address" name="Directory Server" transport="dt_socket"> |
| | | <classpath refid="cp"/> |
| | | </nbjpdastart> |
| | | <java classname="org.opends.server.tools.dsconfig.DSConfig" fork="true"> |
| | | <classpath refid="cp"/> |
| | | <jvmarg value="-Xdebug"/> |
| | | <jvmarg value="-Xrunjdwp:transport=dt_socket,address=${jpda.address}"/> |
| | | <jvmarg value="-Dorg.opends.server.scriptName=dsconfig" /> |
| | | <jvmarg value="-Dorg.opends.server.BuildRoot=${pdir}"/> |
| | | <jvmarg value="-Dorg.opends.server.ServerRoot=${pdir}"/> |
| | | <jvmarg value="-Dorg.opends.server.debug.enabled=true"/> |
| | | </java> |
| | | </target> |
| | | |
| | | |
| | | <!-- Internal target to prepare to generate a code coverage report. --> |
| | | <target name="coverage"> |
| | | <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> |
| | | |
| | | <path id="quickSetup.classpath"> |
| | | <pathelement location="${quicksetup.classes.dir}" /> |
| | | </path> |
| | | </target> |
| | | |
| | | |
| | | |
| | | <!-- Prepare to execute the Directory Server TestNG unit tests. --> |
| | | <target name="test.OpenDS.package.required" depends="dynamicconstants"> |
| | | <condition property="test.OpenDS.package.required"> |
| | | <available file="${package.dir}/${SHORT_NAME}-${VERSION_NUMBER_STRING}.zip"/> |
| | | </condition> |
| | | </target> |
| | | |
| | | <target name="testinit-package" depends="test.OpenDS.package.required" unless="test.OpenDS.package.required"> |
| | | <echo message="Performing full rebuild (no OpenDJ zip package found)"/> |
| | | <antcall target="package"/> |
| | | </target> |
| | | |
| | | <target name="testinit-recompile" depends="test.OpenDS.package.required" if="test.OpenDS.package.required"> |
| | | <echo message="Performing partial rebuild (OpenDJ zip package found)"/> |
| | | <mkdir dir="${classes.dir}" /> |
| | | |
| | | <javac srcdir="${src.dir}:${admin.src.dir}:${msg.src.dir}:${msg.javagen.dir}:${ads.src.dir}:${quicksetup.src.dir}:${guitools.src.dir}" |
| | | destdir="${classes.dir}"> |
| | | <classpath> |
| | | <fileset refid="opendj.runtime.jars"/> |
| | | <fileset dir="${build.dir}/build-tools"> |
| | | <include name="build-tools.jar" /> |
| | | </fileset> |
| | | <fileset dir="${build.lib.dir}"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | </classpath> |
| | | </javac> |
| | | |
| | | <copy todir="${classes.dir}"> |
| | | <fileset dir="${src.dir}" includes="**/*.properties" /> |
| | | <fileset dir="${quicksetup.src.dir}" includes="**/*.properties, **/*.gif, **/*.png" /> |
| | | <fileset dir="${guitools.src.dir}" includes="**/*.properties, **/*.gif, **/*.png" /> |
| | | </copy> |
| | | </target> |
| | | |
| | | <target name="testinit" depends="testinit-package,testinit-recompile" |
| | | 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}" excludes="org/opends/server/snmp/**"> |
| | | <classpath> |
| | | <fileset refid="opendj.runtime.jars"/> |
| | | <fileset refid="opendj.test.jars"/> |
| | | |
| | | <fileset dir="${testng.lib.dir}"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | |
| | | <path refid="run.classpath" /> |
| | | <path refid="quickSetup.classpath" /> |
| | | </classpath> |
| | | </javac> |
| | | |
| | | <copy todir="${unittest.classes.dir}"> |
| | | <fileset dir="${unittest.testng.src.dir}" |
| | | includes="**/*.properties" /> |
| | | </copy> |
| | | |
| | | <!-- Compile SNMP Tests if needed --> |
| | | <antcall target="testsnmpinit"/> |
| | | |
| | | <!-- Prep the TestNG XML file --> |
| | | |
| | | <condition property="test.groups" value="exclude=slow"> |
| | | <not> |
| | | <or> |
| | | <isset property="test.groups" /> |
| | | <isset property="test.packages" /> |
| | | <isset property="test.classes" /> |
| | | <isset property="test.methods" /> |
| | | </or> |
| | | </not> |
| | | </condition> |
| | | |
| | | <!-- do not run tests dependent upon creation of the .zip file --> |
| | | <condition property="test.packages" value="org.opends.server.*,org.opends.messages.*"> |
| | | <and> |
| | | <not> |
| | | <or> |
| | | <isset property="test.packages" /> |
| | | <isset property="test.classes" /> |
| | | <isset property="test.methods" /> |
| | | </or> |
| | | </not> |
| | | <not> |
| | | <equals arg1="${package.built}" arg2="true" /> |
| | | </not> |
| | | </and> |
| | | </condition> |
| | | |
| | | <!-- run tests dependent upon creation of the .zip file --> |
| | | <condition property="test.packages" value="org.opends.server.*,org.opends.messages.*,org.opends.quicksetup.*"> |
| | | <and> |
| | | <not> |
| | | <or> |
| | | <isset property="test.packages" /> |
| | | <isset property="test.classes" /> |
| | | <isset property="test.methods" /> |
| | | </or> |
| | | </not> |
| | | <equals arg1="${package.built}" arg2="true" /> |
| | | </and> |
| | | </condition> |
| | | |
| | | |
| | | <condition property="test.classes" value=""> |
| | | <not> |
| | | <or> |
| | | <isset property="test.classes" /> |
| | | <isset property="test.methods" /> |
| | | </or> |
| | | </not> |
| | | </condition> |
| | | |
| | | <condition property="test.methods" value=""> |
| | | <not> |
| | | <or> |
| | | <isset property="test.methods" /> |
| | | </or> |
| | | </not> |
| | | </condition> |
| | | |
| | | <mkdir dir="${unittest.resource.dir}" /> |
| | | <typedef name="preptestng" classname="org.opends.build.tools.PrepTestNG" |
| | | classpath="${buildtools.jar}" /> |
| | | |
| | | |
| | | <preptestng file="${testng.dir}/testng.xml" |
| | | tofile="${unittest.resource.dir}/testng.xml" |
| | | grouplist="${test.groups}" |
| | | packagelist="${test.packages}" |
| | | classList="${test.classes}" |
| | | methodList="${test.methods}" /> |
| | | |
| | | <antcall target="testinit.checkFailedTestsOnly"/> |
| | | </target> |
| | | |
| | | |
| | | |
| | | <!-- If we were asked to run only the tests that failed, |
| | | then we overwrite the testng.xml that we just generated |
| | | with testng-failed.xml, which TestNG generated. --> |
| | | <target name="testinit.checkFailedTestsOnly" if="test.failures"> |
| | | <!-- Ensure that some of the tests failed last time. --> |
| | | <available property="testng-failed.xml.exists" |
| | | file="${unittest.report.dir}/testng-failed.xml"/> |
| | | <fail message="No unit tests failed in the previous run." |
| | | unless="testng-failed.xml.exists"/> |
| | | |
| | | <!-- We replace the 'Failed suite [OpenDJ]' with 'OpenDJ' so we |
| | | don't end up with 'Failed suite [Failed suite [OpenDJ]]]' etc. --> |
| | | <replace file="${unittest.report.dir}/testng-failed.xml" |
| | | token="Failed suite [OpenDJ]" |
| | | value="OpenDJ"/> |
| | | <replace file="${unittest.report.dir}/testng-failed.xml" |
| | | token="default(failed)" |
| | | value="default"/> |
| | | |
| | | <copy file="${unittest.report.dir}/testng-failed.xml" |
| | | tofile="${unittest.resource.dir}/testng.xml" |
| | | overwrite="true"/> |
| | | |
| | | <echo message="Will run the failed unit tests only"/> |
| | | </target> |
| | | |
| | | |
| | | |
| | | <!-- Generate coverage diff report --> |
| | | <target name="coveragediff"> |
| | | <condition property="test.diff.srcpath" value=""> |
| | | <not> |
| | | <isset property="test.diff.srcpath" /> |
| | | </not> |
| | | </condition> |
| | | |
| | | <condition property="test.diff.enabled" value="true"> |
| | | <not> |
| | | <isset property="test.diff.disable" /> |
| | | </not> |
| | | </condition> |
| | | |
| | | <condition property="test.diff.verbose" value="false"> |
| | | <not> |
| | | <isset property="test.diff.verbose" /> |
| | | </not> |
| | | </condition> |
| | | |
| | | <condition property="test.diff.enabled" value="false"> |
| | | <isset property="test.diff.disable" /> |
| | | </condition> |
| | | |
| | | <!-- The SVN revision to perform the diff against when calculating |
| | | the coverage diff. It can be a revision number, a timestamp, |
| | | or a revision keyword (BASE, COMMITTED, and PREV make the |
| | | most sense). The primary use case for this setting is to do |
| | | a coverage diff against the previous revision when there are |
| | | no changes in the working copy. It defaults to BASE. --> |
| | | <condition property="test.diff.from.revision" value="BASE"> |
| | | <not> |
| | | <isset property="test.diff.from.revision" /> |
| | | </not> |
| | | </condition> |
| | | |
| | | <mkdir dir="${cvgdiff.report.dir}" /> |
| | | <taskdef name="coveragediff" classname="org.opends.build.tools.CoverageDiff"> |
| | | <classpath> |
| | | <fileset dir="${build.dir}/build-tools"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | <fileset dir="${emma.dir}"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | <fileset dir="${svnkit.lib.dir}"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | </classpath> |
| | | </taskdef> |
| | | |
| | | <coveragediff emmadatapath="${coverage.data.dir}" |
| | | outputpath="${cvgdiff.report.dir}" |
| | | diffpath="${test.diff.srcpath}" |
| | | enabled="${test.diff.enabled}" |
| | | verbose="${test.diff.verbose}" |
| | | fromrevision="${test.diff.from.revision}" /> |
| | | |
| | | </target> |
| | | |
| | | |
| | | |
| | | <!-- Execute the Directory Server TestNG unit tests in text mode. --> |
| | | <target name="enableTestNGAssertions"> |
| | | <property name="TESTASSERT" value="true"/> |
| | | </target> |
| | | |
| | | |
| | | |
| | | <!-- Execute Directory Server TestNG unit tests specified from CLI --> |
| | | <target name="testcustom"> |
| | | <echo message="This target is deprecated. Please use the test target as it now supports the test.* properties." /> |
| | | </target> |
| | | |
| | | |
| | | |
| | | <!-- Execute all of the Directory Server TestNG unit tests in text mode. --> |
| | | <target name="testall" |
| | | depends="enableTestNGAssertions,prepdefaultalltest,testinit,runtests" |
| | | description="Run all of the TestNG tests (including 'slow' ones) with assertions enabled. See 'testwithcoverage' for properties you can set."> |
| | | </target> |
| | | |
| | | |
| | | |
| | | <!-- Execute the Directory Server TestNG unit tests in text mode. --> |
| | | <target name="test" |
| | | depends="testinit,runtests" |
| | | 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."> |
| | | </target> |
| | | |
| | | <!-- Display Java version which will be used for tests. --> |
| | | <target name="displayjavaversion"> |
| | | <echo message="The following Java version will be used :"/> |
| | | <echo message=""/> |
| | | <exec executable="java"> |
| | | <arg value="-version"/> |
| | | </exec> |
| | | <echo message=""/> |
| | | <echo message=""/> |
| | | </target> |
| | | |
| | | <!-- Execute the Directory Server TestNG unit tests in text mode with a coverage report. --> |
| | | <target name="testwithcoverage" |
| | | depends="coverage,test,coveragediff" |
| | | 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."> |
| | | </target> |
| | | |
| | | <!-- Execute the Directory Server TestNG unit tests in text mode with a coverage report and slow tests. --> |
| | | <target name="testallwithcoverage" |
| | | depends="coverage,testall,coveragediff" |
| | | description="The same as 'testwithcoverage' except 'testall' is run instead of 'test'."> |
| | | </target> |
| | | |
| | | <!-- Execute the Directory Server TestNG unit tests specified from CLI in text mode with a coverage report. --> |
| | | <target name="testcustomwithcoverage"> |
| | | <echo message="This target is deprecated. Please use the testwithcoverage target as it now supports the test.* properties." /> |
| | | </target> |
| | | |
| | | <target name="testhelp" unless="disable.test.help"> |
| | | <echo message="About to run the unit tests. Ant options to control the tests:"/> |
| | | <echo message=""/> |
| | | <echo message=" -Dorg.opends.test.suppressOutput=false"/> |
| | | <echo message=" writes the unit test output to the screen"/> |
| | | <echo message=""/> |
| | | <echo message=" -Dtest.progress="default,memory""/> |
| | | <echo message=" Unless explicity disabled using -Dtest.progress=none, the"/> |
| | | <echo message=" tests provide continuous progress of the tests that are being"/> |
| | | <echo message=" run. The specific options to set for this property are"/> |
| | | <echo message=""/> |
| | | <echo message=" none: no progress output"/> |
| | | <echo message=" all: enables all progress (slows tests)"/> |
| | | <echo message=" default: same as "time,count,restarts""/> |
| | | <echo message=" time: timing information for the tests"/> |
| | | <echo message=" count: # of run test classes, methods, and invocations"/> |
| | | <echo message=" memory: running total of memory usage (slows tests)"/> |
| | | <echo message=" threadcount: running total of active threads"/> |
| | | <echo message=" threadchange: +/- changes for active threads between tests"/> |
| | | <echo message=" restarts: running total of in-core server restarts"/> |
| | | <echo message=""/> |
| | | <echo message=" To specifying multiple values, nseparate them with ',' and"/> |
| | | <echo message=" quote the entire value. For instance, when you want the default"/> |
| | | <echo message=" output plus more, do -Dtest.progress="default,memory"."/> |
| | | <echo message=""/> |
| | | <echo message=" Enabling memory progress slows down the tests significantly."/> |
| | | <echo message=" Include the otherwise undocumented property "gcs" to see how"/> |
| | | <echo message=" much time each progress line spends doing garbage collections"/> |
| | | <echo message=" to get an accurate measure of memory usage."/> |
| | | <echo message=""/> |
| | | <echo message=" A new line of progress is written when TestNG completes running tests"/> |
| | | <echo message=" for a class. This progress is reported immediately before TestNG"/> |
| | | <echo message=" starts to run the first test of the next class. All @BeforeClass"/> |
| | | <echo message=" and @BeforeMethod methods will have been invoked for the next"/> |
| | | <echo message=" class as well as the @DataProvider (if any) for the first test method."/> |
| | | <echo message=" Keep this in mind when debugging memory usage, running times, and"/> |
| | | <echo message=" thread creation."/> |
| | | <echo message=""/> |
| | | <echo message=" -Dtestng.verbosity0to5=5"/> |
| | | <echo message=" for example has TestNG dump the maximum amount of debugging"/> |
| | | <echo message=" output to stdout. This output is useful to check the order"/> |
| | | <echo message=" in which test methods are invoked. Valid values are integer"/> |
| | | <echo message=" values from 0 (no output) to 5 (maximum output). Since this"/> |
| | | <echo message=" implicitly sets -Dorg.opends.test.suppressOutput=false,"/> |
| | | <echo message=" other stderr/stdout output generated by the unit tests will"/> |
| | | <echo message=" also be displayed."/> |
| | | <echo message=""/> |
| | | <echo message=" -Dorg.opends.test.pauseOnFailure=true"/> |
| | | <echo message=" pauses the test suite whenever a failure occurs allowing you to inspect"/> |
| | | <echo message=" the server more closely in the failure state"/> |
| | | <echo message=""/> |
| | | <echo message=" -Dorg.opends.test.copyClassesToTestPackage=true"/> |
| | | <echo message=" copies the classes into the test server root. This enables you to run"/> |
| | | <echo message=" the server tools on the test server. It can slow down the test startup"/> |
| | | <echo message=" so the files are not copied by default."/> |
| | | <echo message=""/> |
| | | <echo message=" -Dtest.failures=true"/> |
| | | <echo message=" runs only the tests that failed last time"/> |
| | | <echo message=""/> |
| | | <echo message=" -Dorg.opends.server.debug.target=org.opends.server.core:level=verbose,category=data"/> |
| | | <echo message=" for example only include debug messages in the core"/> |
| | | <echo message=" package that are related to data access and at the" /> |
| | | <echo message=" verbose level or higher. The syntax of this target" /> |
| | | <echo message=" definition is the same as the org.opends.server.debug.target.x" /> |
| | | <echo message=" property when starting ${SHORT_NAME}. " /> |
| | | <echo message=" Default debug target:"/> |
| | | <echo message=" org.opends.server:level=warning,category=caught|data|database-access|message|protocol,stack,cause" /> |
| | | <echo message=""/> |
| | | <echo message=" -Dorg.opends.test.replicationDbImpl=LOG"/> |
| | | <echo message=" indicates which implementation to use for replication DB."/> |
| | | <echo message=" Value must be one of: JE, LOG." /> |
| | | <echo message=" JE: use berkeley DB JE as implementation." /> |
| | | <echo message=" LOG: use log file as implementation." /> |
| | | <echo message=" Default value is LOG" /> |
| | | <echo message=""/> |
| | | <echo message=" -Dtest.diff.srcpath=src/server/org/opends/server/core"/> |
| | | <echo message=" for example includes only the classes in"/> |
| | | <echo message=" src/server/org/opends/server/core in the coveragediff report."/> |
| | | <echo message=" To list multiple directories or files, separate them with"/> |
| | | <echo message=" a space as you would an argument list to 'svn diff' and quote"/> |
| | | <echo message=" the whole value."/> |
| | | <echo message=""/> |
| | | <echo message=" -Dtest.groups=exclude=slow"/> |
| | | <echo message=" for example excludes the slow tests. Each value is expected" /> |
| | | <echo message=" group inclusion/exclusion clause which consists of either 'include'" /> |
| | | <echo message=" or 'exclude' followed by the '=' character and then a group name." /> |
| | | <echo message=" For multiple group clauses, separate them with a ',' and "/> |
| | | <echo message=" quote the entire value. Debug logging is disabled."/> |
| | | <echo message=""/> |
| | | <echo message=" -Dtest.packages=org.opends.server.api"/> |
| | | <echo message=" for example runs only the tests in the api package"/> |
| | | <echo message=" For multiple packages, separate them with a ',' and "/> |
| | | <echo message=" quote the entire value. Debug logging is disabled."/> |
| | | <echo message=""/> |
| | | <echo message=" -Dtest.classes=org.opends.server.types.TestDN"/> |
| | | <echo message=" for example only runs the TestDN class"/> |
| | | <echo message=" For multiple classes, separate them with a ',' and "/> |
| | | <echo message=" quote the entire value. Debug logging is disabled."/> |
| | | <echo message=""/> |
| | | <echo message=" -Dtest.methods=org.opends.server.types.TestDN.testGetRDN"/> |
| | | <echo message=" for example only runs the testGetRDN method"/> |
| | | <echo message=" For multiple methods within the same class, append additional"/> |
| | | <echo message=" method names to the end separating them with a ',' and "/> |
| | | <echo message=" quote the entire value. Debug logging is disabled."/> |
| | | <echo message=""/> |
| | | <echo message=" -Dtest.remote.debug.port=5005"/> |
| | | <echo message=" for example will allow you to remotely debug the unit tests from"/> |
| | | <echo message=" the debugger of your choice by pointing it at port 5005."/> |
| | | <echo message=" The unit tests will not start to run until the debugger is attached"/> |
| | | <echo message=" unless you also specify -Dtest.remote.debug.suspend=n."/> |
| | | <echo message=""/> |
| | | </target> |
| | | |
| | | |
| | | |
| | | <!-- Internal target to execute the Directory Server TestNG unit tests in text mode after everything has been initialized. --> |
| | | <target name="runtests"> |
| | | <antcall target="testhelp"/> |
| | | <antcall target="displayjavaversion"/> |
| | | |
| | | <mkdir dir="${unittest.report.dir}" /> |
| | | |
| | | <taskdef resource="testngtasks"> |
| | | <classpath> |
| | | <fileset dir="${testng.lib.dir}"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | </classpath> |
| | | </taskdef> |
| | | |
| | | <!-- This sets TESTASSERT to false if and only if it's not already set. --> |
| | | <condition property="TESTASSERT" value="false"> |
| | | <not> |
| | | <isset property="TESTASSERT" /> |
| | | </not> |
| | | </condition> |
| | | |
| | | <!-- This sets testng.verbosity if it's not already set. --> |
| | | <condition property="testng.verbosity0to5" value="0"> |
| | | <not> |
| | | <isset property="testng.verbosity0to5" /> |
| | | </not> |
| | | </condition> |
| | | |
| | | <!-- This sets unsuppresses the test output if and only if testng |
| | | is configured to dump debug output. --> |
| | | <condition property="org.opends.test.suppressOutput" value="false"> |
| | | <not> |
| | | <equals arg1="${testng.verbosity0to5}" arg2="0"/> |
| | | </not> |
| | | </condition> |
| | | |
| | | <!-- This sets org.opends.test.replicationDbImpl if and only if it's not |
| | | already set. --> |
| | | <condition property="org.opends.test.replicationDbImpl" value="LOG"> |
| | | <not> |
| | | <isset property="org.opends.test.replicationDbImpl" /> |
| | | </not> |
| | | </condition> |
| | | |
| | | <!-- This sets org.opends.test.suppressOutput if and only if it's not |
| | | already set. --> |
| | | <condition property="org.opends.test.suppressOutput" value="true"> |
| | | <not> |
| | | <isset property="org.opends.test.suppressOutput" /> |
| | | </not> |
| | | </condition> |
| | | |
| | | <!-- This sets org.opends.test.pauseOnFailure if and only if it's not |
| | | already set. --> |
| | | <condition property="org.opends.test.pauseOnFailure" value="false"> |
| | | <not> |
| | | <isset property="org.opends.test.pauseOnFailure" /> |
| | | </not> |
| | | </condition> |
| | | |
| | | <!-- This sets org.opends.server.debug.target if and only if its's not |
| | | already set. --> |
| | | <condition property="org.opends.server.debug.target" |
| | | value="org.opends.server:level=warning,category=caught|data|database-access|message|protocol,stack,cause"> |
| | | <not> |
| | | <isset property="org.opends.server.debug.target" /> |
| | | </not> |
| | | </condition> |
| | | |
| | | <condition property="org.opends.test.copyClassesToTestPackage" |
| | | value="false"> |
| | | <not> |
| | | <isset property="org.opends.test.copyClassesToTestPackage" /> |
| | | </not> |
| | | </condition> |
| | | |
| | | <condition property="test.progress" |
| | | value=""> |
| | | <not> |
| | | <isset property="test.progress" /> |
| | | </not> |
| | | </condition> |
| | | |
| | | |
| | | <!-- If the debug port was set, we pass these options into the <testng> target below: |
| | | -Xdebug |
| | | -Xnoagent |
| | | -Djava.compiler=NONE |
| | | -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005 |
| | | --> |
| | | <condition property="test.remote.debug.suspend" value="y"> |
| | | <not> |
| | | <isset property="test.remote.debug.suspend" /> |
| | | </not> |
| | | </condition> |
| | | <condition property="jvm.debug.arg1" value="-Xdebug" else="-Dopends.bogus.debug.arg1"> |
| | | <isset property="test.remote.debug.port" /> |
| | | </condition> |
| | | <condition property="jvm.debug.arg2" value="-Xnoagent" else="-Dopends.bogus.debug.arg2"> |
| | | <isset property="test.remote.debug.port" /> |
| | | </condition> |
| | | <condition property="jvm.debug.arg3" value="-Djava.compiler=NONE" else="-Dopends.bogus.debug.arg3"> |
| | | <isset property="test.remote.debug.port" /> |
| | | </condition> |
| | | <condition property="jvm.debug.arg4" |
| | | value="-Xrunjdwp:transport=dt_socket,server=y,suspend=${test.remote.debug.suspend},address=${test.remote.debug.port}" |
| | | else="-Dopends.bogus.debug.arg4"> |
| | | <isset property="test.remote.debug.port" /> |
| | | </condition> |
| | | |
| | | |
| | | <!-- Cleanout the old reports. Otherwise, the old testng-failed.xml |
| | | will hang around even if all of the tests pass. --> |
| | | <delete> |
| | | <fileset dir="${unittest.report.dir}" includes="*"/> |
| | | </delete> |
| | | |
| | | <!-- Our testng listener will remove this file if all of the |
| | | tests passed. This allows us to generate the coverage |
| | | report even if the tests failed and still fail the build. --> |
| | | <touch file="${unittest.report.dir}/.tests-failed-marker"/> |
| | | |
| | | <testng outputdir="${unittest.report.dir}" |
| | | haltonfailure="false" |
| | | verbose="${testng.verbosity0to5}" |
| | | enableAssert="${TESTASSERT}" |
| | | listeners="org.opends.server.TestListener org.testng.reporters.FailedReporter" |
| | | useDefaultListeners="false" |
| | | suiteRunnerClass="org.opends.server.SuiteRunner"> |
| | | <classpath> |
| | | <pathelement location="${coverage.instr.dir}" /> |
| | | <pathelement location="${classes.dir}" /> |
| | | <pathelement location="${quicksetup.classes.dir}" /> |
| | | <pathelement location="${unittest.classes.dir}" /> |
| | | <pathelement location="${resource.dir}" /> |
| | | <path refid="run.classpath" /> |
| | | <path refid="emma.lib" /> |
| | | |
| | | <fileset refid="opendj.runtime.jars"/> |
| | | <fileset refid="opendj.test.jars"/> |
| | | |
| | | <!-- Needed by quicksetup tests --> |
| | | <fileset dir="${build.dir}/build-tools"> |
| | | <include name="build-tools.jar" /> |
| | | </fileset> |
| | | |
| | | <fileset dir="${testng.lib.dir}"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | |
| | | <fileset dir="${opendmk.lib.dir}"> |
| | | <include name="*.jar"/> |
| | | </fileset> |
| | | </classpath> |
| | | |
| | | <jvmarg value="-Demma.coverage.out.file=${coverage.data.dir}/unit.emma" /> |
| | | <jvmarg value="-Demma.coverage.out.merge=false" /> |
| | | <jvmarg value="-Dorg.opends.server.BuildRoot=${basedir}" /> |
| | | <jvmarg value="-Dorg.opends.server.BuildDir=${build.dir}" /> |
| | | <jvmarg value="-Dorg.opends.server.RunningUnitTests=true" /> |
| | | <jvmarg value="-Dorg.opends.server.snmp.opendmk=${opendmk.lib.dir}"/> |
| | | <jvmarg value="-Dorg.opends.test.replicationDbImpl=${org.opends.test.replicationDbImpl}" /> |
| | | <jvmarg value="-Dorg.opends.test.suppressOutput=${org.opends.test.suppressOutput}" /> |
| | | <jvmarg value="-Dorg.opends.test.pauseOnFailure=${org.opends.test.pauseOnFailure}" /> |
| | | <jvmarg value="-Dorg.opends.server.debug.target=${org.opends.server.debug.target}" /> |
| | | <jvmarg value="-Dorg.opends.test.copyClassesToTestPackage=${org.opends.test.copyClassesToTestPackage}" /> |
| | | <jvmarg value="-Dtest.progress=${test.progress}" /> |
| | | <jvmarg value="-Xms${MEM}" /> |
| | | <jvmarg value="-Xmx${MEM}" /> |
| | | <jvmarg value="-XX:MaxPermSize=${PERMSIZE}" /> |
| | | <jvmarg value="${jvm.debug.arg1}" /> |
| | | <jvmarg value="${jvm.debug.arg2}" /> |
| | | <jvmarg value="${jvm.debug.arg3}" /> |
| | | <jvmarg value="${jvm.debug.arg4}" /> |
| | | |
| | | <xmlfileset dir="${unittest.resource.dir}" includes="testng.xml" /> |
| | | </testng> |
| | | |
| | | <!-- Our testng listener will create this file if any of the |
| | | tests failed. This allows us to generate the coverage |
| | | report even if the tests failed. --> |
| | | <available property="testng.tests.failed" |
| | | file="${unittest.report.dir}/.tests-failed-marker"/> |
| | | |
| | | <!-- Delete all of the report suite sub-directories since we only |
| | | have a single suite. --> |
| | | <delete dir="${unittest.report.dir}/${SHORT_NAME}"/> |
| | | |
| | | <emma enabled="${coverage.enabled}" > |
| | | <report sourcepath="${src.dir}" > |
| | | <fileset dir="${coverage.data.dir}" > |
| | | <include name="unit.emma" /> |
| | | <include name="metadata.emma" /> |
| | | </fileset> |
| | | |
| | | <txt outfile="${coverage.report.dir}/coverage.txt" /> |
| | | <html outfile="${coverage.report.dir}/index.html" /> |
| | | <xml outfile="${coverage.report.dir}/coverage.xml" /> |
| | | </report> |
| | | |
| | | </emma> |
| | | |
| | | <!-- We delay failing until after the coverage report is generated. --> |
| | | <fail message="The unit tests failed." if="testng.tests.failed"/> |
| | | |
| | | </target> |
| | | |
| | | |
| | | |
| | | <target name="prepdefaultalltest"> |
| | | <condition property="test.groups" value=""> |
| | | <not> |
| | | <or> |
| | | <isset property="test.groups" /> |
| | | <isset property="test.packages" /> |
| | | <isset property="test.classes" /> |
| | | <isset property="test.methods" /> |
| | | </or> |
| | | </not> |
| | | </condition> |
| | | </target> |
| | | |
| | | |
| | | |
| | | <target name="testreport" |
| | | depends="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> |
| | | |
| | | |
| | | |
| | | |
| | | <target name="buildtools" depends="init,resolve" |
| | | description="Builds the build tools"> |
| | | |
| | | <mkdir dir="${buildtools.classes.dir}" /> |
| | | |
| | | <copy file="${resource.dir}/Messages.java.stub" todir="${buildtools.classes.dir}/org/opends/build/tools/resource"/> |
| | | |
| | | <javac srcdir="${src.dir}:${msg.src.dir}" destdir="${buildtools.classes.dir}" |
| | | sourcepath="" |
| | | includes="org/opends/messages/Severity.java, |
| | | org/opends/messages/Category.java, |
| | | org/opends/messages/Message.java, |
| | | org/opends/messages/MessagePropertyKey.java, |
| | | org/opends/messages/MessageDescriptor.java, |
| | | org/opends/server/types/PublicAPI.java, |
| | | org/opends/server/types/StabilityLevel.java"/> |
| | | |
| | | |
| | | <javac srcdir="${buildtools.src.dir}" destdir="${buildtools.classes.dir}"> |
| | | <classpath> |
| | | <fileset dir="${ant.lib.dir}"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | |
| | | <fileset dir="${lib.dir}/compile"> |
| | | <include name="i18n-core.jar" /> |
| | | </fileset> |
| | | |
| | | <fileset dir="${emma.dir}"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | |
| | | <fileset dir="${svnkit.lib.dir}"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | |
| | | <path refid="run.classpath" /> |
| | | </classpath> |
| | | </javac> |
| | | |
| | | <jar jarfile="${buildtools.jar}" |
| | | basedir="${buildtools.classes.dir}" compress="true" index="true" /> |
| | | </target> |
| | | |
| | | |
| | | |
| | | <!-- Code generation for core administration components. --> |
| | | <target name="generateadmin" depends="validateadmin" description="Code generation for configuration Object."> |
| | | <!-- The XSLT task creates a lot of noise. |
| | |
| | | </exec> |
| | | </target> |
| | | |
| | | |
| | | |
| | | <target name="generateadminsubtask"> |
| | | <!-- Xalan-J Class Path : refer to it explicitly from each XSLT task. --> |
| | | <path id="xalan.class.path"> |
| | |
| | | </concat> |
| | | <delete dir="${admin.temp.dir}" /> |
| | | </target> |
| | | |
| | | |
| | | |
| | | <!-- Remove all dynamically-generated build files. --> |
| | | <target name="cleanadmin" if="isadmingendirpresent" description="Clean up any generated source files for admin"> |
| | | <delete includeemptydirs="true"> |
| | | <fileset dir="${admin.src.dir}" includes="**/*" /> |
| | | </delete> |
| | | </target> |
| | | |
| | | <!-- Validate core administration component XML definition files. --> |
| | | <target name="validateadmin" description="Validate core administration component XML definition files."> |
| | | <schemavalidate> |
| | | <fileset dir="${admin.defn.dir}" includes="**/*.xml" /> |
| | | <schema namespace="http://www.opends.org/admin" file="${admin.rules.dir}/admin.xsd"/> |
| | | <schema namespace="http://www.opends.org/admin-ldap" file="${admin.rules.dir}/admin-ldap.xsd"/> |
| | | <schema namespace="http://www.opends.org/admin-cli" file="${admin.rules.dir}/admin-cli.xsd"/> |
| | | </schemavalidate> |
| | | </target> |
| | | |
| | | <!-- Remove all dynamically-generated build files. --> |
| | | <target name="cleanmessages" if="ismsggendirpresent" description="Clean up any generated source files for messages"> |
| | | <delete includeemptydirs="true"> |
| | | <fileset dir="${msg.javagen.dir}" includes="**/*" /> |
| | | </delete> |
| | | </target> |
| | | |
| | | <!-- Generate a src.zip file containing all the server source. --> |
| | | <target name="srczip" depends="generateadmin" |
| | | description="Generate a src.zip file with all the server source."> |
| | | <zip destfile="${build.dir}/src.zip"> |
| | | <zipfileset dir="${src.dir}" excludes="**/.svn" filemode="644" |
| | | dirmode="755" /> |
| | | <zipfileset dir="${admin.src.dir}" excludes="**/.svn" filemode="644" |
| | | dirmode="755" /> |
| | | <zipfileset dir="${ads.src.dir}" excludes="**/.svn" filemode="644" |
| | | dirmode="755" /> |
| | | <zipfileset dir="${quicksetup.src.dir}" excludes="**/.svn" filemode="644" |
| | | dirmode="755" /> |
| | | <zipfileset dir="${guitools.src.dir}" excludes="**/.svn" filemode="644" |
| | | dirmode="755" /> |
| | | </zip> |
| | | </target> |
| | | |
| | | |
| | | |
| | | <!-- Generate example plugin package. --> |
| | | <target name="example-plugin" if="pdir"> |
| | | <!-- Create folder hierarchy in temporary directory. --> |
| | | <tempfile property="plugin.temp.dir" destDir="${build.dir}" prefix="tmp"/> |
| | | <mkdir dir="${plugin.temp.dir}/example-plugin" /> |
| | | <mkdir dir="${plugin.temp.dir}/example-plugin/src" /> |
| | | <mkdir dir="${plugin.temp.dir}/example-plugin/src-generated" /> |
| | | <mkdir dir="${plugin.temp.dir}/example-plugin/lib" /> |
| | | <mkdir dir="${plugin.temp.dir}/example-plugin/ext" /> |
| | | <mkdir dir="${plugin.temp.dir}/example-plugin/resource" /> |
| | | <mkdir dir="${plugin.temp.dir}/example-plugin/resource/admin" /> |
| | | <mkdir dir="${plugin.temp.dir}/example-plugin/resource/config" /> |
| | | <mkdir dir="${plugin.temp.dir}/example-plugin/resource/schema" /> |
| | | <mkdir dir="${plugin.temp.dir}/example-plugin/resource/messages" /> |
| | | <copy todir="${plugin.temp.dir}/example-plugin/src"> |
| | | <fileset dir="${admin.defn.dir}" includes="**/*.xml" /> |
| | | </copy> |
| | | <copy todir="${plugin.temp.dir}/example-plugin/resource/admin"> |
| | | <fileset dir="${admin.rules.dir}" excludes="example-plugin/**" /> |
| | | </copy> |
| | | <copy todir="${plugin.temp.dir}/example-plugin" file="${admin.rules.dir}/example-plugin/build.xml" /> |
| | | <copy todir="${plugin.temp.dir}/example-plugin" file="${admin.rules.dir}/example-plugin/README" /> |
| | | <copy todir="${plugin.temp.dir}/example-plugin/resource/schema" file="${admin.rules.dir}/example-plugin/99-example-plugin.ldif" /> |
| | | <copy todir="${plugin.temp.dir}/example-plugin/resource/config" file="${admin.rules.dir}/example-plugin/example-plugin.ldif" /> |
| | | <copy todir="${plugin.temp.dir}/example-plugin/src/com/example/opends"> |
| | | <fileset dir="${admin.rules.dir}/example-plugin" includes="*.java,*.xml" excludes="build.xml" /> |
| | | </copy> |
| | | <copy todir="${plugin.temp.dir}/example-plugin/lib" file="${buildtools.jar}" /> |
| | | <copy todir="${plugin.temp.dir}/example-plugin/resource/messages/com/example/opends/messages" file="${admin.rules.dir}/example-plugin/example_plugin.properties" /> |
| | | <copy todir="${plugin.temp.dir}/example-plugin/resource/messages/com/example/opends/messages" file="${admin.rules.dir}/example-plugin/example_plugin_fr.properties" /> |
| | | <!-- Package up the plugin in the OpenDJ package folder. --> |
| | | <zip destfile="${pdir}/example-plugin.zip"> |
| | | <zipfileset dir="${plugin.temp.dir}" filemode="644" dirmode="755" /> |
| | | </zip> |
| | | <delete dir="${plugin.temp.dir}" /> |
| | | </target> |
| | | |
| | | <target name="snmpmessagebuild" if="isopendmkpresent"> |
| | | <echo message="SNMP extension will be built and included in the delivery."/> |
| | | <echo message="OpenDMK jar file location is ${opendmk.lib.dir}/jdmkrt.jar"/> |
| | | </target> |
| | | |
| | | <target name="snmpmessageNotbuild" unless="isopendmkpresent"> |
| | | <echo message="Building without SNMP extension."/> |
| | | <echo message="To build with SNMP extension set opendmk.lib.dir build property"/> |
| | | <echo message="to indicate the location of the OpenDMK jar files. OpenDMK jars"/> |
| | | <echo message="can be found at OpenDMK project at https://opendmk.dev.java.net"/> |
| | | </target> |
| | | |
| | | <target name="snmpecho" depends="snmpmessageNotbuild,snmpmessagebuild"/> |
| | | |
| | | <!-- SNMP targets --> |
| | | <target name="cleansnmp" description="Clean up any SNMP generated source files"> |
| | | <delete includeemptydirs="true" failonerror="false"> |
| | | <fileset dir="${snmp.gen.dir}" includes="**/*" /> |
| | | </delete> |
| | | </target> |
| | | |
| | | <target name="mibgeneration" if="isopendmkpresent" description="mibgen invocation"> |
| | | <property name="opendmktk.path" location="${opendmk.lib.dir}/jdmktk.jar"/> |
| | | <mkdir dir="${snmp.gen.dir}/org/opends/server/snmp" /> |
| | | <exec dir="${snmp.mib.dir}" executable="java"> |
| | | <arg line="-classpath ${opendmktk.path} |
| | | com.sun.jdmk.tools.MibGen -X:use-display-hint |
| | | -d "${snmp.gen.dir}/org/opends/server/snmp" -mc -desc |
| | | -tp org.opends.server.snmp "${snmp.mib.dir}/rfc2605.txt" |
| | | "${snmp.mib.dir}/mib_core.txt" |
| | | "${snmp.mib.dir}/rfc2021.txt" "${snmp.mib.dir}/rfc2788.txt""/> |
| | | </exec> |
| | | </target> |
| | | |
| | | <target name="compilesnmp" |
| | | depends="mibgeneration" |
| | | if="isopendmkpresent" |
| | | description="Compile the SNMP Connection Handler extension source files."> |
| | | |
| | | <mkdir dir="${classes.dir}" /> |
| | | |
| | | <javac srcdir="${snmp.gen.dir}" destdir="${classes.dir}" > |
| | | <compilerarg value="-Xlint:-serial" /> |
| | | <classpath> |
| | | <fileset refid="opendj.runtime.jars"/> |
| | | <fileset dir="${opendmk.lib.dir}"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | </classpath> |
| | | </javac> |
| | | |
| | | <javac srcdir="${snmp.src.dir}" destdir="${classes.dir}"> |
| | | <classpath> |
| | | <fileset refid="opendj.runtime.jars"/> |
| | | <fileset dir="${opendmk.lib.dir}"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | </classpath> |
| | | </javac> |
| | | </target> |
| | | |
| | | |
| | | <!-- Package the SNMP Directory Server extension for distribution. --> |
| | | <target name="package-snmp" if="isopendmkpresent" depends="snmpecho,compilesnmp" |
| | | description="Package the SNMP Directory Server extension for distribution."> |
| | | <property name="pdir" location="${package.dir}/${SHORT_NAME}-${VERSION_NUMBER_STRING}"/> |
| | | <mkdir dir="${pdir}/lib/extensions" /> |
| | | <mkdir dir="${pdir}/snmp/mib"/> |
| | | <mkdir dir="${pdir}/template/config/snmp/security" /> |
| | | <!-- Copy security template files --> |
| | | <copy todir="${pdir}/template/config/snmp/security"> |
| | | <fileset dir="${snmp.security.dir}"/> |
| | | </copy> |
| | | <!-- Copy the mib --> |
| | | <copy todir="${pdir}/snmp/mib" file="${snmp.mib.dir}/rfc2605.txt"/> |
| | | |
| | | <!-- Update the config.ldif file with snmp config --> |
| | | <concat destfile="${pdir}/template/config/config.ldif" append="true"> |
| | | <filelist dir="${snmp.config.dir}" files="config.snmp.ldif"/> |
| | | </concat> |
| | | |
| | | <!-- Create the jar file --> |
| | | <jar jarfile="${pdir}/lib/extensions/snmp-mib2605.jar" |
| | | basedir="${classes.dir}" |
| | | includes="org/opends/server/snmp/**" |
| | | compress="true" index="true" > |
| | | <manifest> |
| | | <attribute name="Extension-Name" value="snmp-mib2605"/> |
| | | <attribute name="Implementation-Version" value="${VERSION_NUMBER_STRING}"/> |
| | | <attribute name="Revision-Number" value="${REVISION_NUMBER}"/> |
| | | </manifest> |
| | | </jar> |
| | | <!-- Add admin/extension.manifest into the extension jar file --> |
| | | <jar jarfile="${pdir}/lib/extensions/snmp-mib2605.jar" |
| | | basedir="${snmp.resource.dir}" |
| | | includes="admin/**" |
| | | compress="true" index="true" update="yes"> |
| | | </jar> |
| | | <echo message="SNMP Extension is built"/> |
| | | <echo message="${pdir}/lib/extensions/snmp-mib2605.jar"/> |
| | | </target> |
| | | |
| | | <target name="testsnmpinit" if="isopendmkpresent" depends="init"> |
| | | <!-- Compile the SNMP test cases --> |
| | | <mkdir dir="${unittest.classes.dir}" /> |
| | | <javac srcdir="${unittest.testng.src.dir}" destdir="${unittest.classes.dir}" |
| | | includes="org/opends/server/snmp/**"> |
| | | <classpath> |
| | | <fileset refid="opendj.runtime.jars"/> |
| | | <fileset refid="opendj.test.jars"/> |
| | | |
| | | <fileset dir="${testng.lib.dir}"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | |
| | | <fileset dir="${opendmk.lib.dir}"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | |
| | | <path refid="run.classpath" /> |
| | | <path refid="quickSetup.classpath" /> |
| | | </classpath> |
| | | </javac> |
| | | </target> |
| | | |
| | | <!-- ============== |
| | | IVY TARGETS |
| | | =================== --> |
| | | |
| | | <target name="check-ivy-installed"> |
| | | <available file="${ivy.jar.file}" property="ivy-installed"/> |
| | | </target> |
| | | |
| | | <target name="download-ivy" depends="check-ivy-installed" unless="ivy-installed"> |
| | | <mkdir dir="${ext.dir}"/> |
| | | <!-- download Ivy from web site so that it can be used even without any special installation --> |
| | | <echo message="installing ivy..."/> |
| | | <get src="http://repo1.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar" dest="${ivy.jar.file}" usetimestamp="true"/> |
| | | </target> |
| | | |
| | | <target name="install-ivy" depends="download-ivy" description="--> install ivy"> |
| | | <!-- try to load ivy here from local ivy dir, in case the user has not already dropped |
| | | it into ant's lib dir (note that the latter copy will always take precedence). |
| | | We will not fail as long as local lib dir exists (it may be empty) and |
| | | ivy is in at least one of ant's lib dir or the local lib dir. --> |
| | | <path id="ivy.lib.path"> |
| | | <fileset dir="${ext.dir}" includes="*.jar"/> |
| | | </path> |
| | | <taskdef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/> |
| | | </target> |
| | | |
| | | <target name="resolve" depends="install-ivy" description="--> retrieve dependencies with ivy"> |
| | | <ivy:retrieve pattern="${lib.dir}/[type]/[artifact].[ext]"> |
| | | <firstmatchmapper> |
| | | <!-- Using regexpmapper's handledirsep attribute for Windows builds. |
| | | See https://ant.apache.org/manual/Types/mapper.html --> |
| | | <regexpmapper from="(.*/(source|javadoc)/.*)" to="\1" handledirsep="true"/> |
| | | <!-- Separate test and compile jars ala Maven --> |
| | | <regexpmapper from="(.*)/(jar|bundle)/(.*(?:assertj-core|hamcrest-core|junit|mockito-core|objenesis)\.jar)" to="\1/test/\3" handledirsep="true"/> |
| | | <regexpmapper from="(.*)/(jar|bundle)/(.*)" to="\1/compile/\3" handledirsep="true"/> |
| | | </firstmatchmapper> |
| | | </ivy:retrieve> |
| | | </target> |
| | | |
| | | <property name="snapshots.dir" value="${lib.dir}/snapshots" /> |
| | | <target name="resolve-snapshots-separately" depends="install-ivy"> |
| | | <ivy:retrieve type="jar,bundle" pattern="${lib.dir}/[artifact]-[revision].[ext]"> |
| | | <firstmatchmapper> |
| | | <globmapper from="${lib.dir}/*-SNAPSHOT.jar" to="${snapshots.dir}/*-SNAPSHOT.jar" /> |
| | | <globmapper from="${lib.dir}/*" to="${lib.dir}/releases/*" /> |
| | | </firstmatchmapper> |
| | | </ivy:retrieve> |
| | | </target> |
| | | |
| | | <fileset dir="${snapshots.dir}" id="snapshots.dir.ref" erroronmissingdir="false"> |
| | | <include name="**"/> |
| | | </fileset> |
| | | <target name="check-no-snapshot-dependencies" depends="cleanlib,resolve-snapshots-separately"> |
| | | <fail message="The project must not depend on snapshot dependencies. Found: ${toString:snapshots.dir.ref}"> |
| | | <condition> |
| | | <resourcecount refid="snapshots.dir.ref" when="greater" count="0" /> |
| | | </condition> |
| | | </fail> |
| | | <antcall target="cleanlib" /> |
| | | <echo message="OK." /> |
| | | </target> |
| | | |
| | | <target name="cleanlib" description="--> clean the lib directory"> |
| | | <delete includeemptydirs="true"> |
| | | <fileset dir="${lib.dir}"> |
| | | <include name="**" /> |
| | | <exclude name="opendj_service.exe" /> |
| | | <exclude name="winlauncher.exe" /> |
| | | <exclude name="launcher_administrator.exe" /> |
| | | </fileset> |
| | | </delete> |
| | | </target> |
| | | |
| | | <target name="clean-ivy" description="--> clean the ivy installation"> |
| | | <delete file="${ivy.jar.file}"/> |
| | | </target> |
| | | |
| | | <target name="clean-ivy-cache" depends="install-ivy" description="--> clean the ivy cache"> |
| | | <ivy:cleancache/> |
| | | </target> |
| | | |
| | | </project> |