Ant应用于整个文件集,并在最后引发错误



我在build.xml 中有以下工作

<target name="doubleEmptyLines">
    <apply executable="awk" failonerror="true">
        <arg value="BEGIN{bl=0}/^$/{bl++;if(bl>1) { print &quot;Double empty lines dedected in&quot; FILENAME; exit 1}}/^..*$/{bl=0}"/>
        <fileset dir="${sourcedir}">
            <include name="**/*.php" />
            <include name="**/*.js" />
        </fileset>
    </apply>
</target>

正如您所看到的,它查找双空行,例如函数声明之间的空行。它工作得很好,但它在第一次失败时就停止了,但我希望它能在整个文件集中继续运行,如果文件集中的任何文件出现错误,就会在最后抛出错误。

所以我可能会查看整个报告,看到每一个错误的文件,然后立即修复所有文件。

我怎样才能做到这一点?

我设法做到了这一点:

<target name="doubleEmptyLines">
    <apply verbose="true" executable="awk" outputproperty="doubleEmptyLinesResult" append="true">
        <arg value="BEGIN{bl=0}/^$/{bl++;if(bl>1) { print &quot;ERROR: Double empty lines dedected in&quot; FILENAME NR &quot;n&quot;; exit 1}}/^..*$/{bl=0}"/>
        <fileset dir="${sourcedir}">
            <include name="**/*.php" />
            <include name="**/*.js" />
        </fileset>
    </apply>
    <condition property="doubleEmptyLinesFound">
        <contains string="${doubleEmptyLinesResult}" substring="ERROR"/>
    </condition>
    <fail if="doubleEmptyLinesFound" message="Double lines found, output from script: ${doubleEmptyLinesResult}"/>
</target>

相关内容

  • 没有找到相关文章

最新更新