2016-01-18 5 views
1

Я настраиваю проверку стиля кода для моего проекта. Существуют некоторые стандартные правила, которые я хочу настроить. Для этого я создал файл с именем checkstyle.xml:Конфигурация пользовательского checkstyle игнорирует стандартные правила?

<?xml version="1.0"?> 
<!DOCTYPE module PUBLIC 
    "-//Puppy Crawl//DTD Check Configuration 1.3//EN" 
    "http://www.puppycrawl.com/dtds/configuration_1_3.dtd"> 
<module name="Checker"> 
    <module name="SuppressionFilter"> 
     <property name="file" value="${checkstyle.suppressions.file}"/> 
    </module> 
    <module name="TreeWalker"> 
     <module name="HiddenField"> 
      <property name="ignoreSetter" value="true"/> 
      <property name="ignoreConstructorParameter" value="true"/> 
     </module> 
    </module> 
</module> 

В проекте-х pom.xml я настроил Maven Checkstyle плагин:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-checkstyle-plugin</artifactId> 
    <version>2.17</version> 
    <executions> 
     <execution> 
      <phase>install</phase> 
      <goals> 
       <goal>checkstyle</goal> 
      </goals> 
     </execution> 
    </executions> 
    <configuration> 
     <consoleOutput>${checkstyle.printErrors}</consoleOutput> 
     <configLocation>checkstyle.xml</configLocation> 
     <suppressionsLocation>checkstyle-suppressions.xml</suppressionsLocation> 
     <suppressionsFileExpression>checkstyle.suppressions.file</suppressionsFileExpression> 
    </configuration> 
</plugin> 

Теперь, только применяется HiddenField проверка, все остальные чеки от sun_checks.xml выключены. Если я отключу пользовательский checkstyle.xml в настройках плагина, стандартные проверки будут применены снова.

Вопрос в том, как применять стандартные проверки, изменяя настройки для одного или нескольких из них?

ответ

1

Вы сделали бы это, скопировав standard configuration file локально, как ваш собственный checkstyle.xml, а затем измените его.

Обязательно используйте тот, который соответствует вашей версии Checkstyle. Maven Checkstyle Plugin 2.17, который вы используете, использует Checkstyle 6.11.2 (reference). Просто измените номер версии в URL-адресе файла конфигурации, чтобы загрузить нужную версию.

+0

Спасибо, что сделал трюк. Хотя я считаю, что это не очень интуитивно понятный или поддерживаемый :-) – hoefling