Browse Source

make scriptdef an antlibbable definition

derive from DefBase and use the uri for the name
this change also provides the classloader attributes
and elements from DefBase to ScriptDef
use the DefBase classloader


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@275101 13f79535-47bb-0310-9956-ffa450edef68
master
Peter Reilly 22 years ago
parent
commit
4cd0b30115
1 changed files with 14 additions and 3 deletions
  1. +14
    -3
      src/main/org/apache/tools/ant/taskdefs/optional/script/ScriptDef.java

+ 14
- 3
src/main/org/apache/tools/ant/taskdefs/optional/script/ScriptDef.java View File

@@ -53,10 +53,13 @@
*/
package org.apache.tools.ant.taskdefs.optional.script;

import org.apache.tools.ant.AntTypeDefinition;
import org.apache.tools.ant.ComponentHelper;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.MagicNames;
import org.apache.tools.ant.Task;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.ProjectHelper;
import org.apache.tools.ant.taskdefs.DefBase;

import java.util.Map;
import java.util.HashMap;
@@ -75,7 +78,7 @@ import org.apache.tools.ant.util.ScriptRunner;
* @author Conor MacNeill
* @since Ant 1.6
*/
public class ScriptDef extends Task {
public class ScriptDef extends DefBase {
/** Used to run the script */
private ScriptRunner runner = new ScriptRunner();

@@ -268,8 +271,13 @@ public class ScriptDef extends Task {
}
}

name = ProjectHelper.genComponentName(getUri(), name);
scriptRepository.put(name, this);
project.addTaskDefinition(name, ScriptDefBase.class);
AntTypeDefinition def = new AntTypeDefinition();
def.setName(name);
def.setClass(ScriptDefBase.class);
ComponentHelper.getComponentHelper(
getProject()).addDataTypeDefinition(def);
}

/**
@@ -294,9 +302,12 @@ public class ScriptDef extends Task {
instance = getProject().createDataType(definition.type);
}
} else {
/*
// try the context classloader
ClassLoader loader
= Thread.currentThread().getContextClassLoader();
*/
ClassLoader loader = createLoader();

Class instanceClass = null;
try {


Loading…
Cancel
Save