Несколько зависит от задачи муравья

Если у меня есть три цели, одна "все", одна "компилировать" и одна "jsps", как бы я сделал так, чтобы "все" зависело от двух других?

Будет ли это

<target name="all" depends="compile,jsps">

или это будет

<target name="all" depends="compile","jsps">

Или может быть что-то еще другое?

Я попытался найти, например, сценарии ant, чтобы основать его, но не смог найти один с несколькими зависимостями.

4 ответа

Решение

Бывший:

<target name="all" depends="compile,jsps">

Это задокументировано в Руководстве по муравьям.

Это топ.

Просто используйте тег echo, если хотите быстро убедиться в этом сами

<target name="compile"><echo>compile</echo></target>

<target name="jsps"><echo>jsps</echo></target>

<target name="all" depends="compile,jsps"></target>

Вы также можете посмотреть тег antcall, если вы хотите больше гибкости при заказе задач

<target name="all" depends="compile,jsps">

Это задокументировано в Руководстве по муравьям.

Альтернативный способ - использовать antcall, который является более гибким, если вы хотите запустить зависимые цели параллельно. Предполагая, что compile и jsps могут быть запущены параллельно (т.е. в любом порядке), вся цель может быть записана как:

<target name="all" description="all target, parallel">
  <parallel threadCount="2">
    <antcall target="compile"/>
    <antcall target="jsps"/>
  </parallel>
</target>

Обратите внимание, что если целевые объекты не могут быть запущены параллельно, предпочтительно использовать первый вариант с атрибутом зависимостей, поскольку вызовы antcall разрешаются только при выполнении, и если вызываемая цель не существует, сборка завершится неудачей только в этой точке.

Другие вопросы по тегам