Re-enable checkstyle configuration in project

See gh-943
This commit is contained in:
Brian Clozel
2024-04-04 22:04:33 +02:00
parent 54d24abbb7
commit b66eb64241
7 changed files with 31 additions and 52 deletions

View File

@@ -39,7 +39,7 @@ configure(moduleProjects) {
}
configurations {
dependencyManagement {6
dependencyManagement {
canBeConsumed = false
canBeResolved = false
visible = false

View File

@@ -18,16 +18,16 @@ ext {
}
dependencies {
checkstyle "io.spring.javaformat:spring-javaformat-checkstyle:${javaFormatVersion}"
checkstyle("com.puppycrawl.tools:checkstyle:${checkstyle.toolVersion}")
checkstyle("io.spring.javaformat:spring-javaformat-checkstyle:${javaFormatVersion}")
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlinVersion}")
implementation("org.jetbrains.kotlin:kotlin-compiler-embeddable:${kotlinVersion}")
implementation("io.spring.javaformat:spring-javaformat-gradle-plugin:${javaFormatVersion}")
}
checkstyle {
def archive = configurations.checkstyle.filter { it.name.startsWith("spring-javaformat-checkstyle")}
config = resources.text.fromArchiveEntry(archive, "io/spring/javaformat/checkstyle/checkstyle.xml")
toolVersion = 8.11
toolVersion = "10.12.4"
}
gradlePlugin {

View File

@@ -1 +1 @@
javaFormatVersion=0.0.28
javaFormatVersion=0.0.41

View File

@@ -23,6 +23,7 @@ import org.gradle.api.plugins.JavaBasePlugin;
import org.gradle.api.publish.maven.plugins.MavenPublishPlugin;
import org.springframework.graphql.build.conventions.DeploymentConventions;
import org.springframework.graphql.build.conventions.FormattingConventions;
import org.springframework.graphql.build.conventions.JavaConventions;
import org.springframework.graphql.build.conventions.KotlinConventions;
@@ -42,6 +43,7 @@ public class ConventionsPlugin implements Plugin<Project> {
@Override
public void apply(Project project) {
new FormattingConventions().apply(project);
new JavaConventions().apply(project);
new KotlinConventions().apply(project);
new DeploymentConventions().apply(project);

View File

@@ -16,7 +16,6 @@
package org.springframework.graphql.build.conventions;
import io.spring.javaformat.gradle.FormatTask;
import io.spring.javaformat.gradle.SpringJavaFormatPlugin;
import org.gradle.api.Project;
import org.gradle.api.artifacts.DependencySet;
@@ -26,8 +25,7 @@ import org.gradle.api.plugins.quality.CheckstylePlugin;
/**
* Conventions that are applied in the presence of the {@link JavaBasePlugin}. When the
* plugin is applied, the {@link SpringJavaFormatPlugin Spring Java Format} and
* {@link CheckstylePlugin Checkstyle}.
* plugin is applied, {@link CheckstylePlugin Checkstyle} is applied and configured.
*
* @author Brian Clozel
*/
@@ -38,14 +36,14 @@ public class FormattingConventions {
}
private void applySpringJavaFormat(Project project) {
project.getPlugins().apply(SpringJavaFormatPlugin.class);
project.getTasks().withType(FormatTask.class, (formatTask) -> formatTask.setEncoding("UTF-8"));
project.getPlugins().apply(CheckstylePlugin.class);
CheckstyleExtension checkstyle = project.getExtensions().getByType(CheckstyleExtension.class);
checkstyle.setToolVersion("8.43");
checkstyle.setToolVersion("10.12.4");
checkstyle.getConfigDirectory().set(project.getRootProject().file("src/checkstyle"));
String version = SpringJavaFormatPlugin.class.getPackage().getImplementationVersion();
DependencySet checkstyleDependencies = project.getConfigurations().getByName("checkstyle").getDependencies();
checkstyleDependencies
.add(project.getDependencies().create("com.puppycrawl.tools:checkstyle:" + checkstyle.getToolVersion()));
checkstyleDependencies
.add(project.getDependencies().create("io.spring.javaformat:spring-javaformat-checkstyle:" + version));
}

View File

@@ -1,7 +1,15 @@
<?xml version="1.0"?>
<!DOCTYPE suppressions PUBLIC "-//Checkstyle//DTD SuppressionFilter Configuration 1.2//EN" "https://checkstyle.org/dtds/suppressions_1_2.dtd">
<!DOCTYPE suppressions PUBLIC
"-//Checkstyle//DTD SuppressionFilter Configuration 1.2//EN"
"https://checkstyle.org/dtds/suppressions_1_2.dtd">
<suppressions>
<!-- generated sources -->
<suppress files="[\\/]build[\\/]generated[\\/]sources[\\/]" checks=".*" />
</suppressions>
<!-- tests -->
<suppress files="[\\/]src[\\/]testFixtures[\\/]java[\\/]" checks="JavadocPackage|SpringJavadoc" />
<suppress files="[\\/]src[\\/]test[\\/]java[\\/]" checks="JavadocPackage|SpringJavadoc|InnerTypeLast|SpringMethodVisibility|RequireThis|SpringLambda|SpringTernary|FinalClass|RedundantModifier|SpringAvoidStaticImport" />
<!-- docs -->
<suppress files="(.*graphql-docs.*)" checks="JavadocPackage|OneTopLevelClass" />
</suppressions>

View File

@@ -6,48 +6,19 @@
<module name="SuppressionFilter">
<property name="file" value="${config_loc}/checkstyle-suppressions.xml"/>
</module>
<module name="io.spring.javaformat.checkstyle.SpringChecks" />
<module name="io.spring.javaformat.checkstyle.SpringChecks">
<property name="excludes" value="com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocMethodCheck" />
</module>
<module name="com.puppycrawl.tools.checkstyle.TreeWalker">
<module name="io.spring.javaformat.checkstyle.check.SpringDeprecatedCheck"/>
<module name="io.spring.javaformat.checkstyle.check.SpringJUnit5Check" />
<module
name="com.puppycrawl.tools.checkstyle.checks.imports.IllegalImportCheck">
<property name="id" value="mainCodeIllegalImportCheck"/>
<property name="regexp" value="true" />
<property name="illegalClasses"
value="^jakarta.annotation.PostConstruct"/>
</module>
<module
name="com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheck">
<property name="file"
value="${config_loc}/import-control.xml" />
<property name="path" value="^.*[\\/]src[\\/]main[\\/].*$" />
</module>
<module name="com.puppycrawl.tools.checkstyle.checks.regexp.RegexpSinglelineJavaCheck">
<property name="maximum" value="0"/>
<property name="format" value="org\.junit\.Assert\.assert" />
<property name="message"
value="Please use AssertJ imports." />
<property name="ignoreComments" value="true" />
</module>
<module
name="com.puppycrawl.tools.checkstyle.checks.regexp.RegexpSinglelineJavaCheck">
<property name="maximum" value="0" />
<property name="format"
value="assertThatExceptionOfType\((NullPointerException|IllegalArgumentException|IOException|IllegalStateException)\.class\)" />
<property name="message"
value="Please use specialized AssertJ assertThat*Exception method." />
<property name="ignoreComments" value="true" />
</module>
<module name="com.puppycrawl.tools.checkstyle.checks.regexp.RegexpSinglelineJavaCheck">
<property name="maximum" value="0"/>
<property name="format" value="org\.mockito\.(Mockito|BDDMockito)\.(when|doThrow|doAnswer)" />
<property name="message"
value="Please use BDD-style (given, when, then) using BDDMockito imports." />
<property name="ignoreComments" value="true" />
</module>
<module name="io.spring.javaformat.checkstyle.check.SpringJavadocCheck">
<property name="publicOnlySinceTags" value="true" />
<property name="requireSinceTag" value="true" />
</module>
<module name="com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocMethodCheck">
<property name="accessModifiers" value="public,protected"/>
<property name="allowMissingReturnTag" value="true"/>
</module>
</module>
</module>
</module>