2011-12-08 40 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

相關問題