Задача контрольной суммы в Ant не работает должным образом - PullRequest
1 голос
/ 08 февраля 2020

Я борюсь с небольшим муравьиным файлом / целью, которая выглядит следующим образом:

<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>

Цель должна создать файл zip из папки do c (это делает), а затем сохранить ха sh Значение zip-файла в свойство для дальнейшего использования. Однако значение ha sh не сохраняется в свойстве. Я получаю вывод следующим образом:

test:
     [echo] Starting target APIDOC
     [echo] /Users/user1/git/project/out/test.zip
     [echo] Hash wert ist TODO

BUILD SUCCESSFUL

У кого-нибудь есть идеи, что здесь не так?

1 Ответ

3 голосов
/ 08 февраля 2020

Свойства в Ant неизменны. Эта строка

<property name="apidoc.sha" value="TODO"/>

устанавливает значение, и после этого его нельзя изменить.

Если вы запустите ant с параметром командной строки -v, вы должны увидеть сообщение, подобное

Override ignored for property "apidoc.sha"

означает, что попытка изменить значение свойства в задаче <checksum> игнорируется.

...