Ant 中的校验和任务未按预期工作
Checksum task in Ant not working as expected
我正在纠结一只小蚂蚁file/target如下:
<project name="test" default="test" basedir=".">
<property name="out.dir" value="${basedir}/out/"/>
<property name="apidoc.path" value="${out.dir}test.zip"/>
<property name="apidoc.input" value="${basedir}/../source//apidocs"/>
<property name="apidoc.sha" value="TODO"/>
<target name="test">
<echo message="Starting target APIDOC"/>
<zip destfile="${apidoc.path}" basedir="${apidoc.input}" update="no"/>
<echo message="${apidoc.path}"/>
<checksum file="${apidoc.path}" algorithm="SHA-256" property="apidoc.sha"/>
<echo message="Hash wert ist ${apidoc.sha}"/>
</target>
</project>
目标应该从 doc 文件夹创建一个 zip 文件(确实如此),然后将 zip 文件的哈希值存储到 属性 以供进一步使用。但是,散列值并未存储在 属性 中。我得到如下输出:
test:
[echo] Starting target APIDOC
[echo] /Users/user1/git/project/out/test.zip
[echo] Hash wert ist TODO
BUILD SUCCESSFUL
有人知道这里出了什么问题吗?
Ant 中的属性是不可变的。这行
<property name="apidoc.sha" value="TODO"/>
设置值,之后不能更改。
如果您 运行 使用 -v
命令行选项,您应该会看到类似
的消息
Override ignored for property "apidoc.sha"
表示正在忽略 <checksum>
任务中更改 属性 值的尝试。
我正在纠结一只小蚂蚁file/target如下:
<project name="test" default="test" basedir=".">
<property name="out.dir" value="${basedir}/out/"/>
<property name="apidoc.path" value="${out.dir}test.zip"/>
<property name="apidoc.input" value="${basedir}/../source//apidocs"/>
<property name="apidoc.sha" value="TODO"/>
<target name="test">
<echo message="Starting target APIDOC"/>
<zip destfile="${apidoc.path}" basedir="${apidoc.input}" update="no"/>
<echo message="${apidoc.path}"/>
<checksum file="${apidoc.path}" algorithm="SHA-256" property="apidoc.sha"/>
<echo message="Hash wert ist ${apidoc.sha}"/>
</target>
</project>
目标应该从 doc 文件夹创建一个 zip 文件(确实如此),然后将 zip 文件的哈希值存储到 属性 以供进一步使用。但是,散列值并未存储在 属性 中。我得到如下输出:
test:
[echo] Starting target APIDOC
[echo] /Users/user1/git/project/out/test.zip
[echo] Hash wert ist TODO
BUILD SUCCESSFUL
有人知道这里出了什么问题吗?
Ant 中的属性是不可变的。这行
<property name="apidoc.sha" value="TODO"/>
设置值,之后不能更改。
如果您 运行 使用 -v
命令行选项,您应该会看到类似
Override ignored for property "apidoc.sha"
表示正在忽略 <checksum>
任务中更改 属性 值的尝试。