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(); 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() { public Project() {
} }


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


try { try {
@@ -281,26 +303,7 @@ public class Project {
return javaVersion; 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); setProperty("ant.java.version", javaVersion);


// sanity check // 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() { public void init() {
p1 = new Project(); p1 = new Project();
p1.detectJavaVersion();
p1.setJavaVersionProperty();
p1.addTaskDefinition("property", p1.addTaskDefinition("property",
(Class)project.getTaskDefinitions().get("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 * @return m_vssPath
*/ */
public String getVsspath() { public String getVsspath() {
return new String(m_vssPath);
return m_vssPath;
} }






Loading…
Cancel
Save