|
@@ -74,7 +74,6 @@ import org.apache.tools.ant.util.FileUtils; |
|
|
* |
|
|
* |
|
|
* @ant.task category="control" |
|
|
* @ant.task category="control" |
|
|
*/ |
|
|
*/ |
|
|
|
|
|
|
|
|
public class Available extends Task implements Condition { |
|
|
public class Available extends Task implements Condition { |
|
|
|
|
|
|
|
|
private String property; |
|
|
private String property; |
|
@@ -349,22 +348,29 @@ public class Available extends Task implements Condition { |
|
|
|
|
|
|
|
|
private boolean checkClass(String classname) { |
|
|
private boolean checkClass(String classname) { |
|
|
try { |
|
|
try { |
|
|
|
|
|
Class requiredClass = null; |
|
|
if (loader != null) { |
|
|
if (loader != null) { |
|
|
loader.loadClass(classname); |
|
|
|
|
|
|
|
|
requiredClass = loader.loadClass(classname); |
|
|
} else { |
|
|
} else { |
|
|
ClassLoader l = this.getClass().getClassLoader(); |
|
|
ClassLoader l = this.getClass().getClassLoader(); |
|
|
// Can return null to represent the bootstrap class loader. |
|
|
// Can return null to represent the bootstrap class loader. |
|
|
// see API docs of Class.getClassLoader. |
|
|
// see API docs of Class.getClassLoader. |
|
|
if (l != null) { |
|
|
if (l != null) { |
|
|
l.loadClass(classname); |
|
|
|
|
|
|
|
|
requiredClass = l.loadClass(classname); |
|
|
} else { |
|
|
} else { |
|
|
Class.forName(classname); |
|
|
|
|
|
|
|
|
requiredClass = Class.forName(classname); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
AntClassLoader.initializeClass(requiredClass); |
|
|
return true; |
|
|
return true; |
|
|
} catch (ClassNotFoundException e) { |
|
|
} catch (ClassNotFoundException e) { |
|
|
|
|
|
log("class \"" + classname + "\" was not found", |
|
|
|
|
|
Project.MSG_DEBUG); |
|
|
return false; |
|
|
return false; |
|
|
} catch (NoClassDefFoundError e) { |
|
|
} catch (NoClassDefFoundError e) { |
|
|
|
|
|
log("Could not load dependent class \"" + e.getMessage() |
|
|
|
|
|
+ "\" for class \"" + classname + "\"", |
|
|
|
|
|
Project.MSG_DEBUG); |
|
|
return false; |
|
|
return false; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|