2012-04-12 49 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