我正在尝试在多个目标中重用ant文件集。但是无法让它发挥作用:
<project name="calltivation" default="build">
<fileset id="components" dir="${basedir}/components/com_calltivation">
<include name="**/*.php"/>
<!-- Exclude the unittest folder here -->
<exclude name="**/unittest/**"/>
<modified/>
</fileset>
<fileset id="modules" dir="${basedir}/modules">
<include name="**/*calltivation*/*.php"/>
<modified/>
</fileset>
<fileset id="plugins" dir="${basedir}/plugins">
<include name="**/*calltivation*/*.php"/>
<modified/>
</fileset>
....
.......
<target name="lint" description="Perform syntax check of sourcecode files">
<apply executable="php" failonerror="true">
<arg value="-l"/>
<path rfid="components"/>
<path rfid="modules"/>
<path rfid="components"/>
</apply>
</target>
</project>
当我尝试运行它时:
路径不支持“rfid”属性
在目标中引用文件集的正确方法是什么?任何想法?
答案 0 :(得分:0)
对于任何面临这个愚蠢问题的人:
将文件集包装在路径元素中:
<path id="sources">
<fileset id="components" dir="${basedir}/components/com_calltivation">
<include name="**/*.php"/>
<!-- Exclude the unittest folder here -->
<exclude name="**/unittest/**"/>
<modified/>
</fileset>
<fileset id="modules" dir="${basedir}/modules">
<include name="**/*calltivation*/*.php"/>
<modified/>
</fileset>
<fileset id="plugins" dir="${basedir}/plugins">
<include name="**/*calltivation*/*.php"/>
<modified/>
</fileset>
</path>
然后使用refid:
<target name="lint" description="Perform syntax check of sourcecode files">
<apply executable="php" failonerror="true">
<arg value="-l"/>
<path refid="sources"/>
</apply>
</target>
希望它可以帮助某人。或者至少我将来