цель ant build.xml для проверки кода отладки - PullRequest
0 голосов
/ 17 февраля 2012

При отладке я обычно использую такие вещи, как Zend_Debug и die () в PHP, чтобы найти проблему. Иногда я забываю вынуть их перед тем, как фиксировать мой код. Так что мне было интересно ...

Как мне написать цель ant build.xml , которая проверяет все файлы в моем приложении на наличие определенных строк и завершается ошибкой, если они были найдены?

По сути, я после обратной grep команды, которая завершается неудачно, когда находит строку.

Есть идеи?

Кроме того, учитывая, что мой build.xml файл выглядит следующим образом (я удалил большинство своих целей, чтобы сделать его коротким), как мне заставить его работать?
Я не знаю, как работает муравей , поэтому мне нужно «выпадающее» решение или хорошие инструкции.

<?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>

Ответы [ 2 ]

3 голосов
/ 17 февраля 2012

В пределах цели 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>
1 голос
/ 17 февраля 2012

Если вы можете использовать ant-contrib than:

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...