собрать несколько проектов и очистить несколько проектов в одном файле сборки с помощью ANT - PullRequest
0 голосов
/ 21 марта 2012

У меня есть сомнения, я сделал этот файл сборки, чтобы собрать 3 разных проекта

<?xml version="1.0" encoding="UTF-8"?>
<project name="Trinity" basedir="." default="buildall">

   <target name="project1">
        <ant dir="C:/work/project1"/>
   </target>

   <target name="project2" depends="project1">
        <ant dir="C:/work/project2"/>
   </target>

   <target name="project3" depends="project1, project2">
        <ant dir="C:/work/project3"/>
   </target>

   <target name="buildall" depends="project3"/>

</project>

Это работает сейчас.Но я хочу также очистить проект перед сборкой.

На самом деле я хочу сделать следующее: C: / work / project1 ant clean build C: / work / project2 ant clean build C: / work /project3 ant clean build

Заранее спасибо.

обновление: благодаря быстрому ответу Алекса я создал новый файл build.xml со следующим.И я считаю, что работает хорошо, как вы думаете?.

<?xml version="1.0" encoding="UTF-8"?>
<project name="Trinity" basedir="." default="buildall">

   <target name="project1">
        <ant dir="C:/work/project1" target="clean"/>
        <ant dir="C:/work/project1" target="build"/>
   </target>

   <target name="project2" depends="project1">
        <ant dir="C:/work/project2" target="clean"/>
        <ant dir="C:/work/project2" target="build"/>
   </target>

   <target name="project3" depends="project1, project2">
        <ant dir="C:/work/project3" target="clean"/>
        <ant dir="C:/work/project3" target="build"/>
   </target>

   <target name="buildall" depends="project3"/>

</project>

Спасибо.

1 Ответ

1 голос
/ 21 марта 2012

В соответствии с задачей муравья , вы можете указать цели внешних файлов сборки муравья

<ant dir="C:/work/project1" target="clean build">

Редактировать:

Согласнок документации ant:

Вы можете указать несколько целей, используя вложенные элементы вместо использования атрибута target.Они будут выполняться так, как если бы Ant был вызван с единственной целью, чьи зависимости являются указанными целями, в указанном порядке.

Таким образом, вы можете перечислить несколько целей следующим образом:

<ant dir="C:/work/project1">
    <target name="clean" />
    <target name="build" />
</ant>

В качестве альтернативы вы можете определить новую цель в файлах build1xml Project1,2,3 с именем cleanBuild, которая, в свою очередь, вызовет clean, за которым следует build, если вы хотите сохранить ее как один XMLэлемент <ant dir="C:/work/project1" target="cleanBuild">

...