При использовании Ant с Jenkins php lint не завершается с ошибками на неизмененных файлах

Извините за название, так как я понятия не имею, что это должно быть.

Я использую Ant для выполнения php lint для Jenkins CI, и процесс кэширует результаты (cache.properties). Однако, если файл не изменяется, то следующий проход не завершится неудачно, но это должно произойти, поскольку файл по-прежнему недействителен. Это нормальное поведение? Как я могу сказать ему не кэшировать сбойный файл или есть другой способ решить эту проблему?

1

Решение

Это решение, которое я придумала (я использую Jenkins на Windows, поэтому настройте ОС соответственно):

Установите плагин: Задача пост-сборки (она старая, поэтому она будет установлена ​​как задача пост-сборки Hudson Post).

Сконфигурируйте задачу Post build (это раздел) под названием Post build task (плагин) следующим образом:

Текст журнала: Разбор ошибок
Скрипт: del cache.properties

Неуклюжий, но это работает.

1

Другие решения

Я бы порекомендовал перейти на другой php linter .. например, если вы используете возвышенный текст => https://packagecontrol.io/packages/SublimeLinter-phplint

0

У меня была проблема, похожая на эту, что я сделал, чтобы удалить <modified /> узел из набора файлов для цели lint. Смотрите пример ниже.

Это то, что у меня было, когда я столкнулся с проблемой

<target name="lint"unless="lint.done"description="Perform syntax check of sourcecode files">
<apply executable="php" taskname="lint">
<arg value="-l" />

<fileset dir="${basedir}/src">
<include name="**/*.php" />
<modified />
</fileset>

<fileset dir="${basedir}/tests">
<include name="**/*.php" />
<modified />
</fileset>
</apply>

<property name="lint.done" value="true"/>
</target>

Вот как сейчас выглядит моя цель.

<target name="lint"unless="lint.done"description="Perform syntax check of sourcecode files">
<apply executable="php" taskname="lint">
<arg value="-l" />

<fileset dir="${basedir}/src">
<include name="**/*.php" />
</fileset>

<fileset dir="${basedir}/tests">
<include name="**/*.php" />
</fileset>
</apply>

<property name="lint.done" value="true"/>
</target>

Я надеюсь, что это помогает кому-то

0
По вопросам рекламы [email protected]