Browse Source

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
master
Costin Manolache 22 years ago
parent
commit
359855b65f
1 changed files with 19 additions and 5 deletions
  1. +19
    -5
      src/main/org/apache/tools/ant/taskdefs/Classloader.java

+ 19
- 5
src/main/org/apache/tools/ant/taskdefs/Classloader.java View File

@@ -114,7 +114,7 @@ public class Classloader extends Task {
private String name=null; private String name=null;
private Path classpath; private Path classpath;
private boolean reset=false; private boolean reset=false;
private boolean reverse=false;
private boolean parentFirst=true;
private String parentName=null; private String parentName=null;


public Classloader() { public Classloader() {
@@ -139,9 +139,12 @@ public class Classloader extends Task {
this.reset=b; this.reset=b;
} }


// TODO
public void setReverse(boolean b ) { 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 // TODO: add exceptions for delegation or reverse
@@ -211,7 +214,7 @@ public class Classloader extends Task {
AntClassLoader acl=(AntClassLoader)obj; AntClassLoader acl=(AntClassLoader)obj;


if( acl==null ) { if( acl==null ) {
// Construct a class loader
// Construct a new class loader
Object parent=null; Object parent=null;
if( parentName != null ) { if( parentName != null ) {
parent=project.getReference(parentName); parent=project.getReference(parentName);
@@ -219,13 +222,24 @@ public class Classloader extends Task {
parent=null; parent=null;
} }
} }
// TODO: allow user to request the system or no parent
if( parent==null ) { if( parent==null ) {
parent=this.getClass().getClassLoader(); 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, acl=new AntClassLoader( (ClassLoader)parent,
project, classpath, reverse );
project, classpath, parentFirst );

project.addReference( loaderName, acl ); project.addReference( loaderName, acl );

if( name==null ) { if( name==null ) {
// This allows the core loader to load optional tasks // This allows the core loader to load optional tasks
// without delegating // without delegating


Loading…
Cancel
Save