git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@668724 13f79535-47bb-0310-9956-ffa450edef68master
@@ -42,10 +42,11 @@ import org.apache.tools.ant.Project; | |||||
import org.apache.tools.ant.taskdefs.condition.Condition; | import org.apache.tools.ant.taskdefs.condition.Condition; | ||||
import org.apache.tools.ant.types.EnumeratedAttribute; | import org.apache.tools.ant.types.EnumeratedAttribute; | ||||
import org.apache.tools.ant.types.FileSet; | import org.apache.tools.ant.types.FileSet; | ||||
import org.apache.tools.ant.types.Resource; | |||||
import org.apache.tools.ant.types.ResourceCollection; | import org.apache.tools.ant.types.ResourceCollection; | ||||
import org.apache.tools.ant.types.resources.FileProvider; | |||||
import org.apache.tools.ant.types.resources.Union; | import org.apache.tools.ant.types.resources.Union; | ||||
import org.apache.tools.ant.types.resources.Restrict; | import org.apache.tools.ant.types.resources.Restrict; | ||||
import org.apache.tools.ant.types.resources.FileResource; | |||||
import org.apache.tools.ant.types.resources.selectors.Type; | import org.apache.tools.ant.types.resources.selectors.Type; | ||||
import org.apache.tools.ant.util.FileUtils; | import org.apache.tools.ant.util.FileUtils; | ||||
import org.apache.tools.ant.util.StringUtils; | import org.apache.tools.ant.util.StringUtils; | ||||
@@ -392,13 +393,13 @@ public class Checksum extends MatchingTask implements Condition { | |||||
try { | try { | ||||
if (resources != null) { | if (resources != null) { | ||||
for (Iterator i = resources.iterator(); i.hasNext();) { | for (Iterator i = resources.iterator(); i.hasNext();) { | ||||
FileResource fr = (FileResource) i.next(); | |||||
File src = fr.getFile(); | |||||
Resource r = (Resource) i.next(); | |||||
File src = ((FileProvider) r).getFile(); | |||||
if (totalproperty != null || todir != null) { | if (totalproperty != null || todir != null) { | ||||
// Use '/' to calculate digest based on file name. | // Use '/' to calculate digest based on file name. | ||||
// This is required in order to get the same result | // This is required in order to get the same result | ||||
// on different platforms. | // on different platforms. | ||||
relativeFilePaths.put(src, fr.getName().replace(File.separatorChar, '/')); | |||||
relativeFilePaths.put(src, r.getName().replace(File.separatorChar, '/')); | |||||
} | } | ||||
addToIncludeFileMap(src); | addToIncludeFileMap(src); | ||||
} | } | ||||
@@ -45,9 +45,9 @@ import org.apache.tools.ant.types.FileList; | |||||
import org.apache.tools.ant.types.FilterChain; | import org.apache.tools.ant.types.FilterChain; | ||||
import org.apache.tools.ant.types.Resource; | import org.apache.tools.ant.types.Resource; | ||||
import org.apache.tools.ant.types.ResourceCollection; | import org.apache.tools.ant.types.ResourceCollection; | ||||
import org.apache.tools.ant.types.resources.FileProvider; | |||||
import org.apache.tools.ant.types.resources.Restrict; | import org.apache.tools.ant.types.resources.Restrict; | ||||
import org.apache.tools.ant.types.resources.Resources; | import org.apache.tools.ant.types.resources.Resources; | ||||
import org.apache.tools.ant.types.resources.FileResource; | |||||
import org.apache.tools.ant.types.resources.StringResource; | import org.apache.tools.ant.types.resources.StringResource; | ||||
import org.apache.tools.ant.types.resources.selectors.Not; | import org.apache.tools.ant.types.resources.selectors.Not; | ||||
import org.apache.tools.ant.types.resources.selectors.Exists; | import org.apache.tools.ant.types.resources.selectors.Exists; | ||||
@@ -854,8 +854,8 @@ public class Concat extends Task implements ResourceCollection { | |||||
if (destinationFile != null) { | if (destinationFile != null) { | ||||
for (Iterator i = rc.iterator(); i.hasNext();) { | for (Iterator i = rc.iterator(); i.hasNext();) { | ||||
Object o = i.next(); | Object o = i.next(); | ||||
if (o instanceof FileResource) { | |||||
File f = ((FileResource) o).getFile(); | |||||
if (o instanceof FileProvider) { | |||||
File f = ((FileProvider) o).getFile(); | |||||
if (FILE_UTILS.fileNameEquals(f, destinationFile)) { | if (FILE_UTILS.fileNameEquals(f, destinationFile)) { | ||||
throw new BuildException("Input file \"" | throw new BuildException("Input file \"" | ||||
+ f + "\" is the same as the output file."); | + f + "\" is the same as the output file."); | ||||
@@ -41,6 +41,7 @@ import org.apache.tools.ant.types.FilterSetCollection; | |||||
import org.apache.tools.ant.types.Resource; | import org.apache.tools.ant.types.Resource; | ||||
import org.apache.tools.ant.types.ResourceCollection; | import org.apache.tools.ant.types.ResourceCollection; | ||||
import org.apache.tools.ant.types.ResourceFactory; | import org.apache.tools.ant.types.ResourceFactory; | ||||
import org.apache.tools.ant.types.resources.FileProvider; | |||||
import org.apache.tools.ant.types.resources.FileResource; | import org.apache.tools.ant.types.resources.FileResource; | ||||
import org.apache.tools.ant.util.FileUtils; | import org.apache.tools.ant.util.FileUtils; | ||||
import org.apache.tools.ant.util.FileNameMapper; | import org.apache.tools.ant.util.FileNameMapper; | ||||
@@ -465,8 +466,8 @@ public class Copy extends Task { | |||||
File baseDir = NULL_FILE_PLACEHOLDER; | File baseDir = NULL_FILE_PLACEHOLDER; | ||||
String name = r.getName(); | String name = r.getName(); | ||||
if (r instanceof FileResource) { | |||||
FileResource fr = (FileResource) r; | |||||
if (r instanceof FileProvider) { | |||||
FileResource fr = ResourceUtils.asFileResource((FileProvider) r); | |||||
baseDir = getKeyFile(fr.getBaseDir()); | baseDir = getKeyFile(fr.getBaseDir()); | ||||
if (fr.getBaseDir() == null) { | if (fr.getBaseDir() == null) { | ||||
name = fr.getFile().getAbsolutePath(); | name = fr.getFile().getAbsolutePath(); | ||||
@@ -476,7 +477,7 @@ public class Copy extends Task { | |||||
// copying of dirs is trivial and can be done | // copying of dirs is trivial and can be done | ||||
// for non-file resources as well as for real | // for non-file resources as well as for real | ||||
// files. | // files. | ||||
if (r.isDirectory() || r instanceof FileResource) { | |||||
if (r.isDirectory() || r instanceof FileProvider) { | |||||
add(baseDir, name, | add(baseDir, name, | ||||
r.isDirectory() ? dirsByBasedir | r.isDirectory() ? dirsByBasedir | ||||
: filesByBasedir); | : filesByBasedir); | ||||
@@ -620,7 +621,7 @@ public class Copy extends Task { | |||||
throw new BuildException( | throw new BuildException( | ||||
"Cannot perform operation from directory to file."); | "Cannot perform operation from directory to file."); | ||||
} else if (rc.size() == 1) { | } else if (rc.size() == 1) { | ||||
FileResource r = (FileResource) rc.iterator().next(); | |||||
FileProvider r = (FileProvider) rc.iterator().next(); | |||||
if (file == null) { | if (file == null) { | ||||
file = r.getFile(); | file = r.getFile(); | ||||
rcs.removeElementAt(0); | rcs.removeElementAt(0); | ||||
@@ -30,10 +30,10 @@ import org.apache.tools.ant.taskdefs.condition.Os; | |||||
import org.apache.tools.ant.types.FileSet; | import org.apache.tools.ant.types.FileSet; | ||||
import org.apache.tools.ant.types.PatternSet; | import org.apache.tools.ant.types.PatternSet; | ||||
import org.apache.tools.ant.types.ResourceCollection; | import org.apache.tools.ant.types.ResourceCollection; | ||||
import org.apache.tools.ant.types.resources.FileProvider; | |||||
import org.apache.tools.ant.types.resources.Sort; | import org.apache.tools.ant.types.resources.Sort; | ||||
import org.apache.tools.ant.types.resources.Restrict; | import org.apache.tools.ant.types.resources.Restrict; | ||||
import org.apache.tools.ant.types.resources.Resources; | import org.apache.tools.ant.types.resources.Resources; | ||||
import org.apache.tools.ant.types.resources.FileResource; | |||||
import org.apache.tools.ant.types.resources.FileResourceIterator; | import org.apache.tools.ant.types.resources.FileResourceIterator; | ||||
import org.apache.tools.ant.types.resources.comparators.Reverse; | import org.apache.tools.ant.types.resources.comparators.Reverse; | ||||
import org.apache.tools.ant.types.resources.comparators.FileSystem; | import org.apache.tools.ant.types.resources.comparators.FileSystem; | ||||
@@ -590,17 +590,17 @@ public class Delete extends MatchingTask { | |||||
try { | try { | ||||
if (resourcesToDelete.isFilesystemOnly()) { | if (resourcesToDelete.isFilesystemOnly()) { | ||||
for (Iterator iter = resourcesToDelete.iterator(); iter.hasNext();) { | for (Iterator iter = resourcesToDelete.iterator(); iter.hasNext();) { | ||||
FileResource r = (FileResource) iter.next(); | |||||
// nonexistent resources could only occur if we already | // nonexistent resources could only occur if we already | ||||
// deleted something from a fileset: | // deleted something from a fileset: | ||||
if (!r.isExists()) { | |||||
File f = ((FileProvider) iter.next()).getFile(); | |||||
if (!f.exists()) { | |||||
continue; | continue; | ||||
} | } | ||||
if (!(r.isDirectory()) || r.getFile().list().length == 0) { | |||||
log("Deleting " + r, verbosity); | |||||
if (!delete(r.getFile()) && failonerror) { | |||||
if (!(f.isDirectory()) || f.list().length == 0) { | |||||
log("Deleting " + f, verbosity); | |||||
if (!delete(f) && failonerror) { | |||||
handle("Unable to delete " | handle("Unable to delete " | ||||
+ (r.isDirectory() ? "directory " : "file ") + r); | |||||
+ (f.isDirectory() ? "directory " : "file ") + f); | |||||
} | } | ||||
} | } | ||||
} | } | ||||
@@ -31,7 +31,6 @@ import org.apache.tools.ant.types.ResourceCollection; | |||||
import org.apache.tools.ant.types.resources.Union; | import org.apache.tools.ant.types.resources.Union; | ||||
import org.apache.tools.ant.types.resources.Restrict; | import org.apache.tools.ant.types.resources.Restrict; | ||||
import org.apache.tools.ant.types.resources.Resources; | import org.apache.tools.ant.types.resources.Resources; | ||||
import org.apache.tools.ant.types.resources.FileResource; | |||||
import org.apache.tools.ant.types.resources.selectors.Not; | import org.apache.tools.ant.types.resources.selectors.Not; | ||||
import org.apache.tools.ant.types.resources.selectors.Exists; | import org.apache.tools.ant.types.resources.selectors.Exists; | ||||
import org.apache.tools.ant.types.resources.selectors.ResourceSelector; | import org.apache.tools.ant.types.resources.selectors.ResourceSelector; | ||||
@@ -205,7 +204,7 @@ public class DependSet extends MatchingTask { | |||||
log(neTargets + " nonexistent targets", Project.MSG_VERBOSE); | log(neTargets + " nonexistent targets", Project.MSG_VERBOSE); | ||||
return false; | return false; | ||||
} | } | ||||
FileResource oldestTarget = (FileResource) getOldest(targets); | |||||
Resource oldestTarget = getOldest(targets); | |||||
log(oldestTarget + " is oldest target file", Project.MSG_VERBOSE); | log(oldestTarget + " is oldest target file", Project.MSG_VERBOSE); | ||||
logFuture(sources, datesel); | logFuture(sources, datesel); | ||||
@@ -35,9 +35,11 @@ import org.apache.tools.ant.types.FileSet; | |||||
import org.apache.tools.ant.types.Mapper; | import org.apache.tools.ant.types.Mapper; | ||||
import org.apache.tools.ant.types.Resource; | import org.apache.tools.ant.types.Resource; | ||||
import org.apache.tools.ant.types.ResourceCollection; | import org.apache.tools.ant.types.ResourceCollection; | ||||
import org.apache.tools.ant.types.resources.FileProvider; | |||||
import org.apache.tools.ant.types.resources.FileResource; | import org.apache.tools.ant.types.resources.FileResource; | ||||
import org.apache.tools.ant.types.resources.Union; | import org.apache.tools.ant.types.resources.Union; | ||||
import org.apache.tools.ant.util.FileNameMapper; | import org.apache.tools.ant.util.FileNameMapper; | ||||
import org.apache.tools.ant.util.ResourceUtils; | |||||
import org.apache.tools.ant.util.SourceFileScanner; | import org.apache.tools.ant.util.SourceFileScanner; | ||||
/** | /** | ||||
@@ -424,8 +426,8 @@ public class ExecuteOn extends ExecTask { | |||||
File base = null; | File base = null; | ||||
String name = res.getName(); | String name = res.getName(); | ||||
if (res instanceof FileResource) { | |||||
FileResource fr = (FileResource) res; | |||||
if (res instanceof FileProvider) { | |||||
FileResource fr = ResourceUtils.asFileResource((FileProvider) res); | |||||
base = fr.getBaseDir(); | base = fr.getBaseDir(); | ||||
if (base == null) { | if (base == null) { | ||||
name = fr.getFile().getAbsolutePath(); | name = fr.getFile().getAbsolutePath(); | ||||
@@ -38,7 +38,7 @@ import org.apache.tools.ant.types.Mapper; | |||||
import org.apache.tools.ant.types.PatternSet; | import org.apache.tools.ant.types.PatternSet; | ||||
import org.apache.tools.ant.types.Resource; | import org.apache.tools.ant.types.Resource; | ||||
import org.apache.tools.ant.types.ResourceCollection; | import org.apache.tools.ant.types.ResourceCollection; | ||||
import org.apache.tools.ant.types.resources.FileResource; | |||||
import org.apache.tools.ant.types.resources.FileProvider; | |||||
import org.apache.tools.ant.types.resources.Union; | import org.apache.tools.ant.types.resources.Union; | ||||
import org.apache.tools.ant.types.selectors.SelectorUtils; | import org.apache.tools.ant.types.selectors.SelectorUtils; | ||||
import org.apache.tools.ant.util.FileNameMapper; | import org.apache.tools.ant.util.FileNameMapper; | ||||
@@ -114,8 +114,8 @@ public class Expand extends Task { | |||||
continue; | continue; | ||||
} | } | ||||
if (r instanceof FileResource) { | |||||
expandFile(FILE_UTILS, ((FileResource) r).getFile(), dest); | |||||
if (r instanceof FileProvider) { | |||||
expandFile(FILE_UTILS, ((FileProvider) r).getFile(), dest); | |||||
} else { | } else { | ||||
expandResource(r, dest); | expandResource(r, dest); | ||||
} | } | ||||
@@ -46,7 +46,7 @@ import org.apache.tools.ant.types.Path; | |||||
import org.apache.tools.ant.types.PatternSet; | import org.apache.tools.ant.types.PatternSet; | ||||
import org.apache.tools.ant.types.Reference; | import org.apache.tools.ant.types.Reference; | ||||
import org.apache.tools.ant.types.ResourceCollection; | import org.apache.tools.ant.types.ResourceCollection; | ||||
import org.apache.tools.ant.types.resources.FileResource; | |||||
import org.apache.tools.ant.types.resources.FileProvider; | |||||
import org.apache.tools.ant.util.FileUtils; | import org.apache.tools.ant.util.FileUtils; | ||||
import org.apache.tools.ant.util.JavaEnvUtils; | import org.apache.tools.ant.util.JavaEnvUtils; | ||||
@@ -1910,7 +1910,7 @@ public class Javadoc extends Task { | |||||
"Error creating or writing temporary file for javadoc options", | "Error creating or writing temporary file for javadoc options", | ||||
ex, getLocation()); | ex, getLocation()); | ||||
} finally { | } finally { | ||||
FILE_UTILS.close(optionsListWriter); | |||||
FileUtils.close(optionsListWriter); | |||||
} | } | ||||
} | } | ||||
@@ -2267,7 +2267,7 @@ public class Javadoc extends Task { | |||||
} | } | ||||
Iterator iter = rc.iterator(); | Iterator iter = rc.iterator(); | ||||
while (iter.hasNext()) { | while (iter.hasNext()) { | ||||
sf.addElement(new SourceFile(((FileResource) iter.next()) | |||||
sf.addElement(new SourceFile(((FileProvider) iter.next()) | |||||
.getFile())); | .getFile())); | ||||
} | } | ||||
} | } | ||||
@@ -26,6 +26,7 @@ import org.apache.tools.ant.BuildException; | |||||
import org.apache.tools.ant.Task; | import org.apache.tools.ant.Task; | ||||
import org.apache.tools.ant.types.Resource; | import org.apache.tools.ant.types.Resource; | ||||
import org.apache.tools.ant.types.ResourceCollection; | import org.apache.tools.ant.types.ResourceCollection; | ||||
import org.apache.tools.ant.types.resources.FileProvider; | |||||
import org.apache.tools.ant.types.resources.FileResource; | import org.apache.tools.ant.types.resources.FileResource; | ||||
/** | /** | ||||
@@ -74,11 +75,10 @@ public abstract class Pack extends Task { | |||||
if (src.isDirectory()) { | if (src.isDirectory()) { | ||||
throw new BuildException("the source can't be a directory"); | throw new BuildException("the source can't be a directory"); | ||||
} | } | ||||
if (src instanceof FileResource) { | |||||
source = ((FileResource) src).getFile(); | |||||
if (src instanceof FileProvider) { | |||||
source = ((FileProvider) src).getFile(); | |||||
} else if (!supportsNonFileResources()) { | } else if (!supportsNonFileResources()) { | ||||
throw new BuildException("Only FileSystem resources are" | |||||
+ " supported."); | |||||
throw new BuildException("Only FileSystem resources are supported."); | |||||
} | } | ||||
this.src = src; | this.src = src; | ||||
} | } | ||||
@@ -26,10 +26,12 @@ import org.apache.tools.ant.BuildException; | |||||
import org.apache.tools.ant.Project; | import org.apache.tools.ant.Project; | ||||
import org.apache.tools.ant.taskdefs.condition.IsSigned; | import org.apache.tools.ant.taskdefs.condition.IsSigned; | ||||
import org.apache.tools.ant.types.Path; | import org.apache.tools.ant.types.Path; | ||||
import org.apache.tools.ant.types.resources.FileProvider; | |||||
import org.apache.tools.ant.types.resources.FileResource; | import org.apache.tools.ant.types.resources.FileResource; | ||||
import org.apache.tools.ant.util.FileUtils; | import org.apache.tools.ant.util.FileUtils; | ||||
import org.apache.tools.ant.util.IdentityMapper; | import org.apache.tools.ant.util.IdentityMapper; | ||||
import org.apache.tools.ant.util.FileNameMapper; | import org.apache.tools.ant.util.FileNameMapper; | ||||
import org.apache.tools.ant.util.ResourceUtils; | |||||
/** | /** | ||||
* Signs JAR or ZIP files with the javasign command line tool. The tool detailed | * Signs JAR or ZIP files with the javasign command line tool. The tool detailed | ||||
@@ -320,7 +322,7 @@ public class SignJar extends AbstractJarSignerTask { | |||||
// deal with the paths | // deal with the paths | ||||
Iterator iter = sources.iterator(); | Iterator iter = sources.iterator(); | ||||
while (iter.hasNext()) { | while (iter.hasNext()) { | ||||
FileResource fr = (FileResource) iter.next(); | |||||
FileResource fr = ResourceUtils.asFileResource((FileProvider) iter.next()); | |||||
//calculate our destination directory; it is either the destDir | //calculate our destination directory; it is either the destDir | ||||
//attribute, or the base dir of the fileset (for in situ updates) | //attribute, or the base dir of the fileset (for in situ updates) | ||||
@@ -39,11 +39,13 @@ import org.apache.tools.ant.types.FileSet; | |||||
import org.apache.tools.ant.types.Resource; | import org.apache.tools.ant.types.Resource; | ||||
import org.apache.tools.ant.types.ResourceCollection; | import org.apache.tools.ant.types.ResourceCollection; | ||||
import org.apache.tools.ant.types.resources.ArchiveResource; | import org.apache.tools.ant.types.resources.ArchiveResource; | ||||
import org.apache.tools.ant.types.resources.FileProvider; | |||||
import org.apache.tools.ant.types.resources.FileResource; | import org.apache.tools.ant.types.resources.FileResource; | ||||
import org.apache.tools.ant.types.selectors.SelectorUtils; | import org.apache.tools.ant.types.selectors.SelectorUtils; | ||||
import org.apache.tools.ant.types.resources.TarResource; | import org.apache.tools.ant.types.resources.TarResource; | ||||
import org.apache.tools.ant.util.FileUtils; | import org.apache.tools.ant.util.FileUtils; | ||||
import org.apache.tools.ant.util.MergingMapper; | import org.apache.tools.ant.util.MergingMapper; | ||||
import org.apache.tools.ant.util.ResourceUtils; | |||||
import org.apache.tools.ant.util.SourceFileScanner; | import org.apache.tools.ant.util.SourceFileScanner; | ||||
import org.apache.tools.bzip2.CBZip2OutputStream; | import org.apache.tools.bzip2.CBZip2OutputStream; | ||||
import org.apache.tools.tar.TarConstants; | import org.apache.tools.tar.TarConstants; | ||||
@@ -559,7 +561,7 @@ public class Tar extends MatchingTask { | |||||
HashMap basedirToFilesMap = new HashMap(); | HashMap basedirToFilesMap = new HashMap(); | ||||
Iterator iter = rc.iterator(); | Iterator iter = rc.iterator(); | ||||
while (iter.hasNext()) { | while (iter.hasNext()) { | ||||
FileResource r = (FileResource) iter.next(); | |||||
FileResource r = ResourceUtils.asFileResource((FileProvider) iter.next()); | |||||
File base = r.getBaseDir(); | File base = r.getBaseDir(); | ||||
if (base == null) { | if (base == null) { | ||||
base = Copy.NULL_FILE_PLACEHOLDER; | base = Copy.NULL_FILE_PLACEHOLDER; | ||||
@@ -652,7 +654,7 @@ public class Tar extends MatchingTask { | |||||
} else if (rc.isFilesystemOnly()) { | } else if (rc.isFilesystemOnly()) { | ||||
Iterator iter = rc.iterator(); | Iterator iter = rc.iterator(); | ||||
while (iter.hasNext()) { | while (iter.hasNext()) { | ||||
FileResource r = (FileResource) iter.next(); | |||||
FileResource r = ResourceUtils.asFileResource((FileProvider) iter.next()); | |||||
File f = r.getFile(); | File f = r.getFile(); | ||||
if (f == null) { | if (f == null) { | ||||
f = new File(r.getBaseDir(), r.getName()); | f = new File(r.getBaseDir(), r.getName()); | ||||
@@ -35,6 +35,7 @@ import org.apache.tools.ant.types.FileSet; | |||||
import org.apache.tools.ant.types.FileList; | import org.apache.tools.ant.types.FileList; | ||||
import org.apache.tools.ant.types.Resource; | import org.apache.tools.ant.types.Resource; | ||||
import org.apache.tools.ant.types.ResourceCollection; | import org.apache.tools.ant.types.ResourceCollection; | ||||
import org.apache.tools.ant.types.resources.FileProvider; | |||||
import org.apache.tools.ant.types.resources.FileResource; | import org.apache.tools.ant.types.resources.FileResource; | ||||
import org.apache.tools.ant.types.resources.Touchable; | import org.apache.tools.ant.types.resources.Touchable; | ||||
import org.apache.tools.ant.types.resources.Union; | import org.apache.tools.ant.types.resources.Union; | ||||
@@ -338,9 +339,9 @@ public class Touch extends Task { | |||||
private void touch(Resource r, long defaultTimestamp) { | private void touch(Resource r, long defaultTimestamp) { | ||||
if (fileNameMapper == null) { | if (fileNameMapper == null) { | ||||
if (r instanceof FileResource) { | |||||
if (r instanceof FileProvider) { | |||||
// use this to create file and deal with non-writable files | // use this to create file and deal with non-writable files | ||||
touch(((FileResource) r).getFile(), defaultTimestamp); | |||||
touch(((FileProvider) r).getFile(), defaultTimestamp); | |||||
} else { | } else { | ||||
((Touchable) r).touch(defaultTimestamp); | ((Touchable) r).touch(defaultTimestamp); | ||||
} | } | ||||
@@ -27,6 +27,7 @@ import org.apache.tools.ant.Project; | |||||
import org.apache.tools.ant.Task; | import org.apache.tools.ant.Task; | ||||
import org.apache.tools.ant.types.Path; | import org.apache.tools.ant.types.Path; | ||||
import org.apache.tools.ant.types.ResourceCollection; | import org.apache.tools.ant.types.ResourceCollection; | ||||
import org.apache.tools.ant.types.resources.FileProvider; | |||||
import org.apache.tools.ant.types.resources.FileResource; | import org.apache.tools.ant.types.resources.FileResource; | ||||
import org.apache.tools.ant.util.FileUtils; | import org.apache.tools.ant.util.FileUtils; | ||||
@@ -125,7 +126,7 @@ public class Truncate extends Task { | |||||
throw new BuildException(NO_CHILD); | throw new BuildException(NO_CHILD); | ||||
} | } | ||||
for (Iterator it = path.iterator(); it.hasNext();) { | for (Iterator it = path.iterator(); it.hasNext();) { | ||||
File f = ((FileResource) it.next()).getFile(); | |||||
File f = ((FileProvider) it.next()).getFile(); | |||||
if (shouldProcess(f)) { | if (shouldProcess(f)) { | ||||
process(f); | process(f); | ||||
} | } | ||||
@@ -24,6 +24,7 @@ import org.apache.tools.ant.BuildException; | |||||
import org.apache.tools.ant.Task; | import org.apache.tools.ant.Task; | ||||
import org.apache.tools.ant.types.Resource; | import org.apache.tools.ant.types.Resource; | ||||
import org.apache.tools.ant.types.ResourceCollection; | import org.apache.tools.ant.types.ResourceCollection; | ||||
import org.apache.tools.ant.types.resources.FileProvider; | |||||
import org.apache.tools.ant.types.resources.FileResource; | import org.apache.tools.ant.types.resources.FileResource; | ||||
/** | /** | ||||
@@ -90,8 +91,8 @@ public abstract class Unpack extends Task { | |||||
throw new BuildException( | throw new BuildException( | ||||
"the archive " + src.getName() + " can't be a directory"); | "the archive " + src.getName() + " can't be a directory"); | ||||
} | } | ||||
if (src instanceof FileResource) { | |||||
source = ((FileResource) src).getFile(); | |||||
if (src instanceof FileProvider) { | |||||
source = ((FileProvider) src).getFile(); | |||||
} else if (!supportsNonFileResources()) { | } else if (!supportsNonFileResources()) { | ||||
throw new BuildException( | throw new BuildException( | ||||
"The source " + src.getName() | "The source " + src.getName() | ||||
@@ -24,6 +24,7 @@ import org.apache.tools.ant.filters.ChainableReader; | |||||
import org.apache.tools.ant.types.RedirectorElement; | import org.apache.tools.ant.types.RedirectorElement; | ||||
import org.apache.tools.ant.types.FilterChain; | import org.apache.tools.ant.types.FilterChain; | ||||
import org.apache.tools.ant.types.Path; | import org.apache.tools.ant.types.Path; | ||||
import org.apache.tools.ant.types.resources.FileProvider; | |||||
import org.apache.tools.ant.types.resources.FileResource; | import org.apache.tools.ant.types.resources.FileResource; | ||||
import java.util.Iterator; | import java.util.Iterator; | ||||
@@ -90,7 +91,7 @@ public class VerifyJar extends AbstractJarSignerTask { | |||||
Path sources = createUnifiedSourcePath(); | Path sources = createUnifiedSourcePath(); | ||||
Iterator iter = sources.iterator(); | Iterator iter = sources.iterator(); | ||||
while (iter.hasNext()) { | while (iter.hasNext()) { | ||||
FileResource fr = (FileResource) iter.next(); | |||||
FileProvider fr = (FileProvider) iter.next(); | |||||
verifyOneJar(fr.getFile()); | verifyOneJar(fr.getFile()); | ||||
} | } | ||||
@@ -38,6 +38,7 @@ import org.apache.tools.ant.types.resources.Union; | |||||
import org.apache.tools.ant.types.resources.FileProvider; | import org.apache.tools.ant.types.resources.FileProvider; | ||||
import org.apache.tools.ant.util.FileNameMapper; | import org.apache.tools.ant.util.FileNameMapper; | ||||
import org.apache.tools.ant.util.FileUtils; | import org.apache.tools.ant.util.FileUtils; | ||||
import org.apache.tools.ant.util.ResourceUtils; | |||||
/** | /** | ||||
* Processes a set of XML documents via XSLT. This is | * Processes a set of XML documents via XSLT. This is | ||||
@@ -591,8 +592,8 @@ public class XSLTProcess extends MatchingTask implements XSLTLogger { | |||||
} | } | ||||
File base = baseDir; | File base = baseDir; | ||||
String name = r.getName(); | String name = r.getName(); | ||||
if (r instanceof FileResource) { | |||||
FileResource f = (FileResource) r; | |||||
if (r instanceof FileProvider) { | |||||
FileResource f = ResourceUtils.asFileResource((FileProvider) r); | |||||
base = f.getBaseDir(); | base = f.getBaseDir(); | ||||
if (base == null) { | if (base == null) { | ||||
name = f.getFile().getAbsolutePath(); | name = f.getFile().getAbsolutePath(); | ||||
@@ -29,6 +29,7 @@ import org.apache.tools.ant.types.Path; | |||||
import org.apache.tools.ant.types.Resource; | import org.apache.tools.ant.types.Resource; | ||||
import org.apache.tools.ant.types.ResourceCollection; | import org.apache.tools.ant.types.ResourceCollection; | ||||
import org.apache.tools.ant.types.XMLCatalog; | import org.apache.tools.ant.types.XMLCatalog; | ||||
import org.apache.tools.ant.types.resources.FileProvider; | |||||
import org.apache.tools.ant.types.resources.FileResource; | import org.apache.tools.ant.types.resources.FileResource; | ||||
import org.apache.tools.ant.util.FileUtils; | import org.apache.tools.ant.util.FileUtils; | ||||
import org.w3c.dom.Document; | import org.w3c.dom.Document; | ||||
@@ -243,8 +244,8 @@ public class XmlProperty extends org.apache.tools.ant.Task { | |||||
DocumentBuilder builder = factory.newDocumentBuilder(); | DocumentBuilder builder = factory.newDocumentBuilder(); | ||||
builder.setEntityResolver(getEntityResolver()); | builder.setEntityResolver(getEntityResolver()); | ||||
Document document = null; | Document document = null; | ||||
if (src instanceof FileResource) { | |||||
document = builder.parse(((FileResource) src).getFile()); | |||||
if (src instanceof FileProvider) { | |||||
document = builder.parse(((FileProvider) src).getFile()); | |||||
} else { | } else { | ||||
document = builder.parse(src.getInputStream()); | document = builder.parse(src.getInputStream()); | ||||
} | } | ||||
@@ -573,10 +574,11 @@ public class XmlProperty extends org.apache.tools.ant.Task { | |||||
if (src.isDirectory()) { | if (src.isDirectory()) { | ||||
throw new BuildException("the source can't be a directory"); | throw new BuildException("the source can't be a directory"); | ||||
} | } | ||||
if (src instanceof FileResource && !supportsNonFileResources()) { | |||||
if (src instanceof FileProvider || supportsNonFileResources()) { | |||||
this.src = src; | |||||
} else { | |||||
throw new BuildException("Only FileSystem resources are supported."); | throw new BuildException("Only FileSystem resources are supported."); | ||||
} | } | ||||
this.src = src; | |||||
} | } | ||||
/** | /** | ||||
@@ -667,7 +669,7 @@ public class XmlProperty extends org.apache.tools.ant.Task { | |||||
* @return the file attribute. | * @return the file attribute. | ||||
*/ | */ | ||||
protected File getFile () { | protected File getFile () { | ||||
return src instanceof FileResource ? ((FileResource) src).getFile() : null; | |||||
return src instanceof FileProvider ? ((FileProvider) src).getFile() : null; | |||||
} | } | ||||
/** | /** | ||||
@@ -677,8 +679,8 @@ public class XmlProperty extends org.apache.tools.ant.Task { | |||||
// delegate this way around to support subclasses that | // delegate this way around to support subclasses that | ||||
// overwrite getFile | // overwrite getFile | ||||
File f = getFile(); | File f = getFile(); | ||||
return f == null ? src : src instanceof FileResource | |||||
&& ((FileResource) src).getFile().equals(f) ? src : new FileResource(f); | |||||
return f == null ? src : src instanceof FileProvider | |||||
&& ((FileProvider) src).getFile().equals(f) ? src : new FileResource(f); | |||||
} | } | ||||
/** | /** | ||||
@@ -46,7 +46,7 @@ import org.apache.tools.ant.types.ResourceCollection; | |||||
import org.apache.tools.ant.types.ZipFileSet; | import org.apache.tools.ant.types.ZipFileSet; | ||||
import org.apache.tools.ant.types.ZipScanner; | import org.apache.tools.ant.types.ZipScanner; | ||||
import org.apache.tools.ant.types.resources.ArchiveResource; | import org.apache.tools.ant.types.resources.ArchiveResource; | ||||
import org.apache.tools.ant.types.resources.FileResource; | |||||
import org.apache.tools.ant.types.resources.FileProvider; | |||||
import org.apache.tools.ant.util.FileNameMapper; | import org.apache.tools.ant.util.FileNameMapper; | ||||
import org.apache.tools.ant.util.FileUtils; | import org.apache.tools.ant.util.FileUtils; | ||||
import org.apache.tools.ant.util.GlobPatternMapper; | import org.apache.tools.ant.util.GlobPatternMapper; | ||||
@@ -863,8 +863,8 @@ public class Zip extends MatchingTask { | |||||
continue; | continue; | ||||
} | } | ||||
File base = null; | File base = null; | ||||
if (resources[i] instanceof FileResource) { | |||||
base = ((FileResource) resources[i]).getBaseDir(); | |||||
if (resources[i] instanceof FileProvider) { | |||||
base = ResourceUtils.asFileResource((FileProvider) resources[i]).getBaseDir(); | |||||
} | } | ||||
if (resources[i].isDirectory()) { | if (resources[i].isDirectory()) { | ||||
if (!name.endsWith("/")) { | if (!name.endsWith("/")) { | ||||
@@ -876,8 +876,8 @@ public class Zip extends MatchingTask { | |||||
ArchiveFileSet.DEFAULT_DIR_MODE); | ArchiveFileSet.DEFAULT_DIR_MODE); | ||||
if (!resources[i].isDirectory()) { | if (!resources[i].isDirectory()) { | ||||
if (resources[i] instanceof FileResource) { | |||||
File f = ((FileResource) resources[i]).getFile(); | |||||
if (resources[i] instanceof FileProvider) { | |||||
File f = ((FileProvider) resources[i]).getFile(); | |||||
zipFile(f, zOut, name, ArchiveFileSet.DEFAULT_FILE_MODE); | zipFile(f, zOut, name, ArchiveFileSet.DEFAULT_FILE_MODE); | ||||
} else { | } else { | ||||
InputStream is = null; | InputStream is = null; | ||||
@@ -1254,8 +1254,8 @@ public class Zip extends MatchingTask { | |||||
} | } | ||||
for (int j = 0; j < initialResources[i].length; j++) { | for (int j = 0; j < initialResources[i].length; j++) { | ||||
if (initialResources[i][j] instanceof FileResource | |||||
&& zipFile.equals(((FileResource) | |||||
if (initialResources[i][j] instanceof FileProvider | |||||
&& zipFile.equals(((FileProvider) | |||||
initialResources[i][j]).getFile())) { | initialResources[i][j]).getFile())) { | ||||
throw new BuildException("A zip file cannot include " | throw new BuildException("A zip file cannot include " | ||||
+ "itself", getLocation()); | + "itself", getLocation()); | ||||
@@ -28,6 +28,7 @@ import org.apache.tools.ant.Task; | |||||
import org.apache.tools.ant.types.EnumeratedAttribute; | import org.apache.tools.ant.types.EnumeratedAttribute; | ||||
import org.apache.tools.ant.types.FileSet; | import org.apache.tools.ant.types.FileSet; | ||||
import org.apache.tools.ant.types.Path; | import org.apache.tools.ant.types.Path; | ||||
import org.apache.tools.ant.types.resources.FileProvider; | |||||
import org.apache.tools.ant.types.resources.FileResource; | import org.apache.tools.ant.types.resources.FileResource; | ||||
import org.apache.tools.ant.util.ClasspathUtils; | import org.apache.tools.ant.util.ClasspathUtils; | ||||
@@ -499,8 +500,7 @@ public class EmailTask extends Task { | |||||
Iterator iter = attachments.iterator(); | Iterator iter = attachments.iterator(); | ||||
while (iter.hasNext()) { | while (iter.hasNext()) { | ||||
FileResource fr = (FileResource) iter.next(); | |||||
files.addElement(fr.getFile()); | |||||
files.addElement(((FileProvider) iter.next()).getFile()); | |||||
} | } | ||||
} | } | ||||
// let the user know what's going to happen | // let the user know what's going to happen | ||||
@@ -52,6 +52,7 @@ import org.apache.tools.ant.taskdefs.XSLTLoggerAware; | |||||
import org.apache.tools.ant.taskdefs.XSLTProcess; | import org.apache.tools.ant.taskdefs.XSLTProcess; | ||||
import org.apache.tools.ant.types.XMLCatalog; | import org.apache.tools.ant.types.XMLCatalog; | ||||
import org.apache.tools.ant.types.Resource; | import org.apache.tools.ant.types.Resource; | ||||
import org.apache.tools.ant.types.resources.FileProvider; | |||||
import org.apache.tools.ant.types.resources.FileResource; | import org.apache.tools.ant.types.resources.FileResource; | ||||
import org.apache.tools.ant.types.resources.URLResource; | import org.apache.tools.ant.types.resources.URLResource; | ||||
import org.apache.tools.ant.util.FileUtils; | import org.apache.tools.ant.util.FileUtils; | ||||
@@ -271,8 +272,8 @@ public class TraXLiaison implements XSLTLiaison3, ErrorListener, XSLTLoggerAware | |||||
} | } | ||||
private String resourceToURI(Resource resource) { | private String resourceToURI(Resource resource) { | ||||
if (resource instanceof FileResource) { | |||||
File f = ((FileResource) resource).getFile(); | |||||
if (resource instanceof FileProvider) { | |||||
File f = ((FileProvider) resource).getFile(); | |||||
return FILE_UTILS.toURI(f.getAbsolutePath()); | return FILE_UTILS.toURI(f.getAbsolutePath()); | ||||
} | } | ||||
if (resource instanceof URLResource) { | if (resource instanceof URLResource) { | ||||
@@ -158,7 +158,7 @@ public abstract class BaseResourceCollectionContainer | |||||
/* now check each Resource in case the child only | /* now check each Resource in case the child only | ||||
lets through files from any children IT may have: */ | lets through files from any children IT may have: */ | ||||
for (Iterator i = cacheCollection().iterator(); i.hasNext();) { | for (Iterator i = cacheCollection().iterator(); i.hasNext();) { | ||||
if (!(i.next() instanceof FileResource)) { | |||||
if (!(i.next() instanceof FileProvider)) { | |||||
return false; | return false; | ||||
} | } | ||||
} | } | ||||
@@ -122,7 +122,7 @@ public abstract class BaseResourceCollectionWrapper | |||||
/* now check each Resource in case the child only | /* now check each Resource in case the child only | ||||
lets through files from any children IT may have: */ | lets through files from any children IT may have: */ | ||||
for (Iterator i = cacheCollection().iterator(); i.hasNext();) { | for (Iterator i = cacheCollection().iterator(); i.hasNext();) { | ||||
if (!(i.next() instanceof FileResource)) { | |||||
if (!(i.next() instanceof FileProvider)) { | |||||
return false; | return false; | ||||
} | } | ||||
} | } | ||||
@@ -228,13 +228,12 @@ public class FileResource extends Resource implements Touchable, FileProvider, | |||||
if (this.equals(another)) { | if (this.equals(another)) { | ||||
return 0; | return 0; | ||||
} | } | ||||
if (another.getClass().equals(getClass())) { | |||||
FileResource otherfr = (FileResource) another; | |||||
if (another instanceof FileProvider) { | |||||
File f = getFile(); | File f = getFile(); | ||||
if (f == null) { | if (f == null) { | ||||
return -1; | return -1; | ||||
} | } | ||||
File of = otherfr.getFile(); | |||||
File of = ((FileProvider) another).getFile(); | |||||
if (of == null) { | if (of == null) { | ||||
return 1; | return 1; | ||||
} | } | ||||
@@ -19,7 +19,7 @@ package org.apache.tools.ant.types.resources.comparators; | |||||
import java.io.File; | import java.io.File; | ||||
import org.apache.tools.ant.types.Resource; | import org.apache.tools.ant.types.Resource; | ||||
import org.apache.tools.ant.types.resources.FileResource; | |||||
import org.apache.tools.ant.types.resources.FileProvider; | |||||
import org.apache.tools.ant.util.FileUtils; | import org.apache.tools.ant.util.FileUtils; | ||||
/** | /** | ||||
@@ -38,8 +38,8 @@ public class FileSystem extends ResourceComparator { | |||||
* @throws ClassCastException if either resource is not an instance of FileResource. | * @throws ClassCastException if either resource is not an instance of FileResource. | ||||
*/ | */ | ||||
protected int resourceCompare(Resource foo, Resource bar) { | protected int resourceCompare(Resource foo, Resource bar) { | ||||
File foofile = ((FileResource) foo).getFile(); | |||||
File barfile = ((FileResource) bar).getFile(); | |||||
File foofile = ((FileProvider) foo).getFile(); | |||||
File barfile = ((FileProvider) bar).getFile(); | |||||
return foofile.equals(barfile) ? 0 | return foofile.equals(barfile) ? 0 | ||||
: FILE_UTILS.isLeadingPath(foofile, barfile) ? -1 | : FILE_UTILS.isLeadingPath(foofile, barfile) ? -1 | ||||
: FILE_UTILS.normalize(foofile.getAbsolutePath()).compareTo( | : FILE_UTILS.normalize(foofile.getAbsolutePath()).compareTo( | ||||