You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by bo...@apache.org on 2016/03/29 11:24:17 UTC
[4/4] ant git commit: try-with-resource for AntClassLoader
try-with-resource for AntClassLoader
Project: http://git-wip-us.apache.org/repos/asf/ant/repo
Commit: http://git-wip-us.apache.org/repos/asf/ant/commit/d1736c7b
Tree: http://git-wip-us.apache.org/repos/asf/ant/tree/d1736c7b
Diff: http://git-wip-us.apache.org/repos/asf/ant/diff/d1736c7b
Branch: refs/heads/master
Commit: d1736c7bb7a72cd4bf9344f5b2b01b70fb87b034
Parents: 9f50f36
Author: Stefan Bodewig <bo...@apache.org>
Authored: Tue Mar 29 11:23:45 2016 +0200
Committer: Stefan Bodewig <bo...@apache.org>
Committed: Tue Mar 29 11:23:45 2016 +0200
----------------------------------------------------------------------
.../org/apache/tools/ant/taskdefs/WhichResource.java | 13 ++++---------
.../apache/tools/ant/taskdefs/optional/ANTLR.java | 9 ++-------
.../tools/ant/taskdefs/optional/depend/Depend.java | 8 +-------
.../taskdefs/optional/ejb/JonasDeploymentTool.java | 9 +--------
.../tools/ant/taskdefs/optional/javacc/JavaCC.java | 15 +++++----------
.../apache/tools/ant/taskdefs/optional/jsp/JspC.java | 11 ++---------
.../ant/taskdefs/optional/jsp/compilers/JasperC.java | 8 +-------
.../tools/ant/taskdefs/optional/junit/JUnitTask.java | 14 ++++----------
8 files changed, 20 insertions(+), 67 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ant/blob/d1736c7b/src/main/org/apache/tools/ant/taskdefs/WhichResource.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/WhichResource.java b/src/main/org/apache/tools/ant/taskdefs/WhichResource.java
index 3f315a8..d19918a 100644
--- a/src/main/org/apache/tools/ant/taskdefs/WhichResource.java
+++ b/src/main/org/apache/tools/ant/taskdefs/WhichResource.java
@@ -135,11 +135,10 @@ public class WhichResource extends Task {
getProject().log("using system classpath: " + classpath,
Project.MSG_DEBUG);
}
- AntClassLoader loader = null;
- try {
- loader = AntClassLoader.newAntClassLoader(getProject().getCoreLoader(),
- getProject(),
- classpath, false);
+ try (AntClassLoader loader =
+ AntClassLoader.newAntClassLoader(getProject().getCoreLoader(),
+ getProject(),
+ classpath, false)) {
String loc = null;
if (classname != null) {
//convert a class name into a resource
@@ -162,10 +161,6 @@ public class WhichResource extends Task {
loc = url.toExternalForm();
getProject().setNewProperty(property, loc);
}
- } finally {
- if (loader != null) {
- loader.cleanup();
- }
}
}
http://git-wip-us.apache.org/repos/asf/ant/blob/d1736c7b/src/main/org/apache/tools/ant/taskdefs/optional/ANTLR.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ANTLR.java b/src/main/org/apache/tools/ant/taskdefs/optional/ANTLR.java
index 605b336..2ed40e5 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/ANTLR.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/ANTLR.java
@@ -422,17 +422,12 @@ public class ANTLR extends Task {
* @since Ant 1.6
*/
protected boolean is272() {
- AntClassLoader l = null;
- try {
- l = getProject().createClassLoader(commandline.getClasspath());
+ try (AntClassLoader l =
+ getProject().createClassLoader(commandline.getClasspath())) {
l.loadClass("antlr.Version");
return true;
} catch (ClassNotFoundException e) {
return false;
- } finally {
- if (l != null) {
- l.cleanup();
- }
}
}
}
http://git-wip-us.apache.org/repos/asf/ant/blob/d1736c7b/src/main/org/apache/tools/ant/taskdefs/optional/depend/Depend.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/depend/Depend.java b/src/main/org/apache/tools/ant/taskdefs/optional/depend/Depend.java
index cc65129..ae62afe 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/depend/Depend.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/depend/Depend.java
@@ -379,9 +379,7 @@ public class Depend extends MatchingTask {
if (checkPath != null) {
// now determine which jars each class depends upon
classpathDependencies = new Hashtable();
- AntClassLoader loader = null;
- try {
- loader = getProject().createClassLoader(checkPath);
+ try (AntClassLoader loader = getProject().createClassLoader(checkPath)) {
Hashtable classpathFileCache = new Hashtable();
Object nullFileMarker = new Object();
@@ -443,10 +441,6 @@ public class Depend extends MatchingTask {
}
}
}
- } finally {
- if (loader != null) {
- loader.cleanup();
- }
}
} else {
log("No classpath to check", Project.MSG_DEBUG);
http://git-wip-us.apache.org/repos/asf/ant/blob/d1736c7b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/JonasDeploymentTool.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/JonasDeploymentTool.java b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/JonasDeploymentTool.java
index 81fe805..00fd180 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/JonasDeploymentTool.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/JonasDeploymentTool.java
@@ -681,10 +681,7 @@ public class JonasDeploymentTool extends GenericDeploymentTool {
log("Looking for GenIC class in classpath: "
+ classpath.toString(), Project.MSG_VERBOSE);
- AntClassLoader cl = null;
-
- try {
- cl = classpath.getProject().createClassLoader(classpath);
+ try (AntClassLoader cl = classpath.getProject().createClassLoader(classpath)) {
try {
cl.loadClass(JonasDeploymentTool.GENIC_CLASS);
@@ -723,10 +720,6 @@ public class JonasDeploymentTool extends GenericDeploymentTool {
+ "' not found in classpath.",
Project.MSG_VERBOSE);
}
- } finally {
- if (cl != null) {
- cl.cleanup();
- }
}
return null;
}
http://git-wip-us.apache.org/repos/asf/ant/blob/d1736c7b/src/main/org/apache/tools/ant/taskdefs/optional/javacc/JavaCC.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/javacc/JavaCC.java b/src/main/org/apache/tools/ant/taskdefs/optional/javacc/JavaCC.java
index 219cc9c..bd7aba5 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/javacc/JavaCC.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/javacc/JavaCC.java
@@ -425,12 +425,11 @@ public class JavaCC extends Task {
String packagePrefix = null;
String mainClass = null;
- AntClassLoader l = null;
- try {
- l = AntClassLoader.newAntClassLoader(null, null,
- path
- .concatSystemClasspath("ignore"),
- true);
+ try (AntClassLoader l =
+ AntClassLoader.newAntClassLoader(null, null,
+ path
+ .concatSystemClasspath("ignore"),
+ true)) {
String javaccClass = COM_PACKAGE + COM_JAVACC_CLASS;
InputStream is = l.getResourceAsStream(javaccClass.replace('.', '/')
+ ".class");
@@ -498,10 +497,6 @@ public class JavaCC extends Task {
throw new BuildException("unknown task type " + type);
}
return packagePrefix + mainClass;
- } finally {
- if (l != null) {
- l.cleanup();
- }
}
}
http://git-wip-us.apache.org/repos/asf/ant/blob/d1736c7b/src/main/org/apache/tools/ant/taskdefs/optional/jsp/JspC.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/jsp/JspC.java b/src/main/org/apache/tools/ant/taskdefs/optional/jsp/JspC.java
index 4274bf0..9832e3e 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/jsp/JspC.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/jsp/JspC.java
@@ -439,13 +439,10 @@ public class JspC extends MatchingTask {
File dest = getActualDestDir();
- AntClassLoader al = null;
- try {
+ try (AntClassLoader al = getProject().createClassLoader(compilerClasspath)) {
//bind to a compiler
JspCompilerAdapter compiler =
- JspCompilerAdapterFactory
- .getCompiler(compilerName, this,
- al = getProject().createClassLoader(compilerClasspath));
+ JspCompilerAdapterFactory.getCompiler(compilerName, this, al);
//if we are a webapp, hand off to the compiler, which had
//better handle it
@@ -514,10 +511,6 @@ public class JspC extends MatchingTask {
log("all files are up to date", Project.MSG_VERBOSE);
}
}
- } finally {
- if (al != null) {
- al.cleanup();
- }
}
}
http://git-wip-us.apache.org/repos/asf/ant/blob/d1736c7b/src/main/org/apache/tools/ant/taskdefs/optional/jsp/compilers/JasperC.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/jsp/compilers/JasperC.java b/src/main/org/apache/tools/ant/taskdefs/optional/jsp/compilers/JasperC.java
index f0becac..80ed601 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/jsp/compilers/JasperC.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/jsp/compilers/JasperC.java
@@ -166,17 +166,11 @@ public class JasperC extends DefaultJspCompilerAdapter {
* @since Ant 1.6.2
*/
private boolean isTomcat5x() {
- AntClassLoader l = null;
- try {
- l = getProject().createClassLoader(getClasspath());
+ try (AntClassLoader l = getProject().createClassLoader(getClasspath())) {
l.loadClass("org.apache.jasper.tagplugins.jstl.If");
return true;
} catch (ClassNotFoundException e) {
return false;
- } finally {
- if (l != null) {
- l.cleanup();
- }
}
}
}
http://git-wip-us.apache.org/repos/asf/ant/blob/d1736c7b/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java b/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java
index 459bd3d..3c0912f 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java
@@ -1360,12 +1360,10 @@ public class JUnitTask extends Task {
if (!cmd.haveClasspath()) {
return;
}
- AntClassLoader loader = null;
- try {
- loader =
- AntClassLoader.newAntClassLoader(null, getProject(),
- cmd.createClasspath(getProject()),
- true);
+ try (AntClassLoader loader =
+ AntClassLoader.newAntClassLoader(null, getProject(),
+ cmd.createClasspath(getProject()),
+ true)) {
final String projectResourceName =
LoaderUtils.classNameToResource(Project.class.getName());
URL previous = null;
@@ -1386,10 +1384,6 @@ public class JUnitTask extends Task {
} catch (final Exception ex) {
// Ignore exception
}
- } finally {
- if (loader != null) {
- loader.cleanup();
- }
}
}