From 4edeb27347fa04663f2cb6d067fffb753a2760f7 Mon Sep 17 00:00:00 2001 From: Costin Manolache Date: Tue, 24 Dec 2002 18:09:39 +0000 Subject: [PATCH] Use classpath instead of path. Allow more convenient specification of the classpath. PR: Obtained from: Submitted by: Reviewed by: git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273694 13f79535-47bb-0310-9956-ffa450edef68 --- src/etc/testcases/taskdefs/classloader.xml | 2 +- .../tools/ant/taskdefs/Classloader.java | 32 +++++++++++++++---- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/src/etc/testcases/taskdefs/classloader.xml b/src/etc/testcases/taskdefs/classloader.xml index e17dbd1e2..a944b42fd 100644 --- a/src/etc/testcases/taskdefs/classloader.xml +++ b/src/etc/testcases/taskdefs/classloader.xml @@ -8,7 +8,7 @@ - diff --git a/src/main/org/apache/tools/ant/taskdefs/Classloader.java b/src/main/org/apache/tools/ant/taskdefs/Classloader.java index 940461a90..afc98ff69 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Classloader.java +++ b/src/main/org/apache/tools/ant/taskdefs/Classloader.java @@ -112,7 +112,7 @@ public class Classloader extends Task { public static final String SYSTEM_LOADER_REF="ant.coreLoader"; private String name=null; - private Path path; + private Path classpath; private boolean reset=false; private boolean reverse=false; private String parentName=null; @@ -156,8 +156,28 @@ public class Classloader extends Task { * and is an AntClassLoader ( or any other loader we can extend ), * the path will be added to the loader. */ - public void setPathRef( Reference pathRef ) throws BuildException { - path=(Path)pathRef.getReferencedObject(project); + public void setClasspathRef( Reference pathRef ) throws BuildException { + classpath=(Path)pathRef.getReferencedObject(project); + } + + /** + * Set the classpath to be used when searching for component being defined + * + * @param classpath an Ant Path object containing the classpath. + */ + public void setClasspath(Path classpath) { + if (this.classpath == null) { + this.classpath = classpath; + } else { + this.classpath.append(classpath); + } + } + + public Path createClasspath() { + if (this.classpath == null) { + this.classpath = new Path(null); + } + return this.classpath.createPath(); } @@ -204,7 +224,7 @@ public class Classloader extends Task { } acl=new AntClassLoader( (ClassLoader)parent, - project, path, reverse ); + project, classpath, reverse ); project.addReference( loaderName, acl ); if( name==null ) { // This allows the core loader to load optional tasks @@ -213,8 +233,8 @@ public class Classloader extends Task { project.setCoreLoader(acl); } } - if( path != null ) { - String list[]=path.list(); + if( classpath != null ) { + String list[]=classpath.list(); for( int i=0; i