diff --git a/src/main/org/apache/tools/ant/taskdefs/Expand.java b/src/main/org/apache/tools/ant/taskdefs/Expand.java index 0f94bddad..124ba46b6 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Expand.java +++ b/src/main/org/apache/tools/ant/taskdefs/Expand.java @@ -122,6 +122,10 @@ public class Expand extends Task { if (source.isDirectory()) { throw new BuildException("Src must not be a directory." + " Use nested filesets instead.", getLocation()); + } else if (!source.exists()) { + throw new BuildException("src '" + source + "' doesn't exist."); + } else if (!source.canRead()) { + throw new BuildException("src '" + source + "' cannot be read."); } else { expandFile(FILE_UTILS, source, dest); } @@ -130,6 +134,7 @@ public class Expand extends Task { while (iter.hasNext()) { Resource r = (Resource) iter.next(); if (!r.isExists()) { + log("Skipping '" + r.getName() + "' because it doesn't exist."); continue; } diff --git a/src/main/org/apache/tools/ant/taskdefs/Untar.java b/src/main/org/apache/tools/ant/taskdefs/Untar.java index 5e3499076..967b473f8 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Untar.java +++ b/src/main/org/apache/tools/ant/taskdefs/Untar.java @@ -118,6 +118,13 @@ public class Untar extends Expand { * @since Ant 1.7 */ protected void expandResource(Resource srcR, File dir) { + if (!srcR.isExists()) { + throw new BuildException("Unable to untar " + + srcR.getName() + + " as the it does not exist", + getLocation()); + } + InputStream i = null; try { i = srcR.getInputStream();