You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by jk...@apache.org on 2006/03/25 21:20:52 UTC
svn commit: r388814 - in /ant/core/trunk/src/main/org/apache/tools/ant: ./
taskdefs/ taskdefs/optional/ccm/ taskdefs/optional/clearcase/
taskdefs/optional/ejb/ taskdefs/optional/sos/ taskdefs/optional/vss/ util/
Author: jkf
Date: Sat Mar 25 12:20:49 2006
New Revision: 388814
URL: http://svn.apache.org/viewcvs?rev=388814&view=rev
Log:
Refactored translatePath from Project to FileUtils.
Project now also fails with explicit message on java 1.1.
Added javadoc comment for the ant.java.version property
Modified:
ant/core/trunk/src/main/org/apache/tools/ant/Project.java
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Javac.java
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/ccm/Continuus.java
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/clearcase/ClearCase.java
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DDCreator.java
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/ejb/Ejbc.java
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/sos/SOS.java
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/vss/MSVSS.java
ant/core/trunk/src/main/org/apache/tools/ant/util/FileUtils.java
Modified: ant/core/trunk/src/main/org/apache/tools/ant/Project.java
URL: http://svn.apache.org/viewcvs/ant/core/trunk/src/main/org/apache/tools/ant/Project.java?rev=388814&r1=388813&r2=388814&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/Project.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/Project.java Sat Mar 25 12:20:49 2006
@@ -187,6 +187,10 @@
* Flag which catches Listeners which try to use System.out or System.err .
*/
private boolean loggingMessage = false;
+
+ /**
+ * Property used to store the java version ant is running in.
+ */
public static final String ANT_JAVA_VERSION = "ant.java.version";
/**
@@ -284,6 +288,7 @@
setSystemProperties();
}
+
/**
* Factory method to create a class loader for loading classes from
* a given path.
@@ -805,8 +810,9 @@
setPropertyInternal(ANT_JAVA_VERSION, javaVersion);
// sanity check
- if (JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_0)) {
- throw new BuildException("Ant cannot work on Java 1.0");
+ if (JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_0)
+ || JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_1)) {
+ throw new BuildException("Ant cannot work on Java 1.0 / 1.1");
}
log("Detected Java version: " + javaVersion + " in: "
+ System.getProperty("java.home"), MSG_VERBOSE);
@@ -1332,25 +1338,13 @@
*
* @return the native version of the specified path or
* an empty string if the path is <code>null</code> or empty.
+ *
+ * @deprecated use FileUtils.translatePath instead.
*
* @see PathTokenizer
*/
public static String translatePath(String toProcess) {
- if (toProcess == null || toProcess.length() == 0) {
- return "";
- }
- StringBuffer path = new StringBuffer(toProcess.length() + 50);
- PathTokenizer tokenizer = new PathTokenizer(toProcess);
- while (tokenizer.hasMoreTokens()) {
- String pathComponent = tokenizer.nextToken();
- pathComponent = pathComponent.replace('/', File.separatorChar);
- pathComponent = pathComponent.replace('\\', File.separatorChar);
- if (path.length() != 0) {
- path.append(File.pathSeparatorChar);
- }
- path.append(pathComponent);
- }
- return path.toString();
+ return FileUtils.translatePath(toProcess);
}
/**
Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Javac.java
URL: http://svn.apache.org/viewcvs/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Javac.java?rev=388814&r1=388813&r2=388814&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Javac.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Javac.java Sat Mar 25 12:20:49 2006
@@ -117,9 +117,7 @@
}
private String assumedJavaVersion() {
- if (JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_1)) {
- return JAVAC11;
- } else if (JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_2)) {
+ if (JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_2)) {
return JAVAC12;
} else if (JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_3)) {
return JAVAC13;
Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/ccm/Continuus.java
URL: http://svn.apache.org/viewcvs/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/ccm/Continuus.java?rev=388814&r1=388813&r2=388814&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/ccm/Continuus.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/ccm/Continuus.java Sat Mar 25 12:20:49 2006
@@ -24,6 +24,7 @@
import org.apache.tools.ant.taskdefs.ExecuteStreamHandler;
import org.apache.tools.ant.taskdefs.LogStreamHandler;
import org.apache.tools.ant.types.Commandline;
+import org.apache.tools.ant.util.FileUtils;
/**
@@ -65,7 +66,7 @@
* @param dir the directory containing the ccm executable
*/
public final void setCcmDir(String dir) {
- ccmDir = Project.translatePath(dir);
+ ccmDir = FileUtils.translatePath(dir);
}
/**
Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/clearcase/ClearCase.java
URL: http://svn.apache.org/viewcvs/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/clearcase/ClearCase.java?rev=388814&r1=388813&r2=388814&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/clearcase/ClearCase.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/clearcase/ClearCase.java Sat Mar 25 12:20:49 2006
@@ -25,6 +25,7 @@
import org.apache.tools.ant.taskdefs.Execute;
import org.apache.tools.ant.taskdefs.LogStreamHandler;
import org.apache.tools.ant.types.Commandline;
+import org.apache.tools.ant.util.FileUtils;
@@ -54,7 +55,7 @@
* @param dir the directory containing the cleartool executable
*/
public final void setClearToolDir(String dir) {
- mClearToolDir = Project.translatePath(dir);
+ mClearToolDir = FileUtils.translatePath(dir);
}
/**
Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DDCreator.java
URL: http://svn.apache.org/viewcvs/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DDCreator.java?rev=388814&r1=388813&r2=388814&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DDCreator.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DDCreator.java Sat Mar 25 12:20:49 2006
@@ -24,6 +24,7 @@
import org.apache.tools.ant.taskdefs.MatchingTask;
import org.apache.tools.ant.types.Commandline;
import org.apache.tools.ant.types.Path;
+import org.apache.tools.ant.util.FileUtils;
/**
* Builds a serialized deployment descriptor given a text file description of the
@@ -87,7 +88,7 @@
}
String systemClassPath = System.getProperty("java.class.path");
- String execClassPath = Project.translatePath(systemClassPath + ":" + classpath);
+ String execClassPath = FileUtils.translatePath(systemClassPath + ":" + classpath);
Java ddCreatorTask = new Java(this);
ddCreatorTask.setFork(true);
ddCreatorTask.setClassname("org.apache.tools.ant.taskdefs.optional.ejb.DDCreatorHelper");
@@ -126,6 +127,6 @@
* @param s the classpath to use for the ddcreator tool.
*/
public void setClasspath(String s) {
- this.classpath = getProject().translatePath(s);
+ this.classpath = FileUtils.translatePath(s);
}
}
Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/ejb/Ejbc.java
URL: http://svn.apache.org/viewcvs/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/ejb/Ejbc.java?rev=388814&r1=388813&r2=388814&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/ejb/Ejbc.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/ejb/Ejbc.java Sat Mar 25 12:20:49 2006
@@ -24,6 +24,7 @@
import org.apache.tools.ant.taskdefs.MatchingTask;
import org.apache.tools.ant.types.Commandline;
import org.apache.tools.ant.types.Path;
+import org.apache.tools.ant.util.FileUtils;
/**
* Builds EJB support classes using WebLogic's ejbc tool from a directory containing
@@ -94,7 +95,7 @@
String systemClassPath = System.getProperty("java.class.path");
String execClassPath
- = Project.translatePath(systemClassPath + ":" + classpath
+ = FileUtils.translatePath(systemClassPath + ":" + classpath
+ ":" + generatedFilesDirectory);
// get all the files in the descriptor directory
DirectoryScanner ds = super.getDirectoryScanner(descriptorDirectory);
@@ -172,7 +173,7 @@
* Set the classpath to be used for this compilation.
*/
public void setClasspath(String s) {
- this.classpath = getProject().translatePath(s);
+ this.classpath = FileUtils.translatePath(s);
}
/**
Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/sos/SOS.java
URL: http://svn.apache.org/viewcvs/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/sos/SOS.java?rev=388814&r1=388813&r2=388814&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/sos/SOS.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/sos/SOS.java Sat Mar 25 12:20:49 2006
@@ -24,6 +24,7 @@
import org.apache.tools.ant.taskdefs.LogStreamHandler;
import org.apache.tools.ant.types.Commandline;
import org.apache.tools.ant.types.Path;
+import org.apache.tools.ant.util.FileUtils;
/**
* A base class for creating tasks for executing commands on SourceOffSite.
@@ -82,7 +83,7 @@
* @param dir The new sosCmd value.
*/
public final void setSosCmd(String dir) {
- sosCmdDir = Project.translatePath(dir);
+ sosCmdDir = FileUtils.translatePath(dir);
}
/**
Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/vss/MSVSS.java
URL: http://svn.apache.org/viewcvs/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/vss/MSVSS.java?rev=388814&r1=388813&r2=388814&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/vss/MSVSS.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/vss/MSVSS.java Sat Mar 25 12:20:49 2006
@@ -32,6 +32,7 @@
import org.apache.tools.ant.taskdefs.Execute;
import org.apache.tools.ant.taskdefs.LogStreamHandler;
import org.apache.tools.ant.types.Commandline;
+import org.apache.tools.ant.util.FileUtils;
/**
* A base class for creating tasks for executing commands on Visual SourceSafe.
@@ -112,7 +113,7 @@
* @param dir The directory containing ss.exe.
*/
public final void setSsdir(String dir) {
- this.ssDir = Project.translatePath(dir);
+ this.ssDir = FileUtils.translatePath(dir);
}
/**
Modified: ant/core/trunk/src/main/org/apache/tools/ant/util/FileUtils.java
URL: http://svn.apache.org/viewcvs/ant/core/trunk/src/main/org/apache/tools/ant/util/FileUtils.java?rev=388814&r1=388813&r2=388814&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/util/FileUtils.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/util/FileUtils.java Sat Mar 25 12:20:49 2006
@@ -32,6 +32,7 @@
import java.util.StringTokenizer;
import java.util.Vector;
import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.PathTokenizer;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.taskdefs.condition.Os;
import org.apache.tools.ant.types.FilterSetCollection;
@@ -601,6 +602,40 @@
|| (onNetWare && colon > 0);
}
+ /**
+ * Translate a path into its native (platform specific) format.
+ * <p>
+ * This method uses PathTokenizer to separate the input path
+ * into its components. This handles DOS style paths in a relatively
+ * sensible way. The file separators are then converted to their platform
+ * specific versions.
+ *
+ * @param toProcess The path to be translated.
+ * May be <code>null</code>.
+ *
+ * @return the native version of the specified path or
+ * an empty string if the path is <code>null</code> or empty.
+ *
+ * @since ant 1.7
+ * @see PathTokenizer
+ */
+ public static String translatePath(String toProcess) {
+ if (toProcess == null || toProcess.length() == 0) {
+ return "";
+ }
+ StringBuffer path = new StringBuffer(toProcess.length() + 50);
+ PathTokenizer tokenizer = new PathTokenizer(toProcess);
+ while (tokenizer.hasMoreTokens()) {
+ String pathComponent = tokenizer.nextToken();
+ pathComponent = pathComponent.replace('/', File.separatorChar);
+ pathComponent = pathComponent.replace('\\', File.separatorChar);
+ if (path.length() != 0) {
+ path.append(File.pathSeparatorChar);
+ }
+ path.append(pathComponent);
+ }
+ return path.toString();
+ }
/**
* "Normalize" the given absolute path.
*
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org