Skip to content

Commit b66eb64

Browse files
committed
Re-enable checkstyle configuration in project
See gh-943
1 parent 54d24ab commit b66eb64

File tree

7 files changed

+31
-52
lines changed

7 files changed

+31
-52
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ configure(moduleProjects) {
3939
}
4040

4141
configurations {
42-
dependencyManagement {6
42+
dependencyManagement {
4343
canBeConsumed = false
4444
canBeResolved = false
4545
visible = false

buildSrc/build.gradle

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,16 @@ ext {
1818
}
1919

2020
dependencies {
21-
checkstyle "io.spring.javaformat:spring-javaformat-checkstyle:${javaFormatVersion}"
21+
checkstyle("com.puppycrawl.tools:checkstyle:${checkstyle.toolVersion}")
22+
checkstyle("io.spring.javaformat:spring-javaformat-checkstyle:${javaFormatVersion}")
23+
2224
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlinVersion}")
2325
implementation("org.jetbrains.kotlin:kotlin-compiler-embeddable:${kotlinVersion}")
2426
implementation("io.spring.javaformat:spring-javaformat-gradle-plugin:${javaFormatVersion}")
2527
}
2628

2729
checkstyle {
28-
def archive = configurations.checkstyle.filter { it.name.startsWith("spring-javaformat-checkstyle")}
29-
config = resources.text.fromArchiveEntry(archive, "io/spring/javaformat/checkstyle/checkstyle.xml")
30-
toolVersion = 8.11
30+
toolVersion = "10.12.4"
3131
}
3232

3333
gradlePlugin {

buildSrc/gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
javaFormatVersion=0.0.28
1+
javaFormatVersion=0.0.41

buildSrc/src/main/java/org/springframework/graphql/build/ConventionsPlugin.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import org.gradle.api.publish.maven.plugins.MavenPublishPlugin;
2424

2525
import org.springframework.graphql.build.conventions.DeploymentConventions;
26+
import org.springframework.graphql.build.conventions.FormattingConventions;
2627
import org.springframework.graphql.build.conventions.JavaConventions;
2728
import org.springframework.graphql.build.conventions.KotlinConventions;
2829

@@ -42,6 +43,7 @@ public class ConventionsPlugin implements Plugin<Project> {
4243

4344
@Override
4445
public void apply(Project project) {
46+
new FormattingConventions().apply(project);
4547
new JavaConventions().apply(project);
4648
new KotlinConventions().apply(project);
4749
new DeploymentConventions().apply(project);

buildSrc/src/main/java/org/springframework/graphql/build/conventions/FormattingConventions.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
package org.springframework.graphql.build.conventions;
1818

19-
import io.spring.javaformat.gradle.FormatTask;
2019
import io.spring.javaformat.gradle.SpringJavaFormatPlugin;
2120
import org.gradle.api.Project;
2221
import org.gradle.api.artifacts.DependencySet;
@@ -26,8 +25,7 @@
2625

2726
/**
2827
* Conventions that are applied in the presence of the {@link JavaBasePlugin}. When the
29-
* plugin is applied, the {@link SpringJavaFormatPlugin Spring Java Format} and
30-
* {@link CheckstylePlugin Checkstyle}.
28+
* plugin is applied, {@link CheckstylePlugin Checkstyle} is applied and configured.
3129
*
3230
* @author Brian Clozel
3331
*/
@@ -38,14 +36,14 @@ public void apply(Project project) {
3836
}
3937

4038
private void applySpringJavaFormat(Project project) {
41-
project.getPlugins().apply(SpringJavaFormatPlugin.class);
42-
project.getTasks().withType(FormatTask.class, (formatTask) -> formatTask.setEncoding("UTF-8"));
4339
project.getPlugins().apply(CheckstylePlugin.class);
4440
CheckstyleExtension checkstyle = project.getExtensions().getByType(CheckstyleExtension.class);
45-
checkstyle.setToolVersion("8.43");
41+
checkstyle.setToolVersion("10.12.4");
4642
checkstyle.getConfigDirectory().set(project.getRootProject().file("src/checkstyle"));
4743
String version = SpringJavaFormatPlugin.class.getPackage().getImplementationVersion();
4844
DependencySet checkstyleDependencies = project.getConfigurations().getByName("checkstyle").getDependencies();
45+
checkstyleDependencies
46+
.add(project.getDependencies().create("com.puppycrawl.tools:checkstyle:" + checkstyle.getToolVersion()));
4947
checkstyleDependencies
5048
.add(project.getDependencies().create("io.spring.javaformat:spring-javaformat-checkstyle:" + version));
5149
}
Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,15 @@
11
<?xml version="1.0"?>
2-
<!DOCTYPE suppressions PUBLIC "-//Checkstyle//DTD SuppressionFilter Configuration 1.2//EN" "https://checkstyle.org/dtds/suppressions_1_2.dtd">
2+
<!DOCTYPE suppressions PUBLIC
3+
"-//Checkstyle//DTD SuppressionFilter Configuration 1.2//EN"
4+
"https://checkstyle.org/dtds/suppressions_1_2.dtd">
35
<suppressions>
46
<!-- generated sources -->
57
<suppress files="[\\/]build[\\/]generated[\\/]sources[\\/]" checks=".*" />
68

7-
</suppressions>
9+
<!-- tests -->
10+
<suppress files="[\\/]src[\\/]testFixtures[\\/]java[\\/]" checks="JavadocPackage|SpringJavadoc" />
11+
<suppress files="[\\/]src[\\/]test[\\/]java[\\/]" checks="JavadocPackage|SpringJavadoc|InnerTypeLast|SpringMethodVisibility|RequireThis|SpringLambda|SpringTernary|FinalClass|RedundantModifier|SpringAvoidStaticImport" />
12+
13+
<!-- docs -->
14+
<suppress files="(.*graphql-docs.*)" checks="JavadocPackage|OneTopLevelClass" />
15+
</suppressions>

src/checkstyle/checkstyle.xml

Lines changed: 9 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -6,48 +6,19 @@
66
<module name="SuppressionFilter">
77
<property name="file" value="${config_loc}/checkstyle-suppressions.xml"/>
88
</module>
9-
<module name="io.spring.javaformat.checkstyle.SpringChecks" />
9+
<module name="io.spring.javaformat.checkstyle.SpringChecks">
10+
<property name="excludes" value="com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocMethodCheck" />
11+
</module>
1012
<module name="com.puppycrawl.tools.checkstyle.TreeWalker">
13+
<module name="io.spring.javaformat.checkstyle.check.SpringDeprecatedCheck"/>
1114
<module name="io.spring.javaformat.checkstyle.check.SpringJUnit5Check" />
12-
<module
13-
name="com.puppycrawl.tools.checkstyle.checks.imports.IllegalImportCheck">
14-
<property name="id" value="mainCodeIllegalImportCheck"/>
15-
<property name="regexp" value="true" />
16-
<property name="illegalClasses"
17-
value="^jakarta.annotation.PostConstruct"/>
18-
</module>
19-
<module
20-
name="com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheck">
21-
<property name="file"
22-
value="${config_loc}/import-control.xml" />
23-
<property name="path" value="^.*[\\/]src[\\/]main[\\/].*$" />
24-
</module>
25-
<module name="com.puppycrawl.tools.checkstyle.checks.regexp.RegexpSinglelineJavaCheck">
26-
<property name="maximum" value="0"/>
27-
<property name="format" value="org\.junit\.Assert\.assert" />
28-
<property name="message"
29-
value="Please use AssertJ imports." />
30-
<property name="ignoreComments" value="true" />
31-
</module>
32-
<module
33-
name="com.puppycrawl.tools.checkstyle.checks.regexp.RegexpSinglelineJavaCheck">
34-
<property name="maximum" value="0" />
35-
<property name="format"
36-
value="assertThatExceptionOfType\((NullPointerException|IllegalArgumentException|IOException|IllegalStateException)\.class\)" />
37-
<property name="message"
38-
value="Please use specialized AssertJ assertThat*Exception method." />
39-
<property name="ignoreComments" value="true" />
40-
</module>
41-
<module name="com.puppycrawl.tools.checkstyle.checks.regexp.RegexpSinglelineJavaCheck">
42-
<property name="maximum" value="0"/>
43-
<property name="format" value="org\.mockito\.(Mockito|BDDMockito)\.(when|doThrow|doAnswer)" />
44-
<property name="message"
45-
value="Please use BDD-style (given, when, then) using BDDMockito imports." />
46-
<property name="ignoreComments" value="true" />
47-
</module>
4815
<module name="io.spring.javaformat.checkstyle.check.SpringJavadocCheck">
4916
<property name="publicOnlySinceTags" value="true" />
5017
<property name="requireSinceTag" value="true" />
5118
</module>
19+
<module name="com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocMethodCheck">
20+
<property name="accessModifiers" value="public,protected"/>
21+
<property name="allowMissingReturnTag" value="true"/>
22+
</module>
5223
</module>
53-
</module>
24+
</module>

0 commit comments

Comments
 (0)