您的位置:首页 > 其它

Ant内置任务之checksum

2018-01-08 14:41 337 查看

一、概述

        checksum是Ant内置任务,用于生成文件校验和,也可以用来做校验和校验。还可以通过嵌套资源集合元素来选择要生成校验和的文件。

二、属性

        file:要生成校验和的文件。

        todir:写入校验和的文件位置。从Ant1.6开始如果不设置,校验和文件会与原文件保存在同一目录下。

        algorithm:计算校验和使用的算法。默认为“MD5”。

        provider:算法的提供者。

        fileext:生成的校验和文件的扩展名,默认为“.”加上使用的算法名。例如algorithm为默认值时,fileext的默认值即为“.MD5”。

        property:这个属性有两种含义,取决于verifyproperty属性是否设置。如果没有设置verifyproperty属性,property表示要将生成的校验和赋值给哪个属性。如果设置了verifyproperty属性,property表示你期望生成的校验和的值。当使用fileext或者要生成校验和的文件为多个时,不能设置这个属性。

        pattern:使用适用于java.text.MessageFormat模式的模式,从Ant1.7开始{0}代表校验和,{1}代表文件名。从Ant1.8.2开始,{2}代表文件相对于校验和所在位置的相对路径,{3}代表文件相对于project的basedir的路径,{4}代表文件的绝对路径。

        format:Ant1.7.0加入的,可以指定一个比较有名的模式,支持的值有:CHECKSUM,只是校验和;MD5SUM,GNU textutils md5sum格式;SVF,BSDs md5 command格式。此属性会使pattern属性失效。 

        totalproperty:Ant1.6.0引入的,如果设置此属性,该属性将指定保存所有校验和和文件路径的校验和的属性的名称。单个校验和和在资源集合中定义的文件的相对路径将被用来计算这个校验和。

        forceoverwrite:如果设置为“yes”,无论目标文件是否是最新的都会覆盖,默认为“no”。

        verifyproperty:根据生成的校验和与property设置的校验和进行比对,来决定此属性值对应的属性是true还是false,当设置此属性时,生成的校验和不会写入文件或property,而是使用文件或属性的内容来检查生成的校验和。

        readbuffersize:读取文件时缓冲区大小,默认为8192。

三、简单示例

<project>
<checksum file="build.xml" property="build.sha" algorithm="SHA-512" format="SVF"/>
<echo>${build.sha}</echo>
<checksum file="build.xml" property="${md5}" verifyProperty="isEqual"/>
<checksum file="child/build.xml" todir="child/result" fileext=".txt"
pattern="checksum:{0},filename:{1},path:{2},path2base:{3},absolutepath:{4}" forceoverwrite="yes"/>
</project>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息