Maven Checkstyle Plugin: Difference between revisions

From Chorke Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
<source lang="xml">
<syntaxhighlight lang="xml">
<plugin>
<plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <groupId>org.apache.maven.plugins</groupId>
Line 29: Line 29:
     </executions>
     </executions>
</plugin>
</plugin>
</source>
</syntaxhighlight>


==Suppressions==
==Suppressions==
<source lang="xml">
<syntaxhighlight lang="xml">
<?xml version="1.0"?>
<?xml version="1.0"?>
<!DOCTYPE suppressions PUBLIC
<!DOCTYPE suppressions PUBLIC
Line 44: Line 44:
     <suppress files="PolicyService.java" checks="HideUtilityClassConstructor"/>
     <suppress files="PolicyService.java" checks="HideUtilityClassConstructor"/>
</suppressions>
</suppressions>
</source>
</syntaxhighlight>


==Checkstyle==
==Checkstyle==
<source lang="xml">
<syntaxhighlight lang="xml">
<!DOCTYPE module PUBLIC
<!DOCTYPE module PUBLIC
         "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
         "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
Line 65: Line 65:
     </module>
     </module>
</module>
</module>
</source>
</syntaxhighlight>


==Knowledge==
==Knowledge==
Line 93: Line 93:
| valign="top" |
| valign="top" |
* [https://stackoverflow.com/questions/27688426/ Ignoring of Checkstyle warnings with <code>@SuppressWarnings</code>]
* [https://stackoverflow.com/questions/27688426/ Ignoring of Checkstyle warnings with <code>@SuppressWarnings</code>]
* [https://www.multidots.com/importance-of-code-quality-and-coding-standard-in-software-development/ Importance of Coding Standard and Code Quality]
* [https://maven.apache.org/plugins/maven-checkstyle-plugin/ Apache Maven Checkstyle Plugin]
* [https://maven.apache.org/plugins/maven-checkstyle-plugin/ Apache Maven Checkstyle Plugin]
* [https://www.developer.com/design/top-10-java-coding-guidelines/ Top 10 Java Coding Standards]
* [https://www.oracle.com/technetwork/java/codeconventions-150003.pdf Java Code Conventions 1997]
* [https://google.github.io/styleguide/javaguide.html Google Java Style Guide]
* [https://en.wikipedia.org/wiki/SonarQube SonarQube » Wiki]
* [https://www.sonarqube.org/ SonarQube]
* [[Maven]]
* [[Java]]
* [[Java]]


| valign="top" |
| valign="top" |
* [[Maven Deploy External JAR]]


| valign="top" |
| valign="top" |

Latest revision as of 19:20, 1 April 2024

<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