将数据文件作为通用文件传递

时间:2014-03-06 17:07:09

标签: ant jena

我有一个包含这两项任务的ANT构建文件 -

<target name="ldm-validation">
<property name="graphFile"      value="${tools.dir}/build-config/SPARQL/*.ttl"/>
 <record name="${tools.dir}/build-config/SPARQL/BuildLog.txt" action="start"/>
  <foreach target="jena-sparql-validation" param="queryFile">
   <path>
    <fileset dir="${tools.dir}/build-config/SPARQL/Queries">
      <include name="*.rq"/>
    </fileset>
   </path>
  </foreach>
 <record name="${tools.dir}/build-config/SPARQL/BuildLog.txt" action="stop"/>

</target>

<target name="jena-sparql-validation">
   <java classname="arq.sparql" fork="true" outputproperty="javaresult" errorproperty="javaerror1">
       <arg value="--data=${graphFile}"/>
       <arg value="--query=${queryFile}"/>
       <jvmarg value="-Xmx1024M"/>
       <classpath>
          <path>
              <fileset dir="${jena.dir}/lib">
                <include name="*.jar"/>
              </fileset>
         </path>
       </classpath>
   </java>
   <fail message="Error at: ${javaerror1} in ${queryFile}">
       <condition>
        <not>
         <equals arg1="${javaerror1}" arg2=""/>
        </not>
      </condition>
   </fail>
<echo message="Result for ${queryFile} is: ${javaresult}"/>
</target>

但是当我跑步时,总是没有说 -

C:\CI-POC\tools\build-config\validate.all.xml:41: Error at: Failed to load data

无法使用属性名称“graphFile”获取数据文件。我不确定出了什么问题。任何人都可以提供帮助。

1 个答案:

答案 0 :(得分:1)

尝试按如下方式调用构建:

ant ldm-validation jena-sparql-validation

以便设置属性 graphFile queryFile 的值。

另一种选择是在两个目标之间创建依赖关系。

<target name="jena-sparql-validation" depends="ldm-validation">