2011-12-08 41 views
1

在我的硒网格设置中,我必须首先执行2个模块,这将创建数据。然后,平行休息6个模块。 完全我在build.xml中有8个不同模块的目标。我必须让所有6个目标等待最初的2个目标完成。 1.如何让蚂蚁目标等待其余两个目标完成执行? 2.如果我把build.xml分成2个build.xmls,哪个命令让2个构建文件顺序运行?如何让ant目标等待另一个目标完成

回答

1

使用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> 
4

如果我正确理解你的问题,你想最初两个模块并行执行,然后并行其余六个。有点像:

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 task做到这一点。如果每个硒网格模块由一系列的任务,而不是你可以在sequential任务包装这些单任务运行

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

:目标相关规定执行的顺序,有点像。如果它们作为单独的目标实施,那么在parallel任务内可能会使用antcall

相关问题