Официально checkstyle не умеет наследовать конфиги: issue
Но мы запилили свой тулсет, который позволяет наследовать конфиги один от другого
Как работает merge Пример стандартного использования:
merge --no-ff
mvn release:prepare mvn release:perform
Сервис использует практику dogfood, поэтому после релиза полезно поднять версию плагина в помнике
- - maven-plugin, обертка над maven-checkstyle-plugin, который включает в себя наши кастомные чеки, конфиги и механизм наследования.
При сборке своих конфигов можно использовать<property name="hh-parent-config" value="..."/>
,
(см. ) Если нет никаких причин, то лучше просто использовать этот плагин
- - наши кастомные checkstyle проверки.
Можно использовать отдельно (см. ) - - артефакт, который поставляет конфиги
его можно использовать с оригинальным checkstyle, но потребуются зависимости наcom.puppycrawl.tools
, наши чеки и не будет работать наследование конфигов:
<build>
<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.0.0</version>
<dependencies>
<dependency>
<groupId>ru.hh.checkstyle</groupId>
<artifactId>checkstyle-config-plugin</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>validate</id>
<phase>validate</phase>
<configuration>
<configLocation>shared-checkstyle.xml</configLocation>
</configuration>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
...
</plugins>
</build>