mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

fguigues
18.22.2008 fa8b7740ab74fa5f2104b0f44cc35a960cafb76d
opends/build.xml
@@ -33,6 +33,9 @@
  <!-- Build JVM properties -->
  <property name="MEM" value="256M"/>
  <!-- Build OpenDMK properties -->
  <property file="build.properties"/>
  <!-- General server-wide properties                                 -->
  <property name="src.dir"          location="src/server"              />
@@ -142,23 +145,32 @@
  <property name="msg.package.dir" location="${classes.dir}/messages" />
  <property name="msg.src.dir"     location="src/messages/src" />
  <!-- 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.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" />
  <!-- Create a package bundle containing the DSML library. -->
  <target name="dsml" depends="predsml,package"
       description="Build a Directory Server package bundle with DSML.">
  </target>
  <!-- The build target that should be used before committing code. -->
  <target name="precommit" depends="checkstyle,clean,checkprecommit,dsml,testwithcoverage"
       description="Perform all processing needed before committing code.">
  </target>
  <!-- The build target that should be used for nightly builds. -->
  <target name="nightly"
       depends="checkstyle,dsml,srczip,javadoc,docgen,coverage,testallwithcoverage"
@@ -174,8 +186,8 @@
  </target>
  <!-- The build target that should be used to build everything. -->
  <target name="all"
       depends="checkstyle,clean,checkprecommit,dsml,srczip,javadoc,docgen,testallwithcoverage"
@@ -261,7 +273,7 @@
  <!-- Remove all dynamically-generated build files. -->
  <target name="clean" depends="cleanadmin,cleanmessages"
  <target name="clean" depends="cleanadmin,cleanmessages,cleansnmp"
       description="Clean up any files generated during the build process">
    <delete dir="${build.dir}" />
@@ -320,7 +332,7 @@
    <path id="quickSetup.classpath">
       <pathelement location="${quicksetup.classes.dir}" />
    </path>
    <tstamp>
      <format property="timestamp" pattern="yyyyMMddHHmmss'Z'"
           timezone="UTC" />
@@ -356,6 +368,20 @@
        <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>
  </target>
@@ -689,7 +715,7 @@
        </fileset>
      </classpath>
    </javac>
    <copy todir="${classes.dir}">
      <fileset dir="${src.dir}" includes="**/*.properties" />
      <fileset dir="${quicksetup.src.dir}" includes="**/*.properties, **/*.gif, **/*.png" />
@@ -822,6 +848,7 @@
    <mkdir dir="${pdir}/config/schema"                               />
    <mkdir dir="${pdir}/config/messages"                             />
    <mkdir dir="${pdir}/config/MakeLDIF"                             />
    <mkdir dir="${pdir}/config/snmp/security"                        />
    <mkdir dir="${pdir}/db"                                          />
    <mkdir dir="${pdir}/import-tmp"                                  />
    <mkdir dir="${pdir}/changelogDb"                                 />
@@ -854,11 +881,11 @@
    <!-- 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}"
         compress="true" index="true" />
         excludes="${ads.classes.dir}, ${quicksetup.globalcompile.classes.dir},
         org/opends/server/snmp/**" compress="true" index="true" />
    <jar jarfile="${pdir}/lib/quicksetup.jar"
         basedir="${quicksetup.classes.dir}" compress="true" index="true" />
@@ -866,13 +893,11 @@
    <copy todir="${pdir}/lib">
      <fileset file="${lib.dir}/*.jar" />
    </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}/bin" includes="README_WINDOWS.txt" eol="crlf" />
@@ -882,7 +907,9 @@
    <copy todir="${pdir}/config">
      <fileset file="${config.dir}/*" />
    </copy>
    <antcall target="package-snmp" />
    <copy file="${pdir}/config/config.ldif"
         tofile="${pdir}/config/upgrade/config.ldif.${REVISION_NUMBER}" />
@@ -1320,7 +1347,7 @@
  </target>
  <!-- Prepare to execute the Directory Server TestNG unit tests. --> 
  <target name="test.OpenDS.package.required" depends="dynamicconstants">
    <condition property="test.OpenDS.package.required">
@@ -1380,7 +1407,7 @@
    <javac srcdir="${unittest.testng.src.dir}" destdir="${unittest.classes.dir}"
           debug="on" debuglevel="${build.debuglevel}" source="1.5"
           target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
           memoryMaximumSize="${MEM}">
           memoryMaximumSize="${MEM}" excludes="org/opends/server/snmp/**">
      <compilerarg value="-Xlint:all" />
      <classpath>
@@ -1402,6 +1429,9 @@
               includes="**/*.properties" />
    </copy>
    <!-- Compile SNMP Tests if needed -->
    <antcall target="testsnmpinit"/>
    <!-- Prep the TestNG XML file -->
    <condition property="test.groups" value="exclude=slow">
