Skip to content

Commit 05b3a48

Browse files
committed
workflow: add Checkstyle for code quality checks
1 parent 359c8ef commit 05b3a48

2 files changed

Lines changed: 95 additions & 5 deletions

File tree

build.gradle.kts

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
plugins {
2-
id("net.fabricmc.fabric-loom-remap")
3-
`maven-publish`
4-
}
2+
id("net.fabricmc.fabric-loom-remap")
3+
`maven-publish`
4+
checkstyle
5+
}
56

67
version = providers.gradleProperty("mod_version").get()
78
group = providers.gradleProperty("maven_group").get()
@@ -88,8 +89,27 @@ tasks.jar {
8889
}
8990

9091
tasks.test {
91-
useJUnitPlatform()
92-
}
92+
useJUnitPlatform()
93+
}
94+
95+
checkstyle {
96+
toolVersion = "10.17.0"
97+
configFile = file("checkstyle.xml")
98+
}
99+
100+
tasks.checkstyleMain {
101+
reports {
102+
xml.required = true
103+
html.required = true
104+
}
105+
}
106+
107+
tasks.checkstyleTest {
108+
reports {
109+
xml.required = true
110+
html.required = true
111+
}
112+
}
93113

94114
// configure the maven publication
95115
publishing {

checkstyle.xml

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
<?xml version="1.0"?>
2+
<!DOCTYPE module PUBLIC
3+
"-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
4+
"https://checkstyle.org/dtds/configuration_1_3.dtd">
5+
6+
<module name="Checker">
7+
<property name="severity" value="warning"/>
8+
<property name="fileExtensions" value="java"/>
9+
10+
<module name="TreeWalker">
11+
<module name="NeedBraces">
12+
<property name="tokens" value="LITERAL_DO, LITERAL_ELSE, LITERAL_FOR, LITERAL_IF, LITERAL_WHILE"/>
13+
</module>
14+
15+
<module name="LeftCurly"/>
16+
<module name="RightCurly"/>
17+
18+
<module name="WhitespaceAfter">
19+
<property name="tokens" value="COMMA, SEMI"/>
20+
</module>
21+
22+
<module name="WhitespaceAround">
23+
<property name="allowEmptyConstructors" value="true"/>
24+
<property name="allowEmptyLambdas" value="true"/>
25+
<property name="allowEmptyMethods" value="true"/>
26+
<property name="allowEmptyTypes" value="true"/>
27+
<property name="allowEmptyLoops" value="true"/>
28+
</module>
29+
30+
<module name="GenericWhitespace"/>
31+
32+
<module name="ParenPad"/>
33+
34+
<module name="NoLineWrap"/>
35+
36+
<module name="EmptyBlock">
37+
<property name="option" value="TEXT"/>
38+
<property name="tokens" value="LITERAL_TRY, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_SWITCH"/>
39+
</module>
40+
41+
<module name="ArrayTypeStyle"/>
42+
<module name="UpperEll"/>
43+
44+
<module name="FallThrough"/>
45+
46+
<module name="ModifierOrder"/>
47+
48+
<module name="MissingSwitchDefault"/>
49+
50+
<module name="PackageName">
51+
<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>
52+
</module>
53+
54+
<module name="TypeName">
55+
<property name="format" value="^[A-Z][a-zA-Z0-9_]*$"/>
56+
</module>
57+
58+
<module name="MemberName">
59+
<property name="format" value="^[a-z][a-zA-Z0-9]*$"/>
60+
</module>
61+
62+
<module name="ParameterName">
63+
<property name="format" value="^[a-z]([a-zA-Z0-9]*)?$"/>
64+
</module>
65+
66+
<module name="MethodName">
67+
<property name="format" value="^[a-z][a-zA-Z0-9_]*$"/>
68+
</module>
69+
</module>
70+
</module>

0 commit comments

Comments
 (0)