【发布时间】:2016-03-30 14:34:51
【问题描述】:
我只需要知道如何修改下面的代码,以便 ant 确定我的文本文件中的行数(请注意,这里的所有文本文件都将具有相同的行数,但该行数不固定)并自动执行它们基于循环。
<project name="ant-read-n-files" default="run" basedir=".">
<!-- Load the ant contrib lib -->
<taskdef resource="net/sf/antcontrib/antlib.xml">
<classpath>
<pathelement location="${basedir}/lib/ant-contrib.jar"/>
</classpath>
</taskdef>
<target name="read">
<!-- file a -->
<loadfile property="textFileA" srcfile="${basedir}/files/aaa.txt">
<filterchain>
<headfilter lines="1" skip="${linenum}"/>
</filterchain>
</loadfile>
<for param="line" list="${textFileA}" delimiter="${line.separator}">
<sequential>
<property name="textFileAValue" value="@{line}"/>
</sequential>
</for>
<!-- file b -->
<loadfile property="textFileB" srcfile="${basedir}/files/bbb.txt">
<filterchain>
<headfilter lines="1" skip="${linenum}"/>
</filterchain>
</loadfile>
<for param="line" list="${textFileB}" delimiter="${line.separator}">
<sequential>
<property name="textFileBValue" value="@{line}"/>
</sequential>
</for>
<!-- file c -->
<loadfile property="textFileC" srcfile="${basedir}/files/ccc.txt">
<filterchain>
<headfilter lines="1" skip="${linenum}"/>
</filterchain>
</loadfile>
<for param="line" list="${textFileC}" delimiter="${line.separator}">
<sequential>
<property name="textFileCValue" value="@{line}"/>
</sequential>
</for>
<!-- Print them all -->
<echo message="${textFileAValue}"/>
<echo message="${textFileBValue}"/>
<echo message="${textFileCValue}"/>
</target>
<target name="run">
<foreach param="linenum" list="0,1,2" target="read"/>
</target>
</project>
在这里,如您所见,list = "0,1,2" 表示循环将验证每个文本文件的前三行,但我希望这是动态的,具体取决于文件的行数。 在这里的任何帮助将不胜感激。
谢谢, 阿什利
【问题讨论】:
-
您是否考虑过将 SonarQube 集成到您的构建中?源代码计数是收集并报告给网络应用仪表板的指标之一。
标签: ant ant-contrib