stevel 2003/01/17 22:55:49 Modified: docs/manual/CoreTypes selectors.html Log: documentation of the <depends> selector. Dont expect me to follow up with tests, as I dont know where to begin on this one. Revision Changes Path 1.6 +80 -2 jakarta-ant/docs/manual/CoreTypes/selectors.html Index: selectors.html =================================================================== RCS file: /home/cvs/jakarta-ant/docs/manual/CoreTypes/selectors.html,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- selectors.html 8 Aug 2002 07:49:26 -0000 1.5 +++ selectors.html 18 Jan 2003 06:55:49 -0000 1.6 @@ -49,6 +49,8 @@ elsewhere <li><a href="#depthselect"><depth></a> - Select files that appear so many directories down in a directory tree + <li><a href="#differentselect"><different></a> - Select files + that are different from those elsewhere <li><a href="#filenameselect"><filename></a> - Select files whose name matches a particular pattern. Equivalent to the include and exclude elements of a patternset. @@ -58,7 +60,6 @@ that are larger or smaller than a particular number of bytes. </ul> - <a name="containsselect"></a> <h4>Contains Selector</h4> @@ -189,7 +190,7 @@ <td valign="top">The number of milliseconds leeway to give before deciding a file is out of date. This is needed because not every file system supports tracking the last modified time to the - millisecond level. Default is 0 milliseconds. + millisecond level. Default is 0 milliseconds, or 2 seconds on DOS systems. </td> <td valign="top" align="center">No</td> </tr> @@ -250,6 +251,83 @@ <p>Selects all files in the base directory and one directory below that.</p> + <a name="differentselect"> + <h4>Different Selector</h4> + + <p>The <code><different></code> tag selects files + who are deemed to be 'different' from another, equivalent file in + another location. The rules for determining difference between two + files are as follows: + <ol> + <li> If there is no 'other' file, it's different. + <li> Files with different lengths are different. + <li> Files with the same timestamp are the same, unless <tt>ignoreFileTimes</tt> + is set. This feature is useful to keep the selection fast. + <li> Finally a byte-for-byte check is run against the two files + </ol> + + This is a useful selector to work with programs and tasks that don't handle + dependency checking properly; Even if a predecessor task always creates its + output files, followup tasks can be driven off copies made with a different selector, + so their dependencies are driven on the absolute state of the files, not just + a timestamp. For example: anything fetched from a web site, or the output of + some program. To reduce the amount of checking, when using this task inside + a <copy> task, set the <tt>preservelastmodified</tt> to propagate the timestamp + from source file to destintaion file. + + + <p> + + The <code><different></code> tag supports the use of a + contained <a href="mapper.html"><code><mapper></code></a> element + to define the location of the file to be compared against. If no + <code><mapper></code> element is specified, the + <code>identity</code> type mapper is used.</p> + + <table border="1" cellpadding="2" cellspacing="0"> + <tr> + <td valign="top"><b>Attribute</b></td> + <td valign="top"><b>Description</b></td> + <td align="center" valign="top"><b>Required</b></td> + </tr> + <tr> + <td valign="top">targetdir</td> + <td valign="top">The base directory to look for the files to compare + against. The precise location depends on a combination of this + attribute and the <code><mapper></code> element, if any. + </td> + <td valign="top" align="center">Yes</td> + </tr> + <tr> + <td valign="top">granularity</td> + <td valign="top">The number of milliseconds leeway to give before + deciding a file is out of date. This is needed because not every + file system supports tracking the last modified time to the + millisecond level. Default is 0 milliseconds, or 2 seconds on DOS systems. + </td> + <td valign="top" align="center">No</td> + </tr> + <tr> + <td valign="top">ignoreFileTimes</td> + <td valign="top">Whether to use file times in the comparison or not. + Default is true. + </td> + <td valign="top" align="center">No</td> + </tr> + </table> + + <p>Here is an example of how to use the Different Selector:</p> + + <blockquote><pre> +<fileset dir="${ant.1.5}/src/main" includes="**/*.java"> + <different targetdir="${ant.1.4.1}/src/main" + ignoreFileTimes="true"/> +</fileset> +</pre></blockquote> + + <p>Compares all the Java source files between the 1.4.1 and the 1.5 release + and selects those who are different, disregarding file times. + </p> <a name="filenameselect"></a> <h4>Filename Selector</h4>
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>