This patch corrects further the version of Project.java of the antlib proposal and adds needed types to the antlib.xml file, the equivalent of "defaults.properties" in the proposal.
 
Antoine
Index: proposal/sandbox/antlib/src/main/org/apache/tools/ant/Project.java
===================================================================
RCS file: 
/home/cvspublic/ant/proposal/sandbox/antlib/src/main/org/apache/tools/ant/Project.java,v
retrieving revision 1.5
diff -u -r1.5 Project.java
--- proposal/sandbox/antlib/src/main/org/apache/tools/ant/Project.java  1 Apr 
2003 11:35:06 -0000       1.5
+++ proposal/sandbox/antlib/src/main/org/apache/tools/ant/Project.java  2 Apr 
2003 20:14:01 -0000
@@ -70,6 +70,7 @@
 import org.apache.tools.ant.types.FilterSetCollection;
 import org.apache.tools.ant.util.FileUtils;
 import org.apache.tools.ant.util.LazyHashtable;
+import org.apache.tools.ant.util.JavaEnvUtils;
 import org.apache.tools.ant.types.Path;
 import org.apache.tools.ant.taskdefs.Antlib;
 import org.apache.tools.ant.input.InputHandler;
@@ -133,6 +134,13 @@
     private static String javaVersion;
 
     /**
+     * The class name of the Ant class loader to use for
+     * JDK 1.2 and above
+     */
+    private static final String ANTCLASSLOADER_JDK12
+        = "org.apache.tools.ant.loader.AntClassLoader2";
+
+    /**
      *  Description of the Field
      */
     public final static String JAVA_1_0 = "1.0";
@@ -462,6 +470,47 @@
         }
     }
 
+
+    /**
+     * Factory method to create a class loader for loading classes
+     *
+     * @return an appropriate classloader
+     */
+    private AntClassLoader createClassLoader() {
+        AntClassLoader loader = null;
+        if (!JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_1)) {
+            try {
+                // 1.2+ - create advanced helper dynamically
+                Class loaderClass
+                    = Class.forName(ANTCLASSLOADER_JDK12);
+                loader = (AntClassLoader) loaderClass.newInstance();
+            } catch (Exception e) {
+                    log("Unable to create Class Loader: "
+                        + e.getMessage(), Project.MSG_DEBUG);
+            }
+        }
+
+        if (loader == null) {
+            loader = new AntClassLoader();
+        }
+
+        loader.setProject(this);
+        return loader;
+    }
+
+    /**
+     * Factory method to create a class loader for loading classes from
+     * a given path
+     *
+     * @param path the path from whcih clases are to be loaded.
+     *
+     * @return an appropriate classloader
+     */
+    public AntClassLoader createClassLoader(Path path) {
+        AntClassLoader loader = createClassLoader();
+        loader.setClassPath(path);
+        return loader;
+    }
 
     /**
      *  Sets the coreLoader attribute of the Project object
Index: proposal/sandbox/antlib/src/main/org/apache/tools/ant/antlib.xml
===================================================================
RCS file: 
/home/cvspublic/ant/proposal/sandbox/antlib/src/main/org/apache/tools/ant/antlib.xml,v
retrieving revision 1.1
diff -u -r1.1 antlib.xml
--- proposal/sandbox/antlib/src/main/org/apache/tools/ant/antlib.xml    2 Mar 
2002 22:21:19 -0000       1.1
+++ proposal/sandbox/antlib/src/main/org/apache/tools/ant/antlib.xml    2 Apr 
2003 20:14:04 -0000
@@ -122,9 +122,17 @@
   <data-type name="patternset" class="org.apache.tools.ant.types.PatternSet"/>
   <data-type name="mapper" class="org.apache.tools.ant.types.Mapper"/>
   <data-type name="filterset" class="org.apache.tools.ant.types.FilterSet"/>
+  <data-type name="filterchain" class="org.apache.tools.ant.types.FilterChain" 
/>
+  <data-type name="filterreader" 
class="org.apache.tools.ant.types.AntFilterReader" />
   <data-type name="description" 
class="org.apache.tools.ant.types.Description"/>
   <data-type name="substitution" 
class="org.apache.tools.ant.types.Substitution"/>
   <data-type name="regexp" 
class="org.apache.tools.ant.types.RegularExpression"/>
+  <data-type name="selector" 
class="org.apache.tools.ant.types.selectors.SelectSelector"/>
+  <data-type name="zipfileset" class="org.apache.tools.ant.types.ZipFileSet"/>
+  <data-type name="xmlcatalog" class="org.apache.tools.ant.types.XMLCatalog" />
+  <data-type name="extensionSet" 
class="org.apache.tools.ant.taskdefs.optional.extension.ExtensionSet" />
+  <data-type name="extension" 
class="org.apache.tools.ant.taskdefs.optional.extension.ExtensionAdapter" />
+  <data-type name="libfileset" 
class="org.apache.tools.ant.taskdefs.optional.extension.LibFileSet" />
 
   <!-- deprecated ant tasks (kept for back compatibility) -->
 

Reply via email to