From fd0fb26cc5f834595ffbd397550e1555691c299a Mon Sep 17 00:00:00 2001 From: pyxide Date: Mon, 20 Feb 2017 13:26:27 +0100 Subject: [PATCH] New magic name org.apache.ant.scriptcache --- src/main/org/apache/tools/ant/MagicNames.java | 6 ++++++ .../apache/tools/ant/util/optional/JavaxScriptRunner.java | 6 +++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/org/apache/tools/ant/MagicNames.java b/src/main/org/apache/tools/ant/MagicNames.java index bc39a2578..336c3bc4b 100644 --- a/src/main/org/apache/tools/ant/MagicNames.java +++ b/src/main/org/apache/tools/ant/MagicNames.java @@ -55,6 +55,12 @@ public final class MagicNames { */ public static final String SCRIPT_REPOSITORY = "org.apache.ant.scriptrepo"; + /** + * The name of the script cache used by the script runner. + * Value {@value} + */ + public static final String SCRIPT_CACHE = "org.apache.ant.scriptcache"; + /** * The name of the reference to the System Class Loader. * Value {@value} diff --git a/src/main/org/apache/tools/ant/util/optional/JavaxScriptRunner.java b/src/main/org/apache/tools/ant/util/optional/JavaxScriptRunner.java index 63ab4d93a..997af7ade 100644 --- a/src/main/org/apache/tools/ant/util/optional/JavaxScriptRunner.java +++ b/src/main/org/apache/tools/ant/util/optional/JavaxScriptRunner.java @@ -21,6 +21,7 @@ package org.apache.tools.ant.util.optional; import java.util.Iterator; import org.apache.tools.ant.BuildException; +import org.apache.tools.ant.MagicNames; import org.apache.tools.ant.Project; import org.apache.tools.ant.util.ReflectWrapper; import org.apache.tools.ant.util.ScriptRunnerBase; @@ -84,7 +85,10 @@ public class JavaxScriptRunner extends ScriptRunnerBase { if (getCompiled()) { - final String compiledScriptRefName = execName + ".compiled." + getScript().hashCode() + "." + getProject().hashCode(); + final String compiledScriptRefName = MagicNames.SCRIPT_CACHE + "." + getLanguage() + + "." + getScript().hashCode() + "." + + (null == getClass().getClassLoader() ? 0 : getClass().getClassLoader().hashCode()); + if (null == compiledScript) { compiledScript = getProject().getReference(compiledScriptRefName); }