2012-04-12 64 views
1

有沒有辦法導致Ant即使目標完成一個也不會退出?Ant - 繼續執行目標,即使一個目標完成了硒自動化

例如,可以執行多個目標,如果第一個目標停止,硒就會凍結。所有其他目標並行運行的其他目標都會停止。

如何讓ant繼續執行其他目標,即使完成一個。

我試着在目標水平上給-k,但沒用。我們有failonerror設置爲true。重要嗎?

這裏是我的構建文件:

<target name="startServerRC" depends="startServerhub"> 
     <echo>Starting Selenium Server...</echo> 
     <java jar="${lib.dir}/selenium-server-standalone.jar" fork="true" spawn="true"> 
      <arg line="-port 5555"/> 
      <arg line="-log log.txt"/> 
      <arg line="-firefoxProfileTemplate"/> 
      <arg value="${lib.dir}/ff_profile"/> 
      <arg line="-userExtensions"/> 
       <arg value="${lib.dir}/user-extensions.js"/> 
      <arg line="-role node"/> 
      <arg line="-hub http://localhost:4444/grid/register "/> 
      <arg line="-maxSession 10"/> 
      <arg line="-maxInstances=10"/> 
     </java> 
    </target> 

     <!-- Initialization --> 
    <target name="init" depends="startServerRC" > 
     <echo>Initlizing...</echo> 
     <delete dir="${classes.dir}" /> 
     <mkdir dir="${classes.dir}"/> 
    </target> 

    <!-- Complies the java files --> 
    <target name="compile" depends="init"> 
     <echo>Compiling...</echo> 
     <javac 
      debug="true" 
      srcdir="${src.dir}" 
      destdir="${classes.dir}" 
      classpathref="classpath" /> 
    </target> 

    <target name="CItarget">  
     <sequential> 
      <antcall target="compile"/> 
      <parallel> 
       <antcall target="run"/> 
       <antcall target="run_PSDATA"/> 
      </parallel> 
      <parallel> 
       <antcall target="run_PreData"/> 
       <antcall target="run_DFPPulls"/> 
       <antcall target="run_AdTechPulls"/> 
       <antcall target="run_AppnexusPulls"/> 
       <antcall target="run_FTPPulls"/> 
       <antcall target="run_OASPulls"/> 
       <antcall target="run_GDFPPulls"/> 
       <antcall target="run_FreewheelPulls"/> 
       <antcall target="run_ThirdPartyPulls"/> 
      </parallel> 
      <parallel> 
     <antcall target="run_PostData"/> 
       <antcall target="run_Sales"/> 
      </parallel> 
      <parallel> 
       <antcall target="run_Administration"/> 
       <antcall target="run_E2EPartner360"/> 
       <antcall target="run_Sales"/> 
       <antcall target="run_Finance"/> 
       <antcall target="run_Loaders"/> 
       <antcall target="run_Accounts"/> 
       <antcall target="run_Adops"/> 
      </parallel> 
      <parallel> 
       <antcall target="run_Alerts"/> 
       <antcall target="run_CustomFields"/> 
      </parallel> 
      <antcall target="stop-selenium"/> 
     </sequential> 
    </target> 

在此先感謝

+0

你的「buildfile」只是另一個問題。這是同一個問題嗎? – oers 2012-05-08 06:20:06

+0

是的,它同樣的問題 – farheen 2012-05-09 08:44:48

+0

我沒有發佈我的構建文件,而不是這個問題。這可能是我的同事 – farheen 2012-05-09 09:55:31

回答

2

你可以嘗試使用try-catch從螞蟻的contrib。從鏈接

例子:

<trycatch property="foo" reference="bar"> 
    <try> 
    <fail>Tada!</fail> 
    </try> 

    <catch> 
    <echo>In &lt;catch&gt;.</echo> 
    </catch> 

    <finally> 
    <echo>In &lt;finally&gt;.</echo> 
    </finally> 
</trycatch> 

如果成才失敗,則只會呼應的東西(或不提)。如果你需要確保最後一部分工作的很好,那麼服務器最終會關閉,即使有些事情在兩者之間出現困難。

還設置failonerror="false"應該使螞蟻不會因構建錯誤而失敗。

+0

謝謝,我會整合並讓你知道。 – farheen 2012-05-09 09:57:02

+0

+1 failonerror =「false」會做.... – lAH2iV 2012-05-14 08:36:16