2014-02-05 5 views
1

Я установил SonarQube™ и PHP Plugin.Где находится репозиторий «Стандарты» PHP CodeSniffer с гидролокатором PHP-плагина?

Я хочу добавить новое правило CodeSniffer, как указано в http://docs.codehaus.org/display/SONAR/PHP+Custom+Coding+Rules.

Однако я не могу найти местоположение «стандартного» хранилища, в котором содержатся существующие правила (PEAR, Squiz, Generic ...). Поэтому я не знаю, где я должен добавить свой новый файл, соответствующий правилу xml, которое я определил в настройках сонара.

Возможно, я что-то пропустил, но я посмотрел в каждой папке в плагине PHP и не нашел эту «стандартную» папку. Я даже извлек контент из .jar-файлов плагина и даже посмотрел на остальную часть моего диска, если репозиторий кода сниффера был где-то еще.

Вы можете мне помочь?

Спасибо.

ответ

0

Стандартная папка принадлежит PHP_CodeSniffer не к SonorCube. Он находится внутри установки PHP_Codesniffer (что зависит от того, как вы установили PHP_CodeSniffer на вашем компьютере). Если вы обнаружили, что папка «Стандарты» находится под

PHP_CodeSniffer/CodeSniffer/Standards/ 

Я предполагаю, что вы хотите выполнить правило внутри SonarCube. Я не знаю SonarCube, но я уверен, что вам нужно настроить путь к PHP_CodeSniffer где-нибудь. После того, как сделано, что его, как говорится в доку:

<?xml version="1.0" encoding="UTF-8"?> 
<rules> 

    <rule key="PEAR.Commenting.FileComment.TagIndent" priority="MAJOR"> 
    <!-- name, configKey, description are mandatory --> 
    <name>Tag comment incorrectly indented</name> 
    <configKey>TAG_INDENT</configKey> 
    <description>@category tag comment incorrectly indented</description> 
    </rule> 

    <rule key="...> 
    ... 
    </rule> 

</rules> 

С:

 PEAR   Commenting   FileComment     TagIndent 
<standard_folder>.<sniff_subfolder>.<sniff_file_without_sniff_suffix>.<error_name> 

путь является:

  1. Установите PHP_Codesniffer (с помощью Composer, груша или ясно из Github) [1]
  2. Установить путь к PHP_Codesniffer внутри SonarCube
  3. Конфигурирование правил

[1] https://github.com/squizlabs/PHP_CodeSniffer

+0

Спасибо, что ответили мне. – Marine

+0

Но проблема в том, что я не устанавливал код отдельно, он был включен с пакетом плагинов php сонара. И этот плагин не использует только коды, другие правила проверяются для анализа проектов php.Вот почему было более полезно использовать этот плагин, чем устанавливать другие компоненты в другом месте. Поэтому я не полностью понимаю документацию по сонару, так как не могу найти папку стандартных кодов. – Marine

+0

Как вы можете видеть здесь [1], PHP_CodeSniffer и другие инструменты включены как файлы PHAR. Это сжатый файл со всеми файлами PHP. Но вы также можете увидеть, что рекомендуется устанавливать собственные внешние версии программ через PEAR. [1] http://docs.codehaus.org/display/SONAR/Installing+PHP+Environment –

0
  1. Получить правила (pSR1, PSR2, или ваш собственный) отсюда: http://docs.codehaus.org/display/SONAR/PHP+Custom+Coding+Rules
  2. Скопируйте и вставьте их, как описано здесь, в Codesniffer Plugin пользовательских правил: http://docs.codehaus.org/display/SONAR/PHP+Custom+Coding+Rules
  3. Загрузка и восстановление профилей, как описано в 1

Прекрасно работает с SonarQube 4.1.1

+1

Обе ссылки не работают. – Avi

0

Я опаздываю, но последний сонар использует свой собственный механизм правил, поэтому больше не зависит от CodeSniffer. Для меня это означает, что я больше не могу запускать свой код для проверки кода Symfony2 на Sonar, печально ...