Opinionated java-library project template
1<?xml version="1.0"?>
2<!DOCTYPE module PUBLIC
3 "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
4 "https://checkstyle.org/dtds/configuration_1_3.dtd">
5
6<module name="Checker">
7
8 <property name="charset" value="UTF-8"/>
9 <property name="fileExtensions" value="java, properties, xml"/>
10 <property name="severity" value="error"/>
11
12 <!-- https://checkstyle.org/filefilters/beforeexecutionexclusionfilefilter.html -->
13 <module name="BeforeExecutionExclusionFileFilter">
14 <property name="fileNamePattern" value="module\-info\.java$"/>
15 </module>
16
17 <!-- https://checkstyle.org/checks/whitespace/filetabcharacter.html -->
18 <module name="FileTabCharacter">
19 <property name="eachLine" value="true"/>
20 </module>
21
22 <!-- https://checkstyle.org/checks/misc/newlineatendoffile.html -->
23 <module name="NewlineAtEndOfFile"/>
24
25 <!-- https://checkstyle.org/filters/suppressionfilter.html -->
26 <module name="SuppressionFilter">
27 <property name="file" value="${configDirectory}/suppressions.xml"/>
28 </module>
29
30 <!-- https://checkstyle.org/filters/suppresswarningsfilter.html -->
31 <module name="SuppressWarningsFilter"/>
32
33 <module name="TreeWalker">
34
35 <!-- https://checkstyle.org/checks/misc/arraytypestyle.html -->
36 <module name="ArrayTypeStyle"/>
37
38 <!-- https://checkstyle.org/checks/imports/avoidstarimport.html -->
39 <module name="AvoidStarImport"/>
40
41 <!-- https://checkstyle.org/checks/design/finalclass.html -->
42 <module name="FinalClass"/>
43
44 <!-- https://checkstyle.org/checks/coding/finallocalvariable.html -->
45 <module name="FinalLocalVariable">
46 <property name="tokens" value="PARAMETER_DEF, VARIABLE_DEF"/>
47 <property name="validateEnhancedForLoopVariable" value="true"/>
48 </module>
49
50 <!-- https://checkstyle.org/checks/imports/illegalimport.html -->
51 <module name="IllegalImport">
52 <property name="illegalPkgs"
53 value="sun, jdk, com.sun, org.jetbrains.annotations.Nullable, org.jetbrains.annotations.NotNull"/>
54 </module>
55
56 <!-- https://checkstyle.org/checks/javadoc/invalidjavadocposition.html -->
57 <module name="InvalidJavadocPosition"/>
58
59 <!-- https://checkstyle.org/checks/javadoc/javadoccontentlocation.html -->
60 <module name="JavadocContentLocation"/>
61
62 <!-- https://checkstyle.org/checks/javadoc/javadocmethod.html -->
63 <module name="JavadocMethod"/>
64
65 <!-- https://checkstyle.org/checks/javadoc/javadocmissingwhitespaceafterasterisk.html -->
66 <module name="JavadocMissingWhitespaceAfterAsterisk"/>
67
68 <!-- https://checkstyle.org/checks/javadoc/javadocparagraph.html -->
69 <module name="JavadocParagraph"/>
70
71 <!-- https://checkstyle.org/checks/javadoc/javadoctagcontinuationindentation.html -->
72 <module name="JavadocTagContinuationIndentation"/>
73
74 <!-- https://checkstyle.org/checks/blocks/leftcurly.html -->
75 <module name="LeftCurly"/>
76
77 <!-- https://checkstyle.org/checks/coding/matchxpath.html -->
78 <module name="MatchXpath">
79 <property name="query" value="//ANNOTATION[./IDENT[@text='NotNull']]"/>
80 <message key="matchxpath.match"
81 value="Avoid using @NotNull annotation. Use @NonNull instead."/>
82 </module>
83
84 <!-- https://checkstyle.org/checks/naming/methodname.html -->
85 <module name="MethodName">
86 <property name="format"
87 value="^(?:(?:.{1,3})|(?:[gs]et[^A-Z].*)|(?:(?:[^gsA-Z]..|.[^e].|..[^t]).+))$"/>
88 </module>
89
90 <!-- https://checkstyle.org/checks/javadoc/missingjavadoctype.html -->
91 <module name="MissingJavadocType"/>
92
93 <!-- https://checkstyle.org/checks/javadoc/missingjavadocmethod.html -->
94 <module name="MissingJavadocMethod"/>
95
96 <!-- https://checkstyle.org/checks/javadoc/missingjavadocpackage.html -->
97 <module name="MissingJavadocPackage"/>
98
99 <!-- https://tangled.org/nayrid.com/checks/blob/main/src/main/java/com/nayrid/checks/NoGenericExceptionCheck.java -->
100 <module name="com.nayrid.checks.NoGenericExceptionCheck"/>
101
102 <!-- https://tangled.org/nayrid.com/checks/blob/main/src/main/java/com/nayrid/checks/RequireSinceCheck.java -->
103 <module name="com.nayrid.checks.RequireSinceCheck"/>
104
105 <!-- https://checkstyle.org/checks/coding/requirethis.html -->
106 <module name="RequireThis"/>
107
108 <!-- https://checkstyle.org/filters/suppresswarningsfilter.html -->
109 <module name="SuppressWarningsHolder"/>
110
111 <!-- https://checkstyle.org/filters/suppressioncommentfilter.html -->
112 <module name="SuppressionCommentFilter"/>
113
114 </module>
115
116</module>