Browse Source

More syncing of the antlib proposal with the main code line.

Submitted by:	Antoine Levy-Lambert <levylambert at tiscali dash dsl dot de>


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@274435 13f79535-47bb-0310-9956-ffa450edef68
master
Stefan Bodewig 22 years ago
parent
commit
1603a87697
2 changed files with 57 additions and 0 deletions
  1. +49
    -0
      proposal/sandbox/antlib/src/main/org/apache/tools/ant/Project.java
  2. +8
    -0
      proposal/sandbox/antlib/src/main/org/apache/tools/ant/antlib.xml

+ 49
- 0
proposal/sandbox/antlib/src/main/org/apache/tools/ant/Project.java View File

@@ -70,6 +70,7 @@ import org.apache.tools.ant.types.FilterSet;
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;
@@ -132,6 +133,13 @@ public class Project {

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
*/
@@ -463,6 +471,47 @@ public class Project {
}


/**
* 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
*


+ 8
- 0
proposal/sandbox/antlib/src/main/org/apache/tools/ant/antlib.xml View File

@@ -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) -->



Loading…
Cancel
Save