From a24e77fa0b32b71c83e0933ff51c9ca228d9c6aa Mon Sep 17 00:00:00 2001
From: ludovicp <ludovicp@localhost>
Date: Fri, 25 Jun 2010 10:07:45 +0000
Subject: [PATCH] Changes in OpenDS factory to build with Java 6 only. Minimal version is Java 1.6.0 Update 10. Also fixes Message file generation to allow custom location.

---
 opends/build.xml                                                       |   58 ++++++++++++++--------------
 opends/src/build-tools/org/opends/build/tools/GenerateMessageFile.java |   59 ++++++++---------------------
 2 files changed, 46 insertions(+), 71 deletions(-)

diff --git a/opends/build.xml b/opends/build.xml
index dcd4f45..7c9e288 100644
--- a/opends/build.xml
+++ b/opends/build.xml
@@ -350,7 +350,7 @@
   <target name="validjavaversion"
           depends="buildtools" >
 
-    <property name="min.java.version" value="1.5.0_08" />
+    <property name="min.java.version" value="1.6.0_10" />
 
     <typedef name="validjavaversion"
              classname="org.opends.build.tools.ValidJavaVersion" >
@@ -628,7 +628,7 @@
 
     <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}" excludes="${exclude.ndb.src}" debug="on" debuglevel="${build.debuglevel}"
-         source="1.5" target="1.5" deprecation="true" fork="true"
+         deprecation="true" fork="true"
          memoryInitialSize="${MEM}" memoryMaximumSize="${MEM}">
       <compilerarg value="-Xlint:all" />
 
@@ -659,8 +659,8 @@
           description="Compile the Quick Setup source files.">
     <mkdir dir="${quicksetup.classes.dir}" />
     <javac srcdir="${ads.src.dir}" destdir="${quicksetup.classes.dir}"
-         optimize="true" debug="on" debuglevel="lines,source" source="1.5"
-         target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
+         optimize="true" debug="on" debuglevel="lines,source"
+         deprecation="true" fork="true" memoryInitialSize="${MEM}"
          memoryMaximumSize="${MEM}">
       <compilerarg value="-Xlint:all" />
       <classpath>
@@ -671,8 +671,8 @@
       </classpath>
     </javac>
     <javac srcdir="${src.dir}:${msg.src.dir}:${msg.javagen.dir}" destdir="${quicksetup.classes.dir}"
-               debug="on" debuglevel="${build.debuglevel}" source="1.5"
-               target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
+               debug="on" debuglevel="${build.debuglevel}"
+               deprecation="true" fork="true" memoryInitialSize="${MEM}"
                memoryMaximumSize="${MEM}">
       <include name="**/org/opends/server/util/SetupUtils.java"/>
       <include name="**/org/opends/server/util/CertificateManager.java"/>
@@ -688,8 +688,8 @@
     <compilerarg value="-Xlint:all" />
     </javac>
     <javac srcdir="${quicksetup.src.dir}" destdir="${quicksetup.classes.dir}"
-         debug="on" debuglevel="${build.debuglevel}" source="1.5"
-         target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
+         debug="on" debuglevel="${build.debuglevel}"
+         deprecation="true" fork="true" memoryInitialSize="${MEM}"
          memoryMaximumSize="${MEM}">
       <compilerarg value="-Xlint:all" />
 
@@ -800,7 +800,7 @@
     <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}" excludes="${exclude.ndb.src}"
-         debug="on" debuglevel="${build.debuglevel}" source="1.5" target="1.5"
+         debug="on" debuglevel="${build.debuglevel}"
          deprecation="true" fork="true" memoryInitialSize="${MEM}"
          memoryMaximumSize="${MEM}">
       <compilerarg value="-Xlint:all" />
@@ -841,8 +841,8 @@
     <!-- Recreate the quicksetup classes directory and recompile into it. -->
     <mkdir dir="${quicksetup.classes.dir}" />
     <javac srcdir="${ads.src.dir}" destdir="${quicksetup.classes.dir}"
-         optimize="true" debug="on" debuglevel="lines,source" source="1.5"
-         target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
+         optimize="true" debug="on" debuglevel="lines,source"
+         deprecation="true" fork="true" memoryInitialSize="${MEM}"
          memoryMaximumSize="${MEM}">
       <compilerarg value="-Xlint:all" />
       <classpath>
