cvs commit: ant/src/main/org/apache/tools/ant/taskdefs ExecuteOn.java
peterreilly2005/01/25 03:22:24 Modified:src/main/org/apache/tools/ant/taskdefs ExecuteOn.java Log: javadoc on exceptions Revision ChangesPath 1.60 +5 -1 ant/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java Index: ExecuteOn.java === RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java,v retrieving revision 1.59 retrieving revision 1.60 diff -u -r1.59 -r1.60 --- ExecuteOn.java24 Jan 2005 21:55:44 - 1.59 +++ ExecuteOn.java25 Jan 2005 11:22:24 - 1.60 @@ -243,6 +243,7 @@ * Create a nested Mapper element to use for mapping * source files to target files. * @return Mapper. + * @throws BuildException if more than one mapper is defined. */ public Mapper createMapper() throws BuildException { if (mapperElement != null) { @@ -294,6 +295,7 @@ * Create the ExecuteStreamHandler instance that will be used * during execution. * @return ExecuteStreamHandler. + * @throws BuildException on error. */ protected ExecuteStreamHandler createHandler() throws BuildException { //if we have a RedirectorElement, return a decoy @@ -312,6 +314,7 @@ /** * Run the specified Execute object. * @param exe the Execute instance representing the external process. + * @throws BuildException on error */ protected void runExec(Execute exe) throws BuildException { int totalFiles = 0; @@ -642,7 +645,8 @@ * @param exe the Executable to use. * @param fileNames the Vector of filenames. * @param baseDirs the Vector of base directories corresponding to fileNames. - * + * @throws IOException on I/O errors. + * @throws BuildException on other errors. * @since Ant 1.6 */ protected void runParallel(Execute exe, Vector fileNames, - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/src/main/org/apache/tools/ant/taskdefs ExecuteOn.java
mbenson 2005/01/24 13:55:44 Modified:src/main/org/apache/tools/ant/taskdefs ExecuteOn.java Log: Javadoc Revision ChangesPath 1.59 +80 -51ant/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java Index: ExecuteOn.java === RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java,v retrieving revision 1.58 retrieving revision 1.59 diff -u -r1.58 -r1.59 --- ExecuteOn.java6 Dec 2004 19:27:13 - 1.58 +++ ExecuteOn.java24 Jan 2005 21:55:44 - 1.59 @@ -1,5 +1,5 @@ /* - * Copyright 2000-2004 The Apache Software Foundation. + * Copyright 2000-2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -68,14 +68,15 @@ protected boolean srcIsFirst = true; /** - * Source files to operate upon. + * Add a set of files upon which to operate. + * @param set the FileSet to add. */ public void addFileset(FileSet set) { filesets.addElement(set); } /** - * Adds directories to operate on. + * Add a set of directories upon which to operate. * * @param set the DirSet to add. * @@ -84,18 +85,21 @@ public void addDirset(DirSet set) { filesets.addElement(set); } + /** - * Source files to operate upon. + * Add a list of source files upon which to operate. + * @param list the FileList to add. */ public void addFilelist(FileList list) { filelists.addElement(list); } /** - * Whether the filenames should be passed on the command line as + * Set whether the filenames should be passed on the command line as * absolute or relative pathnames. Paths are relative to the base * directory of the corresponding fileset for source files or the * dest attribute for target files. + * @param relative whether to pass relative pathnames. */ public void setRelative(boolean relative) { this.relative = relative; @@ -103,38 +107,45 @@ /** + * Set whether to execute in parallel mode. * If true, run the command only once, appending all files as arguments. * If false, command will be executed once for every file. Defaults to false. + * @param parallel whether to run in parallel. */ public void setParallel(boolean parallel) { this.parallel = parallel; } /** - * Whether the command works only on files, directories or both? + * Set whether the command works only on files, directories or both. + * @param type a FileDirBoth EnumeratedAttribute. */ public void setType(FileDirBoth type) { this.type = type.getValue(); } /** - * If no source files have been found or are newer than their - * corresponding target files, do not run the command. + * Set whether empty filesets will be skipped. If true and + * no source files have been found or are newer than their + * corresponding target files, the command will not be run. + * @param skip whether to skip empty filesets. */ public void setSkipEmptyFilesets(boolean skip) { skipEmpty = skip; } /** - * The directory where target files are to be placed. + * Specify the directory where target files are to be placed. + * @param destDir the File object representing the destination directory. */ public void setDest(File destDir) { this.destDir = destDir; } /** - * The source and target file names on Windows and OS/2 must use - * forward slash as file separator. + * Set whether the source and target file names on Windows and OS/2 + * must use the forward slash as file separator. + * @param forwardSlash whether the forward slash will be forced. */ public void setForwardslash(boolean forwardSlash) { this.forwardSlash = forwardSlash; @@ -146,6 +157,9 @@ * * Set to <= 0 for unlimited - this is the default. * + * @param max int maximum number of sourcefiles + *passed to the executable. + * * @since Ant 1.6 */ public void setMaxParallel(int max) { @@ -153,10 +167,12 @@ } /** - * Whether to send the source file name on the command line. + * Set whether to send the source file name on the command line. * * Defaults to true. * + * @param b whether to add the source file to the command line. + * * @since Ant 1.6 */ public void setAddsourcefile(boolean
cvs commit: ant/src/main/org/apache/tools/ant/taskdefs ExecuteOn.java
mbenson 2004/11/16 13:46:46 Modified:.WHATSNEW src/testcases/org/apache/tools/ant/taskdefs ExecuteOnTest.java docs/manual/CoreTasks apply.html src/etc/testcases/taskdefs/exec apply.xml src/main/org/apache/tools/ant/taskdefs ExecuteOn.java Log: Change 's "overwrite" attribute name to "force". Also commit missing Java changes. Oops. Revision ChangesPath 1.685 +1 -1 ant/WHATSNEW Index: WHATSNEW === RCS file: /home/cvs/ant/WHATSNEW,v retrieving revision 1.684 retrieving revision 1.685 diff -u -r1.684 -r1.685 --- WHATSNEW 16 Nov 2004 20:58:22 - 1.684 +++ WHATSNEW 16 Nov 2004 21:46:46 - 1.685 @@ -86,7 +86,7 @@ * 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 1.8 +2 -2 ant/src/testcases/org/apache/tools/ant/taskdefs/ExecuteOnTest.java Index: ExecuteOnTest.java === RCS file: /home/cvs/ant/src/testcases/org/apache/tools/ant/taskdefs/ExecuteOnTest.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- ExecuteOnTest.java16 Nov 2004 20:58:22 - 1.7 +++ ExecuteOnTest.java16 Nov 2004 21:46:46 - 1.8 @@ -554,8 +554,8 @@ executeTarget("ignoremissing"); } -public void testOverwrite() { -executeTarget("overwrite"); +public void testForce() { +executeTarget("force"); } //borrowed from TokenFilterTest 1.33 +1 -1 ant/docs/manual/CoreTasks/apply.html Index: apply.html === RCS file: /home/cvs/ant/docs/manual/CoreTasks/apply.html,v retrieving revision 1.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- apply.html16 Nov 2004 20:58:22 - 1.32 +++ apply.html16 Nov 2004 21:46:46 - 1.33 @@ -256,7 +256,7 @@ No, default is true -overwrite +force Whether to bypass timestamp comparisons for target files. Since Ant 1.7. No, default is false 1.7 +2 -2 ant/src/etc/testcases/taskdefs/exec/apply.xml Index: apply.xml === RCS file: /home/cvs/ant/src/etc/testcases/taskdefs/exec/apply.xml,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- apply.xml 16 Nov 2004 20:58:22 - 1.6 +++ apply.xml 16 Nov 2004 21:46:46 - 1.7 @@ -378,7 +378,7 @@ - + @@ -393,7 +393,7 @@ - + 1.57 +18 -22ant/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java Index: ExecuteOn.java === RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java,v retrieving revision 1.56 retrieving revision 1.57 diff -u -r1.56 -r1.57 --- ExecuteOn.java16 Aug 2004 21:56:24 - 1.56 +++ ExecuteOn.java16 Nov 2004 21:46:46 - 1.57 @@ -60,6 +60,7 @@ private boolean addSourceFile = true; private boolean verbose = false; private boolean ignoreMissing = true; +private boolean force = false; /** * Hasbeen specified before @@ -181,6 +182,15 @@ } /** + * 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 @@ * 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 @@ * should be included on the command line. */ protected String[] getDirs(File baseDir, DirectoryScanner ds) { -if
cvs commit: ant/src/main/org/apache/tools/ant/taskdefs ExecuteOn.java
mbenson 2004/08/16 14:56:24 Modified:src/main/org/apache/tools/ant DirectoryScanner.java src/main/org/apache/tools/ant/types/optional/depend DependScanner.java src/main/org/apache/tools/ant/taskdefs ExecuteOn.java Log: differentiating between empty and up to date broke s. PR: 30567 Revision ChangesPath 1.73 +20 -0 ant/src/main/org/apache/tools/ant/DirectoryScanner.java Index: DirectoryScanner.java === RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/DirectoryScanner.java,v retrieving revision 1.72 retrieving revision 1.73 diff -u -r1.72 -r1.73 --- DirectoryScanner.java 13 May 2004 07:06:49 - 1.72 +++ DirectoryScanner.java 16 Aug 2004 21:56:24 - 1.73 @@ -1054,6 +1054,16 @@ } /** + * Return the count of included files. + * @return int. + * @since Ant 1.6.3 + */ +public int getIncludedFilesCount() { +if (filesIncluded == null) throw new IllegalStateException(); +return filesIncluded.size(); +} + +/** * Returns the names of the files which matched none of the include * patterns. The names are relative to the base directory. This involves * performing a slow scan if one has not already been completed. @@ -1119,6 +1129,16 @@ dirsIncluded.copyInto(directories); Arrays.sort(directories); return directories; +} + +/** + * Return the count of included directories. + * @return int. + * @since Ant 1.6.3 + */ +public int getIncludedDirsCount() { +if (dirsIncluded == null) throw new IllegalStateException(); +return dirsIncluded.size(); } /** 1.20 +11 -0 ant/src/main/org/apache/tools/ant/types/optional/depend/DependScanner.java Index: DependScanner.java === RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/types/optional/depend/DependScanner.java,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- DependScanner.java10 Aug 2004 17:55:41 - 1.19 +++ DependScanner.java16 Aug 2004 21:56:24 - 1.20 @@ -89,6 +89,12 @@ return files; } +//inherit doc +public int getIncludedFilesCount() { +if (included == null) throw new IllegalStateException(); +return included.size(); +} + /** * Scans the base directory for files that baseClass depends on * @@ -157,6 +163,11 @@ */ public String[] getIncludedDirectories() { return new String[0]; +} + +//inherit doc +public int getIncludedDirsCount() { +return 0; } /** 1.56 +2 -17 ant/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java Index: ExecuteOn.java === RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java,v retrieving revision 1.55 retrieving revision 1.56 diff -u -r1.55 -r1.56 --- ExecuteOn.java24 Jun 2004 19:44:02 - 1.55 +++ ExecuteOn.java16 Aug 2004 21:56:24 - 1.56 @@ -43,18 +43,6 @@ */ public class ExecuteOn extends ExecTask { -private class ExtendedDirectoryScanner extends DirectoryScanner { -public int getIncludedFilesCount() { -if (filesIncluded == null) throw new IllegalStateException(); -return filesIncluded.size(); -} - -public int getIncludedDirsCount() { -if (dirsIncluded == null) throw new IllegalStateException(); -return dirsIncluded.size(); -} -} - protected Vector filesets = new Vector(); // contains AbstractFileSet // (both DirSet and FileSet) private Vector filelists = new Vector(); @@ -293,10 +281,7 @@ } File base = fs.getDir(getProject()); -ExtendedDirectoryScanner ds = new ExtendedDirectoryScanner(); -fs.setupDirectoryScanner(ds, getProject()); -ds.setFollowSymlinks(fs.isFollowSymlinks()); -ds.scan(); +DirectoryScanner ds = fs.getDirectoryScanner(getProject()); if (!"dir".equals(currentType)) { String[] s = getFiles(base, ds); @@ -379,7 +364,7 @@ } if (fileNames.size() == 0 && skipEmpty) { -ExtendedDirectoryScanner ds = new ExtendedDirectoryScanner(); +DirectoryScanner ds = new DirectoryScanner();
cvs commit: ant/src/main/org/apache/tools/ant/taskdefs ExecuteOn.java
mbenson 2004/06/24 12:44:02 Modified:src/main/org/apache/tools/ant/taskdefs ExecuteOn.java Log: ignoremissing is merged! Revision ChangesPath 1.55 +1 -1 ant/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java Index: ExecuteOn.java === RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java,v retrieving revision 1.54 retrieving revision 1.55 diff -u -r1.54 -r1.55 --- ExecuteOn.java16 Jun 2004 16:41:38 - 1.54 +++ ExecuteOn.java24 Jun 2004 19:44:02 - 1.55 @@ -186,7 +186,7 @@ /** * Whether to ignore nonexistent files from filelists. * - * @since Ant 1.7 + * @since Ant 1.6.2 */ public void setIgnoremissing(boolean b) { ignoreMissing = b; - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/src/main/org/apache/tools/ant/taskdefs ExecuteOn.java
mbenson 2004/06/16 09:41:38 Modified:.WHATSNEW src/testcases/org/apache/tools/ant/taskdefs ExecuteOnTest.java src/etc/testcases/taskdefs/exec apply.xml docs/manual/CoreTasks apply.html src/main/org/apache/tools/ant/taskdefs ExecuteOn.java Log: Add ignoremissing attribute to . PR: 29585 Revision ChangesPath 1.624 +6 -0 ant/WHATSNEW Index: WHATSNEW === RCS file: /home/cvs/ant/WHATSNEW,v retrieving revision 1.623 retrieving revision 1.624 diff -u -r1.623 -r1.624 --- WHATSNEW 14 Jun 2004 12:23:49 - 1.623 +++ WHATSNEW 16 Jun 2004 16:41:38 - 1.624 @@ -33,6 +33,10 @@ * A new base class DispatchTask has been added to facilitate elegant creation of tasks with multiple actions. +* has a new ignoremissing attribute (default true for BC) + which will allow nonexistent files specified via s to + be passed to the executable. Bugzilla Report 29585. + Changes from Ant 1.6.1 to current Ant 1.6 CVS version = @@ -228,6 +232,8 @@ * Add implicit nested element to . Bugzilla Report 25633. * Add deleteonexit attribute to . + +* Added Target.getIf/Unless(). Bugzilla Report 29320. Changes from Ant 1.6.0 to Ant 1.6.1 = 1.6 +4 -0 ant/src/testcases/org/apache/tools/ant/taskdefs/ExecuteOnTest.java Index: ExecuteOnTest.java === RCS file: /home/cvs/ant/src/testcases/org/apache/tools/ant/taskdefs/ExecuteOnTest.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- ExecuteOnTest.java27 Mar 2004 21:22:59 - 1.5 +++ ExecuteOnTest.java16 Jun 2004 16:41:38 - 1.6 @@ -550,6 +550,10 @@ assertNull("unexpected redirector.err content", getFileString("redirector.err")); } +public void testIgnoreMissing() { +executeTarget("ignoremissing"); +} + //borrowed from TokenFilterTest private String getFileString(String filename) throws IOException { String result = null; 1.3 +41 -0 ant/src/etc/testcases/taskdefs/exec/apply.xml Index: apply.xml === RCS file: /home/cvs/ant/src/etc/testcases/taskdefs/exec/apply.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- apply.xml 27 Mar 2004 21:22:58 - 1.2 +++ apply.xml 16 Jun 2004 16:41:38 - 1.3 @@ -303,6 +303,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1.30 +6 -0 ant/docs/manual/CoreTasks/apply.html Index: apply.html === RCS file: /home/cvs/ant/docs/manual/CoreTasks/apply.html,v retrieving revision 1.29 retrieving revision 1.30 diff -u -r1.29 -r1.30 --- apply.html23 Apr 2004 14:44:43 - 1.29 +++ apply.html16 Jun 2004 16:41:38 - 1.30 @@ -248,6 +248,12 @@ Defaults to false. Since Ant 1.6. No + +ignoremissing +Whether to ignore nonexistent files specified + via filelists. Since Ant 1.7. +No, default is true + Parameters specified as nested elements fileset 1.54 +12 -2 ant/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java Index: ExecuteOn.java === RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java,v retrieving revision 1.53 retrieving revision 1.54 diff -u -r1.53 -r1.54 --- ExecuteOn.java23 Apr 2004 19:33:02 - 1.53 +++ ExecuteOn.java16 Jun 2004 16:41:38 - 1.54 @@ -71,6 +71,7 @@ private int maxParallel = -1; private boolean addSourceFile = true; private boolean verbose = false; +private boolean ignoreMissing = true; /** * Hasbeen specified before @@ -183,6 +184,15 @@ } /** + * Whether to ignore nonexistent files from filelists. + * + * @since Ant 1.7
cvs commit: ant/src/main/org/apache/tools/ant/taskdefs ExecuteOn.java
mbenson 2004/04/23 12:33:02 Modified:src/main/org/apache/tools/ant/taskdefs ExecuteOn.java Log: Make differentiate between empty and up-to-date filesets/lists. PR: 23734 Revision ChangesPath 1.53 +36 -5 ant/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java Index: ExecuteOn.java === RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java,v retrieving revision 1.52 retrieving revision 1.53 diff -u -r1.52 -r1.53 --- ExecuteOn.java27 Mar 2004 21:22:58 - 1.52 +++ ExecuteOn.java23 Apr 2004 19:33:02 - 1.53 @@ -43,6 +43,18 @@ */ public class ExecuteOn extends ExecTask { +private class ExtendedDirectoryScanner extends DirectoryScanner { +public int getIncludedFilesCount() { +if (filesIncluded == null) throw new IllegalStateException(); +return filesIncluded.size(); +} + +public int getIncludedDirsCount() { +if (dirsIncluded == null) throw new IllegalStateException(); +return dirsIncluded.size(); +} +} + protected Vector filesets = new Vector(); // contains AbstractFileSet // (both DirSet and FileSet) private Vector filelists = new Vector(); @@ -270,7 +282,11 @@ } } File base = fs.getDir(getProject()); -DirectoryScanner ds = fs.getDirectoryScanner(getProject()); + +ExtendedDirectoryScanner ds = new ExtendedDirectoryScanner(); +fs.setupDirectoryScanner(ds, getProject()); +ds.setFollowSymlinks(fs.isFollowSymlinks()); +ds.scan(); if (!"dir".equals(currentType)) { String[] s = getFiles(base, ds); @@ -291,8 +307,15 @@ } if (fileNames.size() == 0 && skipEmpty) { -log("Skipping fileset for directory " -+ base + ". It is empty.", Project.MSG_INFO); +int includedCount += ((!"dir".equals(currentType)) +? ds.getIncludedFilesCount() : 0) ++ ((!"file".equals(currentType)) +? ds.getIncludedDirsCount() : 0); + +log("Skipping fileset for directory " + base + ". It is " ++ ((includedCount > 0) ? "up to date." : "empty."), +Project.MSG_INFO); continue; } @@ -346,8 +369,16 @@ } if (fileNames.size() == 0 && skipEmpty) { -log("Skipping filelist for directory " -+ base + ". It is empty.", Project.MSG_INFO); +ExtendedDirectoryScanner ds = new ExtendedDirectoryScanner(); +ds.setBasedir(base); +ds.setIncludes(list.getFiles(getProject())); +ds.scan(); +int includedCount += ds.getIncludedFilesCount() + ds.getIncludedDirsCount(); + +log("Skipping filelist for directory " + base + ". It is " ++ ((includedCount > 0) ? "up to date." : "empty."), +Project.MSG_INFO); continue; } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: ant/src/main/org/apache/tools/ant/taskdefs ExecuteOn.java
On Fri, 27 Feb 2004, Matt Benson <[EMAIL PROTECTED]> wrote: > now I have to merge changes together... :) you have my sympathy. 8-) Stefan - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: ant/src/main/org/apache/tools/ant/taskdefs ExecuteOn.java
--- [EMAIL PROTECTED] wrote: > +* didn't compare timestamps of source and > targetfiles when > + using a nested . Bugzilla Report > 26985. Damn it, Stefan... now I have to merge changes together... :) __ Do you Yahoo!? Get better spam protection with Yahoo! Mail. http://antispam.yahoo.com/tools - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/src/main/org/apache/tools/ant/taskdefs ExecuteOn.java
bodewig 2004/02/27 06:57:32 Modified:.Tag: ANT_16_BRANCH WHATSNEW src/main/org/apache/tools/ant/taskdefs Tag: ANT_16_BRANCH ExecuteOn.java Log: Merge Revision ChangesPath No revision No revision 1.503.2.49 +3 -0 ant/WHATSNEW Index: WHATSNEW === RCS file: /home/cvs/ant/WHATSNEW,v retrieving revision 1.503.2.48 retrieving revision 1.503.2.49 diff -u -r1.503.2.48 -r1.503.2.49 --- WHATSNEW 27 Feb 2004 11:54:53 - 1.503.2.48 +++ WHATSNEW 27 Feb 2004 14:57:32 - 1.503.2.49 @@ -22,6 +22,9 @@ * Throw build exception if target repeated in build file, but allow targets to be repeated in imported files. +* didn't compare timestamps of source and targetfiles when + using a nested . Bugzilla Report 26985. + Other changes: -- No revision No revision 1.46.2.4 +18 -1 ant/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java Index: ExecuteOn.java === RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java,v retrieving revision 1.46.2.3 retrieving revision 1.46.2.4 diff -u -r1.46.2.3 -r1.46.2.4 --- ExecuteOn.java9 Feb 2004 22:12:18 - 1.46.2.3 +++ ExecuteOn.java27 Feb 2004 14:57:32 - 1.46.2.4 @@ -312,7 +312,7 @@ for (int i = 0; i < filelists.size(); i++) { FileList list = (FileList) filelists.elementAt(i); File base = list.getDir(getProject()); -String[] names = list.getFiles(getProject()); +String[] names = getFilesAndDirs(list); for (int j = 0; j < names.length; j++) { File f = new File(base, names[j]); @@ -533,6 +533,23 @@ mapper); } else { return ds.getIncludedDirectories(); +} +} + +/** + * Return the list of files or directories from this FileList that + * should be included on the command line. + * + * @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()); } } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/src/main/org/apache/tools/ant/taskdefs ExecuteOn.java
bodewig 2004/02/27 06:54:58 Modified:.WHATSNEW src/main/org/apache/tools/ant/taskdefs ExecuteOn.java Log: with nested didn't check out-of-dateness. PR: 26985 Revision ChangesPath 1.558 +3 -0 ant/WHATSNEW Index: WHATSNEW === RCS file: /home/cvs/ant/WHATSNEW,v retrieving revision 1.557 retrieving revision 1.558 diff -u -r1.557 -r1.558 --- WHATSNEW 27 Feb 2004 14:17:41 - 1.557 +++ WHATSNEW 27 Feb 2004 14:54:58 - 1.558 @@ -64,6 +64,9 @@ * Throw build exception if target repeated in build file, but allow targets to be repeated in imported files. +* didn't compare timestamps of source and targetfiles when + using a nested . Bugzilla Report 26985. + Other changes: -- 1.50 +18 -1 ant/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java Index: ExecuteOn.java === RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java,v retrieving revision 1.49 retrieving revision 1.50 diff -u -r1.49 -r1.50 --- ExecuteOn.java9 Feb 2004 21:05:19 - 1.49 +++ ExecuteOn.java27 Feb 2004 14:54:58 - 1.50 @@ -312,7 +312,7 @@ for (int i = 0; i < filelists.size(); i++) { FileList list = (FileList) filelists.elementAt(i); File base = list.getDir(getProject()); -String[] names = list.getFiles(getProject()); +String[] names = getFilesAndDirs(list); for (int j = 0; j < names.length; j++) { File f = new File(base, names[j]); @@ -533,6 +533,23 @@ mapper); } else { return ds.getIncludedDirectories(); +} +} + +/** + * Return the list of files or directories from this FileList that + * should be included on the command line. + * + * @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()); } } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/src/main/org/apache/tools/ant/taskdefs ExecuteOn.java
bodewig 2003/06/25 05:13:52 Modified:src/main/org/apache/tools/ant/taskdefs ExecuteOn.java Log: Remove paste error Revision ChangesPath 1.41 +0 -4 ant/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java Index: ExecuteOn.java === RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java,v retrieving revision 1.40 retrieving revision 1.41 diff -u -r1.40 -r1.41 --- ExecuteOn.java24 Jun 2003 09:16:10 - 1.40 +++ ExecuteOn.java25 Jun 2003 12:13:52 - 1.41 @@ -115,10 +115,6 @@ /** * Adds directories to operate on. * - * Note that the directories will be added to the build - * path in no particular order, so if order is significant, one - * should use a file list instead! - * * @param set the DirSet to add. * * @since Ant 1.6 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/src/main/org/apache/tools/ant/taskdefs ExecuteOn.java
bodewig 2003/06/24 02:16:11 Modified:.WHATSNEW docs/manual/CoreTasks apply.html chmod.html docs/manual/OptionalTasks attrib.html chgrp.html chown.html src/main/org/apache/tools/ant/taskdefs ExecuteOn.java Log: Add support for nested dirsets to and thus to a couple of subclass-tasks as well. PR: 20687 Submitted by: Gus Heck Revision ChangesPath 1.443 +7 -7 ant/WHATSNEW Index: WHATSNEW === RCS file: /home/cvs/ant/WHATSNEW,v retrieving revision 1.442 retrieving revision 1.443 diff -u -r1.442 -r1.443 --- WHATSNEW 24 Jun 2003 08:44:02 - 1.442 +++ WHATSNEW 24 Jun 2003 09:16:10 - 1.443 @@ -335,13 +335,13 @@ * has a new attribute encoding. Bugzilla Report 15434. * has new attributes user and password for SMTP auth. -maillogger can also use this. -The implementation only with JavaMail (encoding="MIME"). -Implementation with plain mail remains to do. -Bugzilla Report 5969. + maillogger can also use this. + The implementation only works with JavaMail (encoding="MIME"). + Implementation with plain mail remains to do. + Bugzilla Report 5969. * and mailloger support SMTP over TLS/SSL -Bugzilla Report 19180. + Bugzilla Report 19180. * can now be defined in the main body of a project and referred to with refid="xyz". Bugzilla Report 17007. @@ -404,8 +404,8 @@ * With the new addsourcefile attribute, you can make ommit the source file names from the command line. Bugzilla Report 13654. -* and now support nested s as well. - Bugzilla Report 15929. +* and now support nested s as well as s. + Bugzilla Reports 15929 and 20687. * and will display a summary if you set the new verbose attribute to true. Bugzilla Report 19883. 1.22 +13 -4 ant/docs/manual/CoreTasks/apply.html Index: apply.html === RCS file: /home/cvs/ant/docs/manual/CoreTasks/apply.html,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- apply.html19 May 2003 12:18:08 - 1.21 +++ apply.html24 Jun 2003 09:16:10 - 1.22 @@ -15,9 +15,10 @@ the command is only executed when Ant is run on one of the specified operating systems. The files and/or directories of a number of FileSets or FileLists are passed as arguments -to the system command. +href="../CoreTypes/fileset.html">FileSets, DirSets (since Ant 1.6) +or FileLists (since Ant +1.6) are passed as arguments to the system command. If you specify a nested mapper and the dest attribute, the timestamp of each source file is compared to the timestamp of a @@ -137,7 +138,10 @@ One of file, dir or both. If set to file, only the names of plain files will be sent to the command. If set to dir, only - the names of directories are considered. + the names of directories are considered. + Note: The type attribute does not apply to + nested dirsets - dirsets always implicitly + assume type to be dir. No, default is file @@ -191,6 +195,11 @@ You can use any number of nestedelements to define the files for this task and refer to s defined elsewhere. +dirset +Since Ant 1.6 +You can use any number of nested +elements to define the directories for this task and refer to + s defined elsewhere. arg Command line arguments should be specified as nested elements. See See the section on directory based tasks, on how the inclusion/exclusion of files works, and how to write patterns. -This task holds an implicit FileSet and -supports all of FileSet's attributes and nested elements -directly. More FileSets can be specified using nested - elements. + +This task holds an implicit FileSet and supports all of +FileSet's attributes and nested elements directly. More sets can be +specified using nested or + (since Ant 1.6) elements. Starting with Ant 1.6, this task also supports nested filelists. @@ -75,7 +77,10 @@ One of file, dir or both. If set to file, only the permissions of plain files are going to be changed. If set to dir, only - the directories are considered. + the directories are considered. + Note: The type attribute does not apply to + nested dirsets - dirsets always implicitly + assume type to be dir. No, default is file @@ -100,7 +105,8 @@ UNIX system. - + makes all ".sh" files below ${dist}/bin @@ -1
cvs commit: ant/src/main/org/apache/tools/ant/taskdefs ExecuteOn.java
bodewig 2003/03/27 05:14:31 Modified:.WHATSNEW docs/manual/CoreTasks apply.html src/main/org/apache/tools/ant/taskdefs ExecuteOn.java Log: Add a forwardslash attribute to Submitted by: Zdenek Wagner Revision ChangesPath 1.374 +5 -0 ant/WHATSNEW Index: WHATSNEW === RCS file: /home/cvs/ant/WHATSNEW,v retrieving revision 1.373 retrieving revision 1.374 diff -u -r1.373 -r1.374 --- WHATSNEW 27 Mar 2003 10:02:02 - 1.373 +++ WHATSNEW 27 Mar 2003 13:14:31 - 1.374 @@ -179,6 +179,11 @@ * New task that synchronizes two directory trees. +* has new forwardslash attribute that can force filenames to + use forward slashes (/) as file separators even on platforms with a + different separator. This is useful if you want to run certain + ported Unix tools. + Changes from Ant 1.5.2 to Ant 1.5.3 === 1.19 +9 -1 ant/docs/manual/CoreTasks/apply.html Index: apply.html === RCS file: /home/cvs/ant/docs/manual/CoreTasks/apply.html,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- apply.html26 Sep 2002 13:55:28 - 1.18 +++ apply.html27 Mar 2003 13:14:31 - 1.19 @@ -58,6 +58,14 @@ No, default is false +forwardslash +whether the absolute file names should be passed + with forward slashes even if the operating system requires other + file separator. The option is ignored if the system file separator + is a forward slash. +No, default is false + + os list of Operating Systems on which the command may be executed. @@ -220,7 +228,7 @@ .o, replacing TARGETFILE with the absolute filename of the .o and SOURCEFILE with the absolute name of the .c file. -Copyright © 2000-2002 Apache Software Foundation. All rights +Copyright © 2000-2003 Apache Software Foundation. All rights Reserved. 1.38 +18 -1 ant/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java Index: ExecuteOn.java === RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java,v retrieving revision 1.37 retrieving revision 1.38 diff -u -r1.37 -r1.38 --- ExecuteOn.java7 Mar 2003 11:23:01 - 1.37 +++ ExecuteOn.java27 Mar 2003 13:14:31 - 1.38 @@ -1,7 +1,7 @@ /* * The Apache Software License, Version 1.1 * - * Copyright (c) 2000-2002 The Apache Software Foundation. All rights + * Copyright (c) 2000-2003 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without @@ -83,6 +83,7 @@ protected Vector filesets = new Vector(); private boolean relative = false; private boolean parallel = false; +private boolean forwardSlash = false; protected String type = "file"; protected Commandline.Marker srcFilePos = null; private boolean skipEmpty = false; @@ -145,6 +146,14 @@ } /** + * The source and target file names on Windows and OS/2 must use + * forward slash as file separator. + */ +public void setForwardslash(boolean forwardSlash) { +this.forwardSlash = forwardSlash; +} + +/** * Marker that indicates where the name of the source file should * be put on the command line. */ @@ -284,6 +293,7 @@ * @param baseDir filenames are relative to this dir */ protected String[] getCommandline(String[] srcFiles, File[] baseDirs) { +final char fileSeparator = File.separatorChar; Vector targets = new Vector(); if (targetFilePos != null) { Hashtable addedFiles = new Hashtable(); @@ -297,6 +307,9 @@ } else { name = subTargets[j]; } +if (forwardSlash && fileSeparator != '/') { +name = name.replace(fileSeparator, '/'); +} if (!addedFiles.contains(name)) { targets.addElement(name); addedFiles.put(name, name); @@ -379,6 +392,10 @@ (new File(baseDirs[i], srcFiles[i])).getAbsolutePath(); } else { result[srcIndex + i] = srcFiles[i]; +} +if (forwardSlash && fileSeparator != '/') { +result[srcIndex + i] = +result[srcIndex + i].replace(fileSeparator, '/');