ant/docs/manual/CoreTasks/checksum.html
Stefan Bodewig 2652cf805d Clarify docs
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@274421 13f79535-47bb-0310-9956-ffa450edef68
2003-04-09 14:31:47 +00:00

167 lines
5.8 KiB
HTML

<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<title>Checksum Task</title>
</head>
<body>
<h2><a name="checksum">Checksum</a></h2>
<h3>Description</h3>
<p>
Generates checksum for files. This task can also be used to
perform checksum verifications.
</p>
<h3>Parameters</h3>
<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">file</td>
<td valign="top">The file to generate checksum for.</td>
<td valign="top" align="center">One of either <var>file</var> or
at least one nested fileset element.</td>
</tr>
<tr>
<td valign="top">algorithm</td>
<td valign="top">Specifies the algorithm to be used to
compute the checksum. Defaults to &quot;MD5&quot;.
Other popular algorithms like &quot;SHA&quot; may be used
as well.
</td>
<td valign="top" align="center">No</td>
</tr>
<tr>
<td valign="top">provider</td>
<td valign="top">Specifies the provider of the algorithm.</td>
<td valign="top" align="center">No</td>
</tr>
<tr>
<td valign="top">fileext</td>
<td valign="top">The generated checksum file's name will be the
original filename with &quot;.&quot; and fileext added to it.
Defaults to the algorithm name being used.
</td>
<td valign="top" align="center">No</td>
</tr>
<tr>
<td valign="top">property</td>
<td valign="top">This attribute can mean two different things, it
depends on the presence of the verifyproperty attribute.<br/>
<b>If you don't set the verifyproperty attribute</b>, property
specifies the name of the property to be set with the generated
checksum value.<br/>
<b>If you set the verifyproperty attribute</b>, property specifies
the checksum you expect to be generated (the checksum itself, not
a name of a property containing the checksum).<br/>
This cannot be specified when fileext is being used or when the
number of files for which checksums is to be generated is greater
than 1.
</td>
<td valign="top" align="center">No</td>
</tr>
<tr>
<td valign="top">forceoverwrite</td>
<td valign="top">Overwrite existing files even if the destination
files are newer. Defaults to &quot;no&quot;.</td>
<td valign="top" align="center">No</td>
</tr>
<tr>
<td valign="top">verifyproperty</td>
<td valign="top">Specifies the name of the property to be set
with &quot;true&quot; or &quot;false&quot; depending upon whether
the generated checksum matches the existing checksum. When
this is set, the generated checksum is not written to a file or
property, but rather, the content of the file or property is used to
check against the generated checksum.
<td valign="top" align="center">No</td>
</tr>
<tr>
<td valign="top">readbuffersize</td>
<td valign="top">The size of the buffer )in bytes) to use when
reading a file. Defaults to &quot;8192&quot; - you may get a
better performance on big files if you increase this value.</td>
<td valign="top" align="center">No</td>
</tr>
</table>
<h3>Parameters specified as nested elements</h3>
<h4>fileset</h4>
<p>
<a href="../CoreTypes/fileset.html">FileSets</a> are used to select files to
generate checksums for.
</p>
<h3>Examples</h3>
<p><b>Example 1</b></p>
<pre>&lt;checksum file=&quot;foo.bar&quot;/&gt;</pre>
Generates a MD5 checksum for foo.bar and stores the checksum in the destination file
foo.bar.MD5. foo.bar.MD5 is overwritten only if foo.bar is newer than itself.
<p><b>Example 2</b></p>
<pre>&lt;checksum file=&quot;foo.bar&quot; forceOverwrite=&quot;yes&quot;/&gt;</pre>
Generates a MD5 checksum for foo.bar and stores the checksum in foo.bar.MD5.
If foo.bar.MD5 already exists, it is overwritten.
<p><b>Example 3</b></p>
<pre>&lt;checksum file=&quot;foo.bar&quot; property=&quot;foobarMD5&quot;/&gt;</pre>
Generates a MD5 checksum for foo.bar and stores it in the Project Property foobarMD5.
<p><b>Example 4</b></p>
<pre>&lt;checksum file=&quot;foo.bar&quot; verifyProperty=&quot;isMD5ok&quot;/&gt;</pre>
Generates a MD5 checksum for foo.bar, compares it against foo.bar.MD5 and sets
isMD5ok to either true or false, depending upon the result.
<p><b>Example 5</b></p>
<pre>&lt;checksum file=&quot;foo.bar&quot; algorithm=&quot;SHA&quot; fileext=&quot;asc&quot;/&gt;</pre>
Generates a SHA checksum for foo.bar and stores the checksum in the destination file
foo.bar.asc. foo.bar.asc is overwritten only if foo.bar is newer than itself.
<p><b>Example 6</b></p>
<pre>
&lt;checksum file=&quot;foo.bar&quot; property=&quot;${md5}&quot; verifyProperty=&quot;isEqual&quot;/&gt;
</pre>
Generates a MD5 checksum for foo.bar, compares it against the value of the property
md5, and sets isEqual to either true or false, depending upon the result.
<p><b>Example 7</b></p>
<pre>
&lt;checksum&gt;
&lt;fileset dir=&quot;.&quot;&gt;
&lt;include name=&quot;foo*&quot;/&gt;
&lt;/fileset&gt;
&lt;/checksum&gt;
</pre>
Works just like Example 1, but generates a .MD5 file for every file that begins with the name foo.
<p><b>Example 8</b></p>
<pre>
&lt;condition property=&quot;isChecksumEqual&quot;&gt;
&lt;checksum&gt;
&lt;fileset dir=&quot;.&quot;&gt;
&lt;include name=&quot;foo.bar&quot;/&gt;
&lt;/fileset&gt;
&lt;/checksum&gt;
&lt;/condition&gt;
</pre>
Works like Example 4, but only sets isChecksumEqual to true, if the
checksum matches - it will never be set to false. This example
demonstrates use with the Condition task.
<h3>Note:</h3>
When working with more than one file, if condition and/or verifyproperty is used,
the result will be true only if the checksums matched correctly for all files being
considered.
<hr><p align="center">Copyright &copy; 2001-2003 Apache Software Foundation. All rights
Reserved.</p>
</body>
</html>