From 359855b65f028b1f5939264810934e7d09f65648 Mon Sep 17 00:00:00 2001 From: Costin Manolache Date: Sun, 29 Dec 2002 05:53:38 +0000 Subject: [PATCH] Few fixes, AntClassLoader uses parentFirst, Classloader was using reverse. Make them consistent PR: Obtained from: Submitted by: Reviewed by: git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273719 13f79535-47bb-0310-9956-ffa450edef68 --- .../tools/ant/taskdefs/Classloader.java | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/src/main/org/apache/tools/ant/taskdefs/Classloader.java b/src/main/org/apache/tools/ant/taskdefs/Classloader.java index afc98ff69..1e191f818 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Classloader.java +++ b/src/main/org/apache/tools/ant/taskdefs/Classloader.java @@ -114,7 +114,7 @@ public class Classloader extends Task { private String name=null; private Path classpath; private boolean reset=false; - private boolean reverse=false; + private boolean parentFirst=true; private String parentName=null; public Classloader() { @@ -139,9 +139,12 @@ public class Classloader extends Task { this.reset=b; } - // TODO public void setReverse(boolean b ) { - this.reverse=b; + this.parentFirst= ! b; + } + + public void setParentFirst(boolean b ) { + this.parentFirst= b; } // TODO: add exceptions for delegation or reverse @@ -211,7 +214,7 @@ public class Classloader extends Task { AntClassLoader acl=(AntClassLoader)obj; if( acl==null ) { - // Construct a class loader + // Construct a new class loader Object parent=null; if( parentName != null ) { parent=project.getReference(parentName); @@ -219,13 +222,24 @@ public class Classloader extends Task { parent=null; } } + // TODO: allow user to request the system or no parent if( parent==null ) { parent=this.getClass().getClassLoader(); } + if( name==null ) { + // The core loader must be reverse + //reverse=true; + } + project.log("Setting parent loader " + name + " " + + parent + " " + parentFirst, Project.MSG_DEBUG); + + // The param is "parentFirst" acl=new AntClassLoader( (ClassLoader)parent, - project, classpath, reverse ); + project, classpath, parentFirst ); + project.addReference( loaderName, acl ); + if( name==null ) { // This allows the core loader to load optional tasks // without delegating