diff --git a/README.adoc b/README.adoc
index d8ed6e45..ceea0a88 100644
--- a/README.adoc
+++ b/README.adoc
@@ -1,5 +1,5 @@
:release-version: 0.0.43
-:checkstyle-version: 9.3
+:checkstyle-version: 10.22.0
== Spring Java Format
diff --git a/pom.xml b/pom.xml
index c7e0ba80..2c5db05a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
1.0b3
9.6
3.8.0
- 9.3
+ 10.22.0
2.4.21
2.17.1
3.8.8
diff --git a/samples/spring-javaformat-maven-sample/pom.xml b/samples/spring-javaformat-maven-sample/pom.xml
index cf225184..ac62b8f4 100644
--- a/samples/spring-javaformat-maven-sample/pom.xml
+++ b/samples/spring-javaformat-maven-sample/pom.xml
@@ -32,7 +32,7 @@
com.puppycrawl.tools
checkstyle
- 8.29
+ 10.22.0
io.spring.javaformat
diff --git a/spring-javaformat-intellij-idea/spring-javaformat-intellij-idea-plugin/src/main/java/io/spring/format/formatter/intellij/monitor/FileMonitor.java b/spring-javaformat-intellij-idea/spring-javaformat-intellij-idea-plugin/src/main/java/io/spring/format/formatter/intellij/monitor/FileMonitor.java
index ac930e50..8695831f 100644
--- a/spring-javaformat-intellij-idea/spring-javaformat-intellij-idea-plugin/src/main/java/io/spring/format/formatter/intellij/monitor/FileMonitor.java
+++ b/spring-javaformat-intellij-idea/spring-javaformat-intellij-idea-plugin/src/main/java/io/spring/format/formatter/intellij/monitor/FileMonitor.java
@@ -71,7 +71,7 @@ public static Factory factory() {
/**
* Lister used to check for trigger file updates.
*/
- private class Listener implements VirtualFileListener {
+ private final class Listener implements VirtualFileListener {
@Override
public void fileCreated(VirtualFileEvent event) {
diff --git a/spring-javaformat-intellij-idea/spring-javaformat-intellij-idea-plugin/src/main/java/io/spring/format/formatter/intellij/ui/StatusIndicator.java b/spring-javaformat-intellij-idea/spring-javaformat-intellij-idea-plugin/src/main/java/io/spring/format/formatter/intellij/ui/StatusIndicator.java
index 85287af9..cad90819 100644
--- a/spring-javaformat-intellij-idea/spring-javaformat-intellij-idea-plugin/src/main/java/io/spring/format/formatter/intellij/ui/StatusIndicator.java
+++ b/spring-javaformat-intellij-idea/spring-javaformat-intellij-idea-plugin/src/main/java/io/spring/format/formatter/intellij/ui/StatusIndicator.java
@@ -83,8 +83,11 @@ private void hide(final StatusBar statusBar) {
/**
* The {@link StatusBarWidget} component for the status.
*/
- private static class Widget implements StatusBarWidget, StatusBarWidget.IconPresentation {
+ private static final class Widget implements StatusBarWidget, StatusBarWidget.IconPresentation {
+ /**
+ * the icon.
+ */
public static final Icon ICON = IconLoader.getIcon("/spring-javaformat/formatOn.png");
@Override
diff --git a/spring-javaformat/spring-javaformat-checkstyle/src/main/java/io/spring/javaformat/checkstyle/check/AbstractSpringCheck.java b/spring-javaformat/spring-javaformat-checkstyle/src/main/java/io/spring/javaformat/checkstyle/check/AbstractSpringCheck.java
index 347f1ed1..40986894 100644
--- a/spring-javaformat/spring-javaformat-checkstyle/src/main/java/io/spring/javaformat/checkstyle/check/AbstractSpringCheck.java
+++ b/spring-javaformat/spring-javaformat-checkstyle/src/main/java/io/spring/javaformat/checkstyle/check/AbstractSpringCheck.java
@@ -25,6 +25,9 @@
*/
abstract class AbstractSpringCheck extends AbstractCheck {
+ /**
+ * no required tokens.
+ */
public static final int[] NO_REQUIRED_TOKENS = {};
@Override
diff --git a/spring-javaformat/spring-javaformat-checkstyle/src/main/java/io/spring/javaformat/checkstyle/check/SpringHeaderCheck.java b/spring-javaformat/spring-javaformat-checkstyle/src/main/java/io/spring/javaformat/checkstyle/check/SpringHeaderCheck.java
index 7820d4b3..fe99ff6e 100644
--- a/spring-javaformat/spring-javaformat-checkstyle/src/main/java/io/spring/javaformat/checkstyle/check/SpringHeaderCheck.java
+++ b/spring-javaformat/spring-javaformat-checkstyle/src/main/java/io/spring/javaformat/checkstyle/check/SpringHeaderCheck.java
@@ -242,7 +242,7 @@ public boolean run(FileText fileText, boolean blankLineAfter) {
/**
* {@link HeaderCheck} to enforce that there is no header.
*/
- private class NoHeaderCheck implements HeaderCheck {
+ private final class NoHeaderCheck implements HeaderCheck {
@Override
public boolean run(FileText fileText, boolean blankLineAfter) {
diff --git a/spring-javaformat/spring-javaformat-checkstyle/src/main/java/io/spring/javaformat/checkstyle/check/SpringJUnit5Check.java b/spring-javaformat/spring-javaformat-checkstyle/src/main/java/io/spring/javaformat/checkstyle/check/SpringJUnit5Check.java
index cdd8efc4..ea545fe6 100644
--- a/spring-javaformat/spring-javaformat-checkstyle/src/main/java/io/spring/javaformat/checkstyle/check/SpringJUnit5Check.java
+++ b/spring-javaformat/spring-javaformat-checkstyle/src/main/java/io/spring/javaformat/checkstyle/check/SpringJUnit5Check.java
@@ -19,7 +19,6 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
-import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.List;
@@ -42,7 +41,7 @@ public class SpringJUnit5Check extends AbstractSpringCheck {
private static final String JUNIT4_TEST_ANNOTATION_NAME = "org.junit.Test";
- private static final List TEST_ANNOTATIONS;
+ private static final Set TEST_ANNOTATIONS;
static {
Set annotations = new LinkedHashSet<>();
annotations.add(new Annotation("org.junit.jupiter.api", "RepeatedTest"));
@@ -50,17 +49,17 @@ public class SpringJUnit5Check extends AbstractSpringCheck {
annotations.add(new Annotation("org.junit.jupiter.api", "TestFactory"));
annotations.add(new Annotation("org.junit.jupiter.api", "TestTemplate"));
annotations.add(new Annotation("org.junit.jupiter.api", "ParameterizedTest"));
- TEST_ANNOTATIONS = Collections.unmodifiableList(new ArrayList<>(annotations));
+ TEST_ANNOTATIONS = Collections.unmodifiableSet(annotations);
}
- private static final List LIFECYCLE_ANNOTATIONS;
+ private static final Set LIFECYCLE_ANNOTATIONS;
static {
Set annotations = new LinkedHashSet<>();
annotations.add(new Annotation("org.junit.jupiter.api", "BeforeAll"));
annotations.add(new Annotation("org.junit.jupiter.api", "BeforeEach"));
annotations.add(new Annotation("org.junit.jupiter.api", "AfterAll"));
annotations.add(new Annotation("org.junit.jupiter.api", "AfterEach"));
- LIFECYCLE_ANNOTATIONS = Collections.unmodifiableList(new ArrayList<>(annotations));
+ LIFECYCLE_ANNOTATIONS = Collections.unmodifiableSet(annotations);
}
private static final Annotation NESTED_ANNOTATION = new Annotation("org.junit.jupiter.api", "Nested");
@@ -120,7 +119,7 @@ public void visitToken(DetailAST ast) {
}
private void visitMethodDef(DetailAST ast) {
- if (containsAnnotation(ast, TEST_ANNOTATIONS)) {
+ if (containsAnnotation(ast, TEST_ANNOTATIONS) || AnnotationUtil.containsAnnotation(ast, JUNIT4_TEST_ANNOTATION_NAME)) {
this.testMethods.add(ast);
}
if (containsAnnotation(ast, LIFECYCLE_ANNOTATIONS)) {
@@ -128,24 +127,11 @@ private void visitMethodDef(DetailAST ast) {
}
}
- private boolean containsAnnotation(DetailAST ast, List annotations) {
- List annotationNames = annotations.stream()
- .flatMap((annotation) -> Stream.of(annotation.simpleName, annotation.fullyQualifiedName()))
- .collect(Collectors.toList());
- try {
- return AnnotationUtil.containsAnnotation(ast, annotationNames);
- }
- catch (NoSuchMethodError ex) {
- // Checkstyle >= 10.3 (https://github.com/checkstyle/checkstyle/issues/14134)
- Set annotationNamesSet = new HashSet<>(annotationNames);
- try {
- return (boolean) AnnotationUtil.class.getMethod("containsAnnotation", DetailAST.class, Set.class)
- .invoke(null, ast, annotationNamesSet);
- }
- catch (Exception ex2) {
- throw new RuntimeException("containsAnnotation failed", ex2);
- }
- }
+ private boolean containsAnnotation(DetailAST ast, Set annotations) {
+ Set annotationNames = annotations.stream()
+ .flatMap(annotation -> Stream.of(annotation.simpleName, annotation.fullyQualifiedName()))
+ .collect(Collectors.toSet());
+ return AnnotationUtil.containsAnnotation(ast, annotationNames);
}
private void visitImport(DetailAST ast) {
@@ -158,7 +144,7 @@ private void visitClassDefinition(DetailAST ast) {
this.testClass = ast;
}
else {
- if (containsAnnotation(ast, Arrays.asList(NESTED_ANNOTATION))) {
+ if (containsAnnotation(ast, Collections.singleton(NESTED_ANNOTATION))) {
this.nestedTestClasses.add(ast);
}
}
diff --git a/spring-javaformat/spring-javaformat-checkstyle/src/main/resources/io/spring/javaformat/checkstyle/spring-checkstyle.xml b/spring-javaformat/spring-javaformat-checkstyle/src/main/resources/io/spring/javaformat/checkstyle/spring-checkstyle.xml
index a41c37bf..3942d6db 100644
--- a/spring-javaformat/spring-javaformat-checkstyle/src/main/resources/io/spring/javaformat/checkstyle/spring-checkstyle.xml
+++ b/spring-javaformat/spring-javaformat-checkstyle/src/main/resources/io/spring/javaformat/checkstyle/spring-checkstyle.xml
@@ -90,7 +90,7 @@
-
+
diff --git a/spring-javaformat/spring-javaformat-checkstyle/src/test/java/io/spring/javaformat/checkstyle/SpringChecksTests.java b/spring-javaformat/spring-javaformat-checkstyle/src/test/java/io/spring/javaformat/checkstyle/SpringChecksTests.java
index f3d31175..611f4572 100644
--- a/spring-javaformat/spring-javaformat-checkstyle/src/test/java/io/spring/javaformat/checkstyle/SpringChecksTests.java
+++ b/spring-javaformat/spring-javaformat-checkstyle/src/test/java/io/spring/javaformat/checkstyle/SpringChecksTests.java
@@ -134,7 +134,7 @@ private static boolean sourceFile(File file) {
return file.isFile() && !file.getName().startsWith(".") && !file.getName().equals("package-info.java");
}
- private static class Parameter {
+ private static final class Parameter {
private final String name;
diff --git a/spring-javaformat/spring-javaformat-checkstyle/src/test/java/io/spring/javaformat/checkstyle/SpringConfigurationLoaderTests.java b/spring-javaformat/spring-javaformat-checkstyle/src/test/java/io/spring/javaformat/checkstyle/SpringConfigurationLoaderTests.java
index 33536e6b..3389722d 100644
--- a/spring-javaformat/spring-javaformat-checkstyle/src/test/java/io/spring/javaformat/checkstyle/SpringConfigurationLoaderTests.java
+++ b/spring-javaformat/spring-javaformat-checkstyle/src/test/java/io/spring/javaformat/checkstyle/SpringConfigurationLoaderTests.java
@@ -50,9 +50,9 @@ public void loadShouldLoadChecks() {
assertThat(checks).hasSize(5);
TreeWalker treeWalker = (TreeWalker) checks.toArray()[4];
Set> ordinaryChecks = (Set>) Extractors.byName("ordinaryChecks").extract(treeWalker);
- assertThat(ordinaryChecks).hasSize(61);
+ assertThat(ordinaryChecks).hasSize(60);
Set> commentChecks = (Set>) Extractors.byName("commentChecks").extract(treeWalker);
- assertThat(commentChecks).hasSize(6);
+ assertThat(commentChecks).hasSize(7);
}
@Test
@@ -64,9 +64,9 @@ public void loadWithExcludeShouldExcludeChecks() {
assertThat(checks).hasSize(5);
TreeWalker treeWalker = (TreeWalker) checks.toArray()[4];
Set> ordinaryChecks = (Set>) Extractors.byName("ordinaryChecks").extract(treeWalker);
- assertThat(ordinaryChecks).hasSize(60);
+ assertThat(ordinaryChecks).hasSize(59);
Set> commentChecks = (Set>) Extractors.byName("commentChecks").extract(treeWalker);
- assertThat(commentChecks).hasSize(5);
+ assertThat(commentChecks).hasSize(6);
}
@Test
diff --git a/spring-javaformat/spring-javaformat-checkstyle/src/test/resources/source/JUnit5BadModifier.java b/spring-javaformat/spring-javaformat-checkstyle/src/test/resources/source/JUnit5BadModifier.java
index 9c59c587..fd0c7ff0 100644
--- a/spring-javaformat/spring-javaformat-checkstyle/src/test/resources/source/JUnit5BadModifier.java
+++ b/spring-javaformat/spring-javaformat-checkstyle/src/test/resources/source/JUnit5BadModifier.java
@@ -99,7 +99,7 @@ public void nestedPublicTest() {
}
@Nested
- private static class PrivateNestedTests {
+ private static final class PrivateNestedTests {
}
diff --git a/spring-javaformat/spring-javaformat-checkstyle/src/test/resources/source/JavadocMissingSince.java b/spring-javaformat/spring-javaformat-checkstyle/src/test/resources/source/JavadocMissingSince.java
index 9f22ace8..a006080e 100644
--- a/spring-javaformat/spring-javaformat-checkstyle/src/test/resources/source/JavadocMissingSince.java
+++ b/spring-javaformat/spring-javaformat-checkstyle/src/test/resources/source/JavadocMissingSince.java
@@ -24,7 +24,7 @@ public class JavadocMissingSince {
/**
* Inner class.
*/
- private static class Inner {
+ private static final class Inner {
}
diff --git a/spring-javaformat/spring-javaformat-checkstyle/src/test/resources/source/JavadocNonPublicSince.java b/spring-javaformat/spring-javaformat-checkstyle/src/test/resources/source/JavadocNonPublicSince.java
index 58e914d3..025d5152 100644
--- a/spring-javaformat/spring-javaformat-checkstyle/src/test/resources/source/JavadocNonPublicSince.java
+++ b/spring-javaformat/spring-javaformat-checkstyle/src/test/resources/source/JavadocNonPublicSince.java
@@ -27,7 +27,7 @@ class JavadocNonPublicSince {
*
* @since 1.2.3
*/
- private static class Inner {
+ private static final class Inner {
}
diff --git a/spring-javaformat/spring-javaformat-checkstyle/src/test/resources/source/MethodVisibilityInnerClassesWithPublicMethod.java b/spring-javaformat/spring-javaformat-checkstyle/src/test/resources/source/MethodVisibilityInnerClassesWithPublicMethod.java
index cf10eb76..342045dd 100644
--- a/spring-javaformat/spring-javaformat-checkstyle/src/test/resources/source/MethodVisibilityInnerClassesWithPublicMethod.java
+++ b/spring-javaformat/spring-javaformat-checkstyle/src/test/resources/source/MethodVisibilityInnerClassesWithPublicMethod.java
@@ -21,7 +21,7 @@
*/
public class MethodVisibilityInnerClassesWithPublicMethod {
- private static class PrivateInnerClass {
+ private static final class PrivateInnerClass {
public void badPrivateInner() {
}
diff --git a/spring-javaformat/spring-javaformat-checkstyle/src/test/resources/source/MethodVisibilityWithOverride.java b/spring-javaformat/spring-javaformat-checkstyle/src/test/resources/source/MethodVisibilityWithOverride.java
index 2be96a19..90d850dd 100644
--- a/spring-javaformat/spring-javaformat-checkstyle/src/test/resources/source/MethodVisibilityWithOverride.java
+++ b/spring-javaformat/spring-javaformat-checkstyle/src/test/resources/source/MethodVisibilityWithOverride.java
@@ -21,7 +21,7 @@
*/
public class MethodVisibilityWithOverride {
- private static class PrivateInnerClass {
+ private static final class PrivateInnerClass {
@Override
public void okPrivateInner() {
diff --git a/spring-javaformat/spring-javaformat-formatter-eclipse-rewriter/src/main/java/io/spring/javaformat/formatter/eclipse/rewrite/EclipseRewriter.java b/spring-javaformat/spring-javaformat-formatter-eclipse-rewriter/src/main/java/io/spring/javaformat/formatter/eclipse/rewrite/EclipseRewriter.java
index e7ccea52..f2b206e0 100644
--- a/spring-javaformat/spring-javaformat-formatter-eclipse-rewriter/src/main/java/io/spring/javaformat/formatter/eclipse/rewrite/EclipseRewriter.java
+++ b/spring-javaformat/spring-javaformat-formatter-eclipse-rewriter/src/main/java/io/spring/javaformat/formatter/eclipse/rewrite/EclipseRewriter.java
@@ -254,7 +254,15 @@ public void visitEnd() {
enum JdkVersion {
- V8, V11
+ /**
+ * JDK version 8.
+ */
+ V8,
+
+ /**
+ * JDK version 11.
+ */
+ V11
}
diff --git a/src/checkstyle/checkstyle.xml b/src/checkstyle/checkstyle.xml
index c13faf85..2849ef9f 100644
--- a/src/checkstyle/checkstyle.xml
+++ b/src/checkstyle/checkstyle.xml
@@ -93,7 +93,7 @@
-
+