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


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


name = ProjectHelper.genComponentName(getUri(), name);
scriptRepository.put(name, this); 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); instance = getProject().createDataType(definition.type);
} }
} else { } else {
/*
// try the context classloader // try the context classloader
ClassLoader loader ClassLoader loader
= Thread.currentThread().getContextClassLoader(); = Thread.currentThread().getContextClassLoader();
*/
ClassLoader loader = createLoader();


Class instanceClass = null; Class instanceClass = null;
try { try {


Loading…
Cancel
Save