Browse Source

Pr 43016 improved error reporting on nothing to compress.

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@566707 13f79535-47bb-0310-9956-ffa450edef68
master
Jacobus Martinus Kruithof 18 years ago
parent
commit
054d49663e
2 changed files with 43 additions and 2 deletions
  1. +7
    -2
      src/main/org/apache/tools/ant/taskdefs/Pack.java
  2. +36
    -0
      src/tests/antunit/taskdefs/gzip-test.xml

+ 7
- 2
src/main/org/apache/tools/ant/taskdefs/Pack.java View File

@@ -88,9 +88,14 @@ public abstract class Pack extends Task {
* @param a the resource to pack as a single element Resource collection.
*/
public void addConfigured(ResourceCollection a) {
if (a.size() == 0) {
throw new BuildException("No resource selected, " + getTaskName()
+ " needs exactly one resource.");
}
if (a.size() != 1) {
throw new BuildException("only single argument resource collections"
+ " are supported as archives");
throw new BuildException(getTaskName()
+ " cannot handle multiple resources at once. (" + a.size()
+ " resources were selected.)");
}
setSrcResource((Resource) a.iterator().next());
}


+ 36
- 0
src/tests/antunit/taskdefs/gzip-test.xml View File

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<project default="antunit" xmlns:au="antlib:org.apache.ant.antunit">
<!-- note relies on antunit built from svn trunk (1.1-alpha) -->
<import file="../antunit-base.xml" />
<target name="setUp">
<mkdir dir="${java.io.tmpdir}/gzip-test" />
<mkdir dir="${java.io.tmpdir}/gzip-test/empty" />
<touch file="${java.io.tmpdir}/gzip-test/fileone" />
<touch file="${java.io.tmpdir}/gzip-test/filetwo" />
</target>
<target name="tearDown">
<delete includeemptydirs="true">
<fileset dir="${java.io.tmpdir}/gzip-test" />
</delete>
</target>
<target name="testFailNone">
<au:expectfailure expectedmessage="No resource selected, gzip needs exactly one resource." message="Should have thrown an exception">
<gzip destfile="${java.io.tmpdir}/gzip-test/file.gz">
<fileset dir="${java.io.tmpdir}/gzip-test/empty" />
</gzip>
</au:expectfailure>
</target>
<target name="testFailTwo">
<au:expectfailure expectedmessage="gzip cannot handle multiple resources at once. (2 resources were selected.)" message="Should have thrown an exception">
<gzip destfile="${java.io.tmpdir}/gzip-test/file.gz">
<fileset dir="${java.io.tmpdir}/gzip-test" />
</gzip>
</au:expectfailure>
</target>
</project>

Loading…
Cancel
Save