@@ -853,8 +853,8 @@
       </classpath>
     </javac>
     <javac srcdir="${src.dir}:${msg.src.dir}:${msg.javagen.dir}" destdir="${quicksetup.classes.dir}"
-                       debug="on" debuglevel="${build.debuglevel}" source="1.5"
-                       target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
+                       debug="on" debuglevel="${build.debuglevel}"
+                       deprecation="true" fork="true" memoryInitialSize="${MEM}"
                        memoryMaximumSize="${MEM}">
       <include name="**/org/opends/server/util/SetupUtils.java"/>
       <include name="**/org/opends/server/util/CertificateManager.java"/>
@@ -870,7 +870,7 @@
       <compilerarg value="-Xlint:all" />
     </javac>
     <javac srcdir="${quicksetup.src.dir}" destdir="${quicksetup.classes.dir}"
-        debug="on" debuglevel="${build.debuglevel}" source="1.5" target="1.5"
+        debug="on" debuglevel="${build.debuglevel}"
         deprecation="true" fork="true" memoryInitialSize="${MEM}"
         memoryMaximumSize="${MEM}">
       <compilerarg value="-Xlint:all" />
@@ -1298,8 +1298,8 @@
     <mkdir dir="${dsml.classes.dir}" />
 
     <javac srcdir="${dsml.gen.dir}" destdir="${dsml.classes.dir}"
-         debug="on" debuglevel="${build.debuglevel}" source="1.5"
-         target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
+         debug="on" debuglevel="${build.debuglevel}"
+         deprecation="true" fork="true" memoryInitialSize="${MEM}"
          memoryMaximumSize="${MEM}">
       <compilerarg value="-Xlint:all" />
       <compilerarg value="-Xlint:-path" />
@@ -1312,8 +1312,8 @@
     </javac>
 
     <javac srcdir="${dsml.src.dir}" destdir="${dsml.classes.dir}"
-         debug="on" debuglevel="${build.debuglevel}" source="1.5"
-         target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
+         debug="on" debuglevel="${build.debuglevel}"
+         deprecation="true" fork="true" memoryInitialSize="${MEM}"
          memoryMaximumSize="${MEM}">
       <compilerarg value="-Xlint:all" />
       <compilerarg value="-Xlint:-path" />
@@ -1377,7 +1377,7 @@
        description="Generate JavaDoc documentation.">
     <mkdir dir="${javadoc.dir}" />
 
-    <javadoc destdir="${javadoc.dir}" source="1.5" additionalparam="-quiet"
+    <javadoc destdir="${javadoc.dir}" additionalparam="-quiet"
          linksource="yes" windowtitle="${PRODUCT_NAME} API Documentation"
          maxmemory="${MEM}">
       <classpath>
@@ -1569,7 +1569,7 @@
 
     <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}" excludes="${exclude.ndb.src}" debug="on" debuglevel="${build.debuglevel}"
-        source="1.5" target="1.5" deprecation="true" fork="true"
+        deprecation="true" fork="true"
         memoryInitialSize="${MEM}" memoryMaximumSize="${MEM}">
       <compilerarg value="-Xlint:all" />
 
@@ -1611,8 +1611,8 @@
     <!-- Compile the 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}"
+           debug="on" debuglevel="${build.debuglevel}"
+           deprecation="true" fork="true" memoryInitialSize="${MEM}"
            memoryMaximumSize="${MEM}" excludes="org/opends/server/snmp/**">
       <compilerarg value="-Xlint:all" />
 
@@ -2216,14 +2216,14 @@
                      org/opends/messages/MessageDescriptor.java,
                      org/opends/server/types/PublicAPI.java,
                      org/opends/server/types/StabilityLevel.java"
-           debug="on" debuglevel="${build.debuglevel}" source="1.5"
-           target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
+           debug="on" debuglevel="${build.debuglevel}"
+           deprecation="true" fork="true" memoryInitialSize="${MEM}"
            memoryMaximumSize="${MEM}"/>
 
 
     <javac srcdir="${buildtools.src.dir}" destdir="${buildtools.classes.dir}"
-           debug="on" debuglevel="${build.debuglevel}" source="1.5"
-           target="1.5" deprecation="true" fork="true" memoryInitialSize="${MEM}"
+           debug="on" debuglevel="${build.debuglevel}"
+           deprecation="true" fork="true" memoryInitialSize="${MEM}"
            memoryMaximumSize="${MEM}">
       <compilerarg value="-Xlint:all" />
 
