Maven Checkstyle Plugin

From Chorke Wiki
Jump to navigation Jump to search
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-checkstyle-plugin</artifactId>
    <version>3.1.2</version>
    <dependencies>
        <dependency>
            <groupId>com.puppycrawl.tools</groupId>
            <artifactId>checkstyle</artifactId>
            <version>10.0</version>
        </dependency>
    </dependencies>
    <configuration>
        <suppressionsLocation>configs/checkstyle/suppressions.xml</suppressionsLocation>
        <configLocation>configs/checkstyle/checkstyle.xml</configLocation>
        <consoleOutput>true</consoleOutput>
        <failsOnError>true</failsOnError>
        <encoding>UTF-8</encoding>
        <linkXRef>false</linkXRef>
    </configuration>
    <executions>
        <execution>
            <id>validate</id>
            <phase>validate</phase>
            <goals>
                <goal>check</goal>
            </goals>
        </execution>
    </executions>
</plugin>

Suppressions

<?xml version="1.0"?>
<!DOCTYPE suppressions PUBLIC
        "-//Puppy Crawl//DTD Suppressions 1.0//EN"
        "http://www.puppycrawl.com/dtds/suppressions_1_0.dtd">

<suppressions>
    <suppress files="Service.java"       checks="HideUtilityClassConstructor"/>
    <suppress files="DataService.java"   checks="HideUtilityClassConstructor"/>
    <suppress files="UserService.java"   checks="HideUtilityClassConstructor"/>
    <suppress files="PolicyService.java" checks="HideUtilityClassConstructor"/>
</suppressions>

Checkstyle

<!DOCTYPE module PUBLIC
        "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
        "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">

<module name="Checker">
    <property name="severity" value="warning"/>
    <module name="SuppressWarningsFilter"/>
    <module name="TreeWalker">
        <module name="HiddenField">
            <property name="ignoreSetter" value="true"/>
            <property name="ignoreConstructorParameter" value="true"/>
        </module>
        <module name="SuppressWarnings">
            <property name="id" value="checkstyle:suppresswarnings"/>
        </module>
    </module>
</module>

Knowledge

mvn -Dcheckstyle.skip=true -Dmaven.test.skip=true clean install
mvn -Dcheckstyle.skip=true verify
mvn checkstyle:check -rf :<module_name>
mvn checkstyle:check

References