2012-02-14 4 views
16

Я использую PHP_CodeSniffer с Дженкинс, мой build.xml был настроен на phpcs нижеКак Игнорирование длина линии PHP_CodeSniffer

<target name="phpcs"> 
    <exec executable="phpcs"> 
     <arg line="--report=checkstyle --report-file=${basedir}/build/logs/checkstyle.xml --standard=Zend ${source}"/> 
    </exec> 
</target> 

И я хотел бы игнорировать следующее предупреждение

FOUND 0 ERROR(S) AND 1 WARNING(S) AFFECTING 1 LINE(S) 
-------------------------------------------------------------------------------- 
117 | WARNING | Line exceeds 80 characters; contains 85 characters 
-------------------------------------------------------------------------------- 

Как я могу игнорировать предупреждение о длине строки?

+0

Hi dextervip. Вы используете плагин Jenkins для публикации ваших результатов phpcs? Я хотел бы узнать, как это устроено в Дженкинсе. Cheers, ns – nonshatter

+1

@ nonshatter Я использовал Нарушения puglin для публикации моих результатов. Он работает очень хорошо, просто установите его и включите в свой проект, ссылаясь на ваш XML-файл. – dextervip

+0

Спасибо @dextervip Я проверю это. Вчера я получил настройку, использующую плагин «checkstyle». Это дает некоторые хорошие отчеты с некоторыми графиками тенденций и т. Д. Больше информации интересует здесь: http://stackoverflow.com/a/12197103/1016364 – nonshatter

ответ

35

Вы можете создать свой собственный стандарт. Zend один довольно прост (это на /usr/share/php/PHP/CodeSniffer/Standards/Zend/ruleset.xml в моей установке Debian после установки его с PEAR). Создайте еще один основанный на нем, но игнорировать бит строки длины:

<?xml version="1.0"?> 
<ruleset name="Custom"> 
<description>Zend, but without linelength check.</description> 
<rule ref="Zend"> 
    <exclude name="Generic.Files.LineLength"/> 
</rule> 
</ruleset> 

И множество --standard=/path/to/your/ruleset.xml.

Необязательно, если вы просто хотите, чтобы на счете полукокса до этого срабатывает, переопределить правило:

<!-- Lines can be N chars long (warnings), errors at M chars --> 
<rule ref="Generic.Files.LineLength"> 
    <properties> 
    <property name="lineLimit" value="N"/> 
    <property name="absoluteLineLimit" value="M"/> 
    </properties> 
</rule> 
+1

Спасибо, вот что я искал! – dextervip

+0

Привет, Wrikken, вы знаете, где я могу найти файл для редактирования правила? Спасибо – nn2

+1

@DanJ .: как указано, не редактируйте существующее правило, не расширьте набор правил и не перепишите несколько правил. Если вы действительно хотите попасть в файл: это зависит, как правило, они встречаются в '/ usr/share/php /' где-то, как в ответе. – Wrikken

2
  1. поиск файла CodeSniffer/Стандарты/PEAR/ruleset.xml - на Mac/Linux вы можете найти в терминале:

    locate PEAR/ruleset.xml или sudo find/-name "ruleset.xml"

  2. Тогда вам нужно найти следующие строки в ruleset.xml:

    <!-- Lines can be 85 chars long, but never show errors --> <rule ref="Generic.Files.LineLength"> <properties> <property name="lineLimit" value="85"/> <property name="absoluteLineLimit" value="0"/> </properties> </rule>

  3. Просто измените номер 85 (максимальная длина линии), что вы хотите.

Обратите внимание, что стандартным стандартом кодирования phpc является стандарт PEAR. Поэтому вам необходимо изменить ruleset.xml в этом месте: CodeSniffer/Standards/PEAR/ruleset.xml

 Смежные вопросы

  • Нет связанных вопросов^_^