Files from Strings git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@269286 13f79535-47bb-0310-9956-ffa450edef68master
@@ -152,14 +152,18 @@ public class AntClassLoader extends ClassLoader { | |||
URL url = null; | |||
while ((this.pathElementsIndex < this.pathElements.length) && | |||
(url == null)) { | |||
File pathComponent = AntClassLoader.this.project.resolveFile( | |||
(String)this.pathElements[this.pathElementsIndex]); | |||
url = getResourceURL(pathComponent, this.resourceName); | |||
this.pathElementsIndex++; | |||
try { | |||
File pathComponent = AntClassLoader.this.project.resolveFile( | |||
(String)this.pathElements[this.pathElementsIndex]); | |||
url = getResourceURL(pathComponent, this.resourceName); | |||
this.pathElementsIndex++; | |||
} | |||
catch (BuildException e) { | |||
// ignore path elements which are not valid relative to the project | |||
} | |||
} | |||
this.nextResource = url; | |||
} | |||
} | |||
/** | |||
@@ -386,8 +390,13 @@ public class AntClassLoader extends ClassLoader { | |||
String[] pathElements = classpath.list(); | |||
for (int i = 0; i < pathElements.length && stream == null; ++i) { | |||
File pathComponent = project.resolveFile((String)pathElements[i]); | |||
stream = getResourceStream(pathComponent, name); | |||
try { | |||
File pathComponent = project.resolveFile((String)pathElements[i]); | |||
stream = getResourceStream(pathComponent, name); | |||
} | |||
catch {BuildException e) { | |||
// ignore path elements which are invalid relative to the project | |||
} | |||
} | |||
return stream; | |||
@@ -598,7 +598,7 @@ public class Project { | |||
if (part.equals("..")) { | |||
String parentFile = file.getParent(); | |||
if (parentFile == null) { | |||
throw new BuildException("The file or path you specified (" + fileName + ") is invalid releative to " + rootDir.getAbsolutePath()); | |||
throw new BuildException("The file or path you specified (" + fileName + ") is invalid relative to " + rootDir.getAbsolutePath()); | |||
} | |||
file = new File(parentFile); | |||
} else if (part.equals(".")) { | |||
@@ -72,12 +72,12 @@ public class GZip extends Task { | |||
private File zipFile; | |||
private File source; | |||
public void setZipfile(String zipFilename) { | |||
zipFile = project.resolveFile(zipFilename); | |||
public void setZipfile(File zipFilename) { | |||
zipFile = zipFilename; | |||
} | |||
public void setSrc(String src) { | |||
source = project.resolveFile(src); | |||
public void setSrc(File src) { | |||
source = src; | |||
} | |||
public void execute() throws BuildException { | |||
@@ -115,15 +115,15 @@ public class KeySubst extends Task { | |||
/** | |||
Set the source file. | |||
*/ | |||
public void setSrc(String s) { | |||
this.source=project.resolveFile(s); | |||
public void setSrc(File s) { | |||
this.source = s; | |||
} | |||
/** | |||
Set the destination file. | |||
*/ | |||
public void setDest(String dest) { | |||
this.dest = project.resolveFile(dest); | |||
public void setDest(File dest) { | |||
this.dest = dest; | |||
} | |||
/** | |||
@@ -77,16 +77,16 @@ public class Rename extends Task { | |||
* Sets the file to be renamed. | |||
* @param src the file to rename | |||
*/ | |||
public void setSrc(String src) { | |||
this.src = project.resolveFile(src); | |||
public void setSrc(File src) { | |||
this.src = src; | |||
} | |||
/** | |||
* Sets the new name of the file. | |||
* @param dest the new name of the file. | |||
*/ | |||
public void setDest(String dest) { | |||
this.dest = project.resolveFile(dest); | |||
public void setDest(File dest) { | |||
this.dest = dest; | |||
} | |||
/** | |||
@@ -411,8 +411,8 @@ public class Replace extends MatchingTask { | |||
/** | |||
* Sets a file to be searched for property values. | |||
*/ | |||
public void setPropertyFile(String filename) { | |||
propertyFile = project.resolveFile(filename); | |||
public void setPropertyFile(File filename) { | |||
propertyFile = filename; | |||
} | |||
/** | |||
@@ -66,8 +66,8 @@ import java.io.*; | |||
* @author <a href="mailto:stefan.bodewig@epost.de">Stefan Bodewig</a> | |||
*/ | |||
public class Untar extends Task { | |||
private String dest; // req | |||
private String source; // req | |||
private File dest; // req | |||
private File source; // req | |||
/** | |||
* Do the work. | |||
@@ -81,7 +81,7 @@ public class Untar extends Task { | |||
touch.setTaskName(getTaskName()); | |||
touch.setLocation(getLocation()); | |||
File srcF=project.resolveFile(source); | |||
File srcF = source; | |||
TarInputStream tis = null; | |||
try { | |||
@@ -96,7 +96,7 @@ public class Untar extends Task { | |||
if (dest == null) { | |||
throw new BuildException("No destination specified", location); | |||
} | |||
File dir=project.resolveFile(dest); | |||
File dir = dest; | |||
log("Expanding: " + srcF + " into " + dir, Project.MSG_INFO); | |||
tis = new TarInputStream(new FileInputStream(srcF)); | |||
@@ -154,8 +154,8 @@ public class Untar extends Task { | |||
* | |||
* @param d Path to the directory. | |||
*/ | |||
public void setDest(String d) { | |||
this.dest=d; | |||
public void setDest(File d) { | |||
this.dest = d; | |||
} | |||
/** | |||
@@ -163,7 +163,7 @@ public class Untar extends Task { | |||
* | |||
* @param s Path to tar-file. | |||
*/ | |||
public void setSrc(String s) { | |||
public void setSrc(File s) { | |||
this.source = s; | |||
} | |||
} |
@@ -433,35 +433,5 @@ public class Javah extends Task { | |||
log(prefix.toString() + niceClassList.toString(), Project.MSG_VERBOSE); | |||
} | |||
///** | |||
// * Emulation of extdirs feature in java >= 1.2. | |||
// * This method adds all files in the given | |||
// * directories (but not in sub-directories!) to the classpath, | |||
// * so that you don't have to specify them all one by one. | |||
// * @param classpath - Path to append files to | |||
// */ | |||
//protected void addExtdirsToClasspath(Path classpath) { | |||
// if (extdirs == null) { | |||
// String extProp = System.getProperty("java.ext.dirs"); | |||
// if (extProp != null) { | |||
// extdirs = new Path(project, extProp); | |||
// } else { | |||
// return; | |||
// } | |||
// } | |||
// | |||
// String[] dirs = extdirs.list(); | |||
// for (int i=0; i<dirs.length; i++) { | |||
// if (!dirs[i].endsWith(File.separator)) { | |||
// dirs[i] += File.separator; | |||
// } | |||
// File dir = project.resolveFile(dirs[i]); | |||
// FileSet fs = new FileSet(); | |||
// fs.setDir(dir); | |||
// fs.setIncludes("*"); | |||
// classpath.addFileset(fs); | |||
// } | |||
//} | |||
} | |||
@@ -221,8 +221,8 @@ public class NetRexxC extends MatchingTask { | |||
* Set the destination directory into which the NetRexx source | |||
* files should be copied and then compiled. | |||
*/ | |||
public void setDestDir(String destDirName) { | |||
destDir = project.resolveFile(destDirName); | |||
public void setDestDir(File destDirName) { | |||
destDir = destDirName; | |||
} | |||
/** | |||
@@ -308,8 +308,8 @@ public class NetRexxC extends MatchingTask { | |||
/** | |||
* Set the source dir to find the source Java files. | |||
*/ | |||
public void setSrcDir(String srcDirName) { | |||
srcDir = project.resolveFile(srcDirName); | |||
public void setSrcDir(File srcDirName) { | |||
srcDir = srcDirName; | |||
} | |||
/** | |||
@@ -388,8 +388,8 @@ public class CSharp | |||
/** file for generated XML documentation | |||
* @param f output file | |||
*/ | |||
public void setDocFile(String f) { | |||
_docFile=project.resolveFile(f); | |||
public void setDocFile(File f) { | |||
_docFile = f; | |||
} | |||
/** get the argument or null for no argument needed | |||
@@ -526,8 +526,8 @@ public class CSharp | |||
* Set the source dir to find the files to be compiled | |||
* @param srcDirName The new SrcDir value | |||
*/ | |||
public void setSrcDir(String srcDirName){ | |||
_srcDir = project.resolveFile(srcDirName); | |||
public void setSrcDir(File srcDirName){ | |||
_srcDir = srcDirName; | |||
} | |||
/** destination directory (null means use the source directory) | |||
@@ -539,8 +539,8 @@ public class CSharp | |||
* Set the destination dir to find the files to be compiled | |||
* @param dirName The new DestDir value | |||
*/ | |||
public void setDestDir(String dirName) { | |||
_destDir = project.resolveFile(dirName); | |||
public void setDestDir(File dirName) { | |||
_destDir = dirName; | |||
} | |||
/** type of target. Should be one of exe|library|module|winexe|(null) | |||
@@ -593,8 +593,8 @@ public class CSharp | |||
* Set the win32 icon | |||
* @param fileName path to the file. Can be relative, absolute, whatever. | |||
*/ | |||
public void setWin32Icon(String fileName) { | |||
_win32icon = project.resolveFile(fileName); | |||
public void setWin32Icon(File fileName) { | |||
_win32icon = fileName; | |||
} | |||
/** | |||
@@ -660,22 +660,22 @@ public class CSharp | |||
/** output file. If not supplied this is derived from the | |||
* source file | |||
*/ | |||
protected String _outputFile; | |||
protected File _outputFile; | |||
/** | |||
* Set the definitions | |||
* @param list of definitions split by ; or , or even : | |||
*/ | |||
public void setOutputFile(String params) { | |||
_outputFile=params; | |||
public void setOutputFile(File params) { | |||
_outputFile = params; | |||
} | |||
/** get the argument or null for no argument needed | |||
* @return The OutputFile Parameter to CSC | |||
*/ | |||
protected String getOutputFileParameter() { | |||
if (notEmpty(_outputFile)) { | |||
File f=project.resolveFile(_outputFile); | |||
if (_outputFile != null) { | |||
File f = _outputFile; | |||
return "/out:"+f.toString(); | |||
} | |||
else | |||
@@ -160,8 +160,8 @@ public class Ilasm | |||
* Set the source dir to find the files to be compiled | |||
* @param srcDirName The new SrcDir value | |||
*/ | |||
public void setSrcDir(String srcDirName){ | |||
_srcDir = project.resolveFile(srcDirName); | |||
public void setSrcDir(File srcDirName){ | |||
_srcDir = srcDirName; | |||
} | |||
@@ -293,15 +293,14 @@ public class Ilasm | |||
* output file. If not supplied this is derived from the | |||
* source file | |||
*/ | |||
protected String _outputFile; | |||
protected File _outputFile; | |||
/** | |||
* Set the definitions | |||
* @param list of definitions split by ; or , or even : | |||
*/ | |||
public void setOutputFile(String params) { | |||
_outputFile=params; | |||
public void setOutputFile(File params) { | |||
_outputFile = params; | |||
} | |||
/** | |||
@@ -311,7 +310,7 @@ public class Ilasm | |||
protected String getOutputFileParameter() { | |||
if (_outputFile==null || _outputFile.length()==0) | |||
return null; | |||
File f=project.resolveFile(_outputFile); | |||
File f = _outputFile; | |||
return "/output="+f.toString(); | |||
} | |||
@@ -322,8 +321,8 @@ public class Ilasm | |||
/** | |||
* Set the resource file | |||
* @param fileName path to the file. Can be relative, absolute, whatever. | |||
*/public void setResourceFile(String fileName) { | |||
_resourceFile = project.resolveFile(fileName); | |||
*/public void setResourceFile(File fileName) { | |||
_resourceFile = fileName; | |||
} | |||
protected String getResourceFileParameter() { | |||