自定义ANT任务

时间:2014-02-07 10:37:12

标签: ant

我有一个ANT build.xml文件,就像这样 -

<?xml version="1.0"?>
<project name="apache-jena-2.10.0" basedir="." default="notifyme">
 <target name="notifyme">
  <java classname-"arq.sparql" fork="true">
   <arg value="--data=C:\apache-jena-2.10.0\test.ttl"/>
   <arg value="--query=C:\apache-jena-2.10.0\ASKTest.rq"/>
   <jvmarg value="-Xmx1024M"/>
   <classpath>
    <path>
      <fileset dir="lib">
       <include name="*.jar"/>
      </fileset>
   </path>
  </classpath>
 </java>
</target>
</project>

这个build.xml基本上运行一个查询并返回一个specefic结果。 结果是这样的 -

notifyme:
         [java] Ask =>No
BUILD SUCCESSFUL
Total time : 1second

现在我的问题是,如果Ask =&gt;我可以通过任何方式使构建失败不,如果是,可以帮助我自定义ANT构建文件。

亲切的问候 索姆

1 个答案:

答案 0 :(得分:1)

java任务使用resultproperty属性。它将标准输出存储在给定的属性中。然后我们执行fail任务,conditions任务:

<?xml version="1.0"?>
<project name="apache-jena-2.10.0" basedir="." default="notifyme">
 <target name="notifyme">
  <java classname-"arq.sparql" fork="true" failonerror="false" outputproperty="javaresult">
   <arg value="--data=C:\apache-jena-2.10.0\test.ttl"/>
   <arg value="--query=C:\apache-jena-2.10.0\ASKTest.rq"/>
   <jvmarg value="-Xmx1024M"/>
   <classpath>
    <path>
      <fileset dir="lib">
       <include name="*.jar"/>
      </fileset>
   </path>
  </classpath>
 </java>
 <fail>
   <condition>
      <matches string="${javaresult} pattern="No"/>
   </condition>
 </fail>
</target>
</project>

没试过。但你可以得到这个想法。