Browse Source

Removed possible NullPointerException in <vssget>. Cleaned up JDK

version detection in Project.
Submitted by:	Jeff Martin <jeff.martin@synamic.co.uk>


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@267887 13f79535-47bb-0310-9956-ffa450edef68
master
Stefan Bodewig 25 years ago
parent
commit
5a75c73535
3 changed files with 27 additions and 24 deletions
  1. +25
    -22
      src/main/org/apache/tools/ant/Project.java
  2. +1
    -1
      src/main/org/apache/tools/ant/taskdefs/Ant.java
  3. +1
    -1
      src/main/org/apache/tools/ant/taskdefs/optional/vss/MSVSS.java

+ 25
- 22
src/main/org/apache/tools/ant/Project.java View File

@@ -105,6 +105,28 @@ public class Project {

private Vector listeners = new Vector();

static {

// Determine the Java version by looking at available classes
// java.lang.StrictMath was introduced in JDK 1.3
// java.lang.ThreadLocal was introduced in JDK 1.2
// java.lang.Void was introduced in JDK 1.1
// Count up version until a NoClassDefFoundError ends the try

try {
javaVersion = JAVA_1_0;
Class.forName("java.lang.Void");
javaVersion = JAVA_1_1;
Class.forName("java.lang.ThreadLocal");
javaVersion = JAVA_1_2;
Class.forName("java.lang.StrictMath");
javaVersion = JAVA_1_3;
} catch (ClassNotFoundException cnfe) {
// swallow as we've hit the max class version that
// we have
}
}

public Project() {
}

@@ -115,8 +137,8 @@ public class Project {
* system properties.
*/
public void init() throws BuildException {
detectJavaVersion();
setJavaVersionProperty();
String defs = "/org/apache/tools/ant/taskdefs/defaults.properties";

try {
@@ -281,26 +303,7 @@ public class Project {
return javaVersion;
}

public void detectJavaVersion() {

// Determine the Java version by looking at available classes
// java.lang.StrictMath was introduced in JDK 1.3
// java.lang.ThreadLocal was introduced in JDK 1.2
// java.lang.Void was introduced in JDK 1.1
// Count up version until a NoClassDefFoundError ends the try

try {
javaVersion = JAVA_1_0;
Class.forName("java.lang.Void");
javaVersion = JAVA_1_1;
Class.forName("java.lang.ThreadLocal");
javaVersion = JAVA_1_2;
Class.forName("java.lang.StrictMath");
javaVersion = JAVA_1_3;
} catch (ClassNotFoundException cnfe) {
// swallow as we've hit the max class version that
// we have
}
public void setJavaVersionProperty() {
setProperty("ant.java.version", javaVersion);

// sanity check


+ 1
- 1
src/main/org/apache/tools/ant/taskdefs/Ant.java View File

@@ -89,7 +89,7 @@ public class Ant extends Task {

public void init() {
p1 = new Project();
p1.detectJavaVersion();
p1.setJavaVersionProperty();
p1.addTaskDefinition("property",
(Class)project.getTaskDefinitions().get("property"));
}


+ 1
- 1
src/main/org/apache/tools/ant/taskdefs/optional/vss/MSVSS.java View File

@@ -146,7 +146,7 @@ public abstract class MSVSS extends Task {
* @return m_vssPath
*/
public String getVsspath() {
return new String(m_vssPath);
return m_vssPath;
}




Loading…
Cancel
Save