Как заставить цель муравья ждать завершения другой цели - PullRequest
1 голос
/ 08 декабря 2011

В моей настройке сетки селена я должен сначала выполнить 2 модуля, которые будут создавать данные. Затем отдохните 6 модулей паралельно. В общей сложности у меня есть 8 целей для 8 различных модулей в build.xml. Я должен заставить все 6 целей ждать завершения начальных 2 целей. 1. Как я могу заставить цель муравья дождаться завершения двух остальных целей? 2. Если я разбил build.xml на 2 build.xmls, какая команда заставляет 2 файла сборки работать последовательно?

Ответы [ 2 ]

4 голосов
/ 08 декабря 2011

Если я правильно понимаю ваш вопрос, вы хотите, чтобы первые два модуля выполнялись параллельно, а остальные шесть параллельно. Вид как:

Time
 |   InitialModule1 InitialModule2
 |           |              |
 |           .              |
 |                          |
 |                          .
 |   Module3 Module4 Module5 Module6 Module7 Module8
 |      |       |       |       |       |       |
 |      v       v       v       v       v       v
 V

Если каждый модуль запускается своей собственной задачей Ant: task_one, task_two ... task_eight, вы можете сделать это, используя целевые зависимости Ant и задачу parallel . Целевые зависимости определяют порядок выполнения, например:

<target name="create_data">
    <parallel>
        <task_one ... />
        <task_two ... />
    </parallel>
</target>

<target name="do_work" depends="create_data">
    <parallel>
        <task_three ... />
         .
         .
         .
        <task_eight ... />
    </parallel>
</target>

Если каждый модуль сетки Selenium запускается серией задач, а не одной задачей, вы можете обернуть их в sequential задач. Если они реализованы как отдельные цели, то, возможно, antcall можно использовать внутри parallel задач.

1 голос
/ 08 декабря 2011

Использовать antcall ...

<project name="projectName" default="initialtarget1">
<target name="initialtarget1"> 
      <....> 

      </....>
      <antcall target="initialtarget2"/> 
      <antcall target="target1"/> 
      <antcall target="target2"/> 
      <antcall target="target3"/> 
      <antcall target="target4"/> 
</target> 
<target name="initialtarget2"> 
</target> 
<target name="target1"> 
</target> 
<target name="target2"> 
</target> 
<target name="target3"> 
</target> 
<target name="target4"> 
</target> 
</project>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...