@@ -1871,6 +1901,11 @@
        <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" />
@@ -1970,8 +2005,8 @@
  </target>
  <target name="buildtools" depends="init"
        description="Builds the build tools">
@@ -2044,8 +2079,8 @@
    </exec>
  </target>
  <target name="compileadminsubtask">
    <!-- Generate introspection API for core administration components. -->
    <xslt basedir="${admin.defn.dir}" destdir="${admin.src.dir}" includes="**/*Configuration.xml" style="${admin.rules.dir}/metaMO.xsl">
@@ -2098,7 +2133,7 @@
      <regexpmapper handledirsep="true" from="^(.*)/([^/]+)Configuration\.xml$$" to="\1/meta/\2CfgDefn.properties" />
      <param name="base-dir" expression="${admin.defn.dir}" />
    </xslt>
    <!-- Generate manifest file for core administration components. -->
    <tempfile property="admin.temp.dir" destDir="${build.dir}" prefix="tmp" />
    <mkdir dir="${admin.temp.dir}" />
@@ -2152,8 +2187,8 @@
    </zip>
  </target>
  <!-- Generate example plugin package. -->
  <target name="example-plugin" if="pdir">
    <!-- Create folder hierarchy in temporary directory. -->
@@ -2187,4 +2222,138 @@
    </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="SNMP extension will NOT be built/included in the delivery."/>
      <echo message="You have to set the opendmk.lib.dir property in"/>
      <echo message="${basedir}/build.properties file to indicate"/>
      <echo message="the location of the OpenDMK jar files."/>
      <echo message="To get the OpenDMK jar files please, go under"/>
      <echo message="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="init,checkjavaversion,dynamicconstants,generatemessages,compileadmin,mibgeneration"
       if="isopendmkpresent"
       description="Compile the SNMP Connection Handler extension source files.">
    <mkdir dir="${classes.dir}" />
    <javac srcdir="${snmp.gen.dir}"
         destdir="${classes.dir}" debug="on" debuglevel="${build.debuglevel}"
         source="1.4" target="1.4" deprecation="true" fork="true" nowarn="on"
         memoryInitialSize="${MEM}" memoryMaximumSize="${MEM}">
      <compilerarg value="-Xlint:all" />
      <classpath>
        <fileset dir="${lib.dir}">
          <include name="*.jar" />
        </fileset>
        <fileset dir="${opendmk.lib.dir}">
          <include name="*.jar" />
        </fileset>
      </classpath>
    </javac>
     <javac srcdir="${snmp.src.dir}"
         destdir="${classes.dir}" debug="on" debuglevel="${build.debuglevel}"
         source="1.5" target="1.5" deprecation="true" fork="true"
         memoryInitialSize="${MEM}" memoryMaximumSize="${MEM}">
      <compilerarg value="-Xlint:all" />
      <classpath>
        <fileset dir="${lib.dir}">
          <include name="*.jar" />
        </fileset>
        <fileset dir="${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}/config/snmp/security" />
    <!-- Copy security template files -->
    <copy todir="${pdir}/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}/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" />
    <echo message="SNMP Extension is built"/>
    <echo message="${pdir}/lib/extensions/snmp-mib2605.jar"/>
  </target>
  <target name="testsnmpinit" if="isopendmkpresent">
    <!-- Compile the SNMP test cases -->
    <mkdir dir="${unittest.classes.dir}" />
    <javac srcdir="${unittest.testng.src.dir}" destdir="${unittest.classes.dir}"
           debug="on" debuglevel="${build.debuglevel}" source="1.5"
           target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
           memoryMaximumSize="${MEM}" includes="org/opends/server/snmp/**">
      <compilerarg value="-Xlint:all" />
      <classpath>
        <fileset dir="${lib.dir}">
          <include name="*.jar" />
        </fileset>
        <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>
</project>