Скрипты сборки Ant - PullRequest
       14

Скрипты сборки Ant

0 голосов
/ 26 мая 2010

Я использую ant-скрипт для создания файла войны, он будет генерировать файл войны.смотрите скрипт ниже

<target name="war" depends="build">
  <mkdir dir="${dist}" /> 
  <jar destfile="${dist}/${proj_name}.war" basedir="${build}" />
</target>

Если он генерирует новый файл войны, то я хочу иметь свойство для установки значения как "newupdates", иначе я хочу знать "noupdates"

1 Ответ

1 голос
/ 26 мая 2010

Стратегия для этого может заключаться в использовании задачи UpToDate для установки свойства. Вам просто нужно скопировать файл war в war.bak сразу после проверки обновлений, чтобы подготовиться к следующему запуску.

Другая стратегия (возможно, даже лучше) состоит в том, чтобы использовать задачу UpToDate, чтобы определить, нужно ли генерировать войну, установив свойство, например, myuptodateproperty. Затем назовите свою цель генерации войны и убедитесь, что она имеет ограничение if=${myuptodateproperty}, чтобы не восстанавливать войну, если она не нужна.

Вы можете использовать что-то в строке (непроверенный код, может потребоваться некоторая работа):

<target name="war" depends="clean,fillbuildanddist,build">
  <mkdir dir="${dist}" />
  <uptodate targetfile="${dist}/${proj_name}.war" property="uptodatewar">
    <fileset dir="${build}" />
  </uptodate>
  <antcall target="makewar" />
</target>

<target name="makewar" unless="uptodatewar">
  <jar destfile="${dist}/${proj_name}.war" basedir="${build}" />
</target>

При этом свойство uptodatewar должно быть установлено на true только в том случае, если война не нуждается в восстановлении, и, таким образом, задача jar будет вызываться только в этом случае. В целях, которые зависят от цели war, вы можете использовать uptodatewar для выполнения задач, только если война новая.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...