@@ -2509,7 +2509,7 @@
 
      <javac srcdir="${snmp.src.dir}"
          destdir="${classes.dir}" debug="on" debuglevel="${build.debuglevel}"
-         source="1.5" target="1.5" deprecation="true" fork="true"
+         deprecation="true" fork="true"
          memoryInitialSize="${MEM}" memoryMaximumSize="${MEM}">
       <compilerarg value="-Xlint:all" />
 
@@ -2569,8 +2569,8 @@
     <!-- 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}"
+           debug="on" debuglevel="${build.debuglevel}"
+           deprecation="true" fork="true" memoryInitialSize="${MEM}"
            memoryMaximumSize="${MEM}" includes="org/opends/server/snmp/**">
       <compilerarg value="-Xlint:all" />
 
diff --git a/opends/src/build-tools/org/opends/build/tools/GenerateMessageFile.java b/opends/src/build-tools/org/opends/build/tools/GenerateMessageFile.java
index 58c6c01..48b2def 100644
--- a/opends/src/build-tools/org/opends/build/tools/GenerateMessageFile.java
+++ b/opends/src/build-tools/org/opends/build/tools/GenerateMessageFile.java
@@ -484,50 +484,25 @@
   public void setDestJava(File dest) {
     this.dest = dest;
 
-    /*
-     * Set the descriptors.reg pathname to the same directory as the one used
-     * to generate files and ensure all messages are generated in one place.
-     */
-    String projectBase = null;
     try {
-      projectBase = getProjectBase().getCanonicalPath();
-    } catch( java.io.IOException e) {
-      throw new BuildException("Error processing " + dest +
-            ": unable to retrieve project's directory of ant's project (" +
-            e + ")");
-    }
+      File descriptorsRegFile =
+        new File(dest.getParentFile(), DESCRIPTORS_REG);
 
-    String registry = dest.getAbsolutePath();
-
-    // strip project directory prefix and replace properties filename with
-    // $DESCRIPTORS_REG
-    registry = registry.substring(projectBase.length()+1,
-                                 registry.lastIndexOf(File.separator)+1)
-                       .concat(DESCRIPTORS_REG);
-
-    if ( REGISTRY_FILE_NAME == null ) {
-      REGISTRY_FILE_NAME = registry;
-    } else {
-      if ( ! REGISTRY_FILE_NAME.equals(registry) ) {
-        // multiple messages are generated in several packages
-        StringBuilder sb = new StringBuilder();
-        // full pathname of $REGISTRY_FILE_NAME
-        sb.append(projectBase)
-          .append(File.separator)
-          .append(REGISTRY_FILE_NAME);
-        // change from generated directory to properties files directory
-        sb.replace(0,
-                   getProject().getProperty("msg.javagen.dir").length(),
-                   getProject().getProperty("msg.dir"));
-        // replace properties filename with source filename
-        sb.replace(sb.lastIndexOf(File.separator)+1,
-                   sb.length(),
-                   source.getName());
-        throw new BuildException("Error processing " + dest +
-              ": all messages must be located in the same package thus " +
-              "name of the source file should be " + sb);
-
+      if (REGISTRY_FILE_NAME != null) {
+        // if REGISTRY_FILE_NAME is already set, ensure that we computed the
+        // same one
+        File prevDescriptorsRegFile = new File(REGISTRY_FILE_NAME);
+        if (!prevDescriptorsRegFile.equals(descriptorsRegFile)) {
+          throw new BuildException("Error processing " + dest
+            + ": all messages must be located in the same package thus "
+            + "name of the source file should be "
+            + new File(prevDescriptorsRegFile.getParent(), dest.getName()));
+        }
+      } else {
+        REGISTRY_FILE_NAME = descriptorsRegFile.getCanonicalPath();
       }
+    } catch (Exception e) {
+      throw (new BuildException(e));
     }
   }
 
@@ -921,7 +896,7 @@
   }
 
   private File getRegistryFile() throws IOException {
-    File registry = new File(getProjectBase(), REGISTRY_FILE_NAME);
+    File registry = new File(REGISTRY_FILE_NAME);
     if (!registry.exists()) {
       File parent = registry.getParentFile();
       if (!parent.exists()) {

--
Gitblit v1.10.0