diff options
Diffstat (limited to 'src/main/org/apache/tools/ant/taskdefs/ManifestTask.java')
-rw-r--r-- | src/main/org/apache/tools/ant/taskdefs/ManifestTask.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/main/org/apache/tools/ant/taskdefs/ManifestTask.java b/src/main/org/apache/tools/ant/taskdefs/ManifestTask.java index 2345b3137..f344a6b29 100644 --- a/src/main/org/apache/tools/ant/taskdefs/ManifestTask.java +++ b/src/main/org/apache/tools/ant/taskdefs/ManifestTask.java @@ -238,6 +238,14 @@ public class ManifestTask extends Task { error = new BuildException("Failed to read " + manifestFile, e, getLocation()); } + } else { + final File parent = manifestFile.getParentFile(); + if (parent != null && !parent.isDirectory() + && !(parent.mkdirs() || parent.isDirectory())) { + throw new BuildException( + "Failed to create missing parent directory for %s", + manifestFile); + } } // look for and print warnings |