diff --git a/WHATSNEW b/WHATSNEW index 0820b41a2..9a2c56b50 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -86,7 +86,7 @@ Other changes: * Junit task -- display suite first. Bugzilla report 31962. -* has a new "overwrite" attribute that, when true, disables +* has a new "force" attribute that, when true, disables checking of target files. Changes from Ant 1.6.2 to current Ant 1.6 CVS version diff --git a/docs/manual/CoreTasks/apply.html b/docs/manual/CoreTasks/apply.html index 54d0fe982..44fde923c 100644 --- a/docs/manual/CoreTasks/apply.html +++ b/docs/manual/CoreTasks/apply.html @@ -256,7 +256,7 @@ to send input to it is via the input and inputstring attributes.

No, default is true - overwrite + force Whether to bypass timestamp comparisons for target files. Since Ant 1.7. No, default is false diff --git a/src/etc/testcases/taskdefs/exec/apply.xml b/src/etc/testcases/taskdefs/exec/apply.xml index 13eb5d210..0d5540ed6 100755 --- a/src/etc/testcases/taskdefs/exec/apply.xml +++ b/src/etc/testcases/taskdefs/exec/apply.xml @@ -378,7 +378,7 @@ - + @@ -393,7 +393,7 @@ - + diff --git a/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java b/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java index 9126d1e4d..f011430a5 100644 --- a/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java +++ b/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java @@ -60,6 +60,7 @@ public class ExecuteOn extends ExecTask { private boolean addSourceFile = true; private boolean verbose = false; private boolean ignoreMissing = true; + private boolean force = false; /** * Has <srcfile> been specified before <targetfile> @@ -180,6 +181,15 @@ public class ExecuteOn extends ExecTask { ignoreMissing = b; } + /** + * Whether to bypass timestamp comparisons for target files. + * + * @since Ant 1.7 + */ + public void setForce(boolean b) { + force = b; + } + /** * Marker that indicates where the name of the source file should * be put on the command line. @@ -563,13 +573,7 @@ public class ExecuteOn extends ExecTask { * be included on the command line. */ protected String[] getFiles(File baseDir, DirectoryScanner ds) { - if (mapper != null) { - SourceFileScanner sfs = new SourceFileScanner(this); - return sfs.restrict(ds.getIncludedFiles(), baseDir, destDir, - mapper); - } else { - return ds.getIncludedFiles(); - } + return restrict(ds.getIncludedFiles(), baseDir); } /** @@ -577,13 +581,7 @@ public class ExecuteOn extends ExecTask { * should be included on the command line. */ protected String[] getDirs(File baseDir, DirectoryScanner ds) { - if (mapper != null) { - SourceFileScanner sfs = new SourceFileScanner(this); - return sfs.restrict(ds.getIncludedDirectories(), baseDir, destDir, - mapper); - } else { - return ds.getIncludedDirectories(); - } + return restrict(ds.getIncludedDirectories(), baseDir); } /** @@ -593,14 +591,12 @@ public class ExecuteOn extends ExecTask { * @since Ant 1.6.2 */ protected String[] getFilesAndDirs(FileList list) { - if (mapper != null) { - SourceFileScanner sfs = new SourceFileScanner(this); - return sfs.restrict(list.getFiles(getProject()), - list.getDir(getProject()), destDir, - mapper); - } else { - return list.getFiles(getProject()); - } + return restrict(list.getFiles(getProject()), list.getDir(getProject())); + } + + private String[] restrict(String[] s, File baseDir) { + return (mapper == null || force) ? s + : new SourceFileScanner(this).restrict(s, baseDir, destDir, mapper); } /** diff --git a/src/testcases/org/apache/tools/ant/taskdefs/ExecuteOnTest.java b/src/testcases/org/apache/tools/ant/taskdefs/ExecuteOnTest.java index d24c7c3a5..428998b8a 100755 --- a/src/testcases/org/apache/tools/ant/taskdefs/ExecuteOnTest.java +++ b/src/testcases/org/apache/tools/ant/taskdefs/ExecuteOnTest.java @@ -554,8 +554,8 @@ public class ExecuteOnTest extends BuildFileTest { executeTarget("ignoremissing"); } - public void testOverwrite() { - executeTarget("overwrite"); + public void testForce() { + executeTarget("force"); } //borrowed from TokenFilterTest