【问题标题】:ant build.xml target to check for debug codeant build.xml 目标来检查调试代码
【发布时间】:2012-02-17 15:42:12
【问题描述】:

在调试时,我经常使用 PHP 中的 Zend_Debug 和 die() 之类的东西来定位问题。有时我会在提交代码之前忘记把这些拿出来。所以我想知道...

我如何编写一个 ant build.xml 目标来检查我的应用程序中的所有文件是否有特定的字符串,如果找到它们就会失败?

基本上,我正在执行反向 grep 命令,该命令在找到字符串时失败。

有什么想法吗?

另外,鉴于我的 build.xml 文件看起来像这样(我已经删除了大部分目标以使其简短),我该如何使其工作?
我不知道 ant 是如何工作的,所以我正在寻求“临时”解决方案或好的说明。

<?xml version="1.0" encoding="UTF-8"?>
<project name="API" default="build" basedir=".">
    <property name="source"  value="application"/>

    <target name="build" depends="prepare,lint,phpcpd,phpdox,phpunit,phpcb"/>

    <target name="clean" description="Cleanup build artifacts">
        <delete dir="${basedir}/build/api"/>
    </target>

    <target name="lint">
        <apply executable="php" failonerror="true">
            <arg value="-l" />
            <fileset dir="${basedir}/${source}">
                <include name="**/*.php" />
            </fileset>
            <fileset dir="${basedir}/tests">
                <include name="**/*.php" />
            </fileset>
        </apply>
    </target>
</project>

【问题讨论】:

    标签: ant


    【解决方案1】:

    lint 目标内(apply 元素之后)添加

    <fileset id="die-files" dir="${basedir}/${source}">
        <include name="**/*.php" />
        <contains text="die()"/>
    </fileset>
    <fail message="The following files contain "die()": ${ant.refid:die-files}">
        <condition>
            <resourcecount when="greater" count="0" refid="die-files"/>
        </condition>
    </fail>
    

    【讨论】:

      【解决方案2】:

      如果你可以使用 ant-contrib 比:

      <for param="file">
        <path>
          <fileset dir="/path/to/application/"/>
        </path>
        <sequential>
          <if>
            <contains string="@{file}" substring="bad elements"/>
            <then>
              <fail>warning! substring is present in directory</fail>
            </then>
          </if>
        </sequential>
      </for>
      

      【讨论】:

      • 谢谢 :) 我如何在 build.xml 文件中实际使用它?查看我对原始问题所做的修改。
      • - 创建一个目标: 并将目标名称添加到取决于“构建”目标
      • 我遇到了一个奇怪的错误,所以我选择了另一个解决方案。无论如何谢谢:)
      • 我认为出现这个奇怪的错误是因为你没有 ant-contrib。然而,汤姆霍华德的解决方案比我的要好得多
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多