Skip to content

Commit f7787e9

Browse files
author
Vincent Potucek
committed
Issue #17487: Add AutoFixes
1 parent bbf23fc commit f7787e9

File tree

3 files changed

+107
-85
lines changed

3 files changed

+107
-85
lines changed

.ci/validation.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1273,7 +1273,7 @@ openrewrite-recipes)
12731273
set -e
12741274
echo "Running OpenRewrite recipes..."
12751275
./mvnw -e --no-transfer-progress -Drewrite.recipeChangeLogLevel=INFO \
1276-
rewrite:run -P checkstyle-autofix
1276+
rewrite:run -P checkstyle-autofix
12771277

12781278
echo "Checking for uncommitted changes..."
12791279
./.ci/print-diff-as-patch.sh target/rewrite.patch

pom.xml

Lines changed: 51 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -218,9 +218,6 @@
218218
<maven.versions.plugin.version>2.19.1</maven.versions.plugin.version>
219219
<maven.compiler.plugin.version>3.14.1</maven.compiler.plugin.version>
220220
<checkstyle.skipCompileInputResources>true</checkstyle.skipCompileInputResources>
221-
<checkstyle.openrewrite.version>1.0.0-SNAPSHOT</checkstyle.openrewrite.version>
222-
<rewrite-migrate-java.version>3.20.0</rewrite-migrate-java.version>
223-
<rewrite-static-analysis.version>2.20.0</rewrite-static-analysis.version>
224221
<java.version>17</java.version>
225222
<next.java.version>21</next.java.version>
226223
<maven.compiler.release>${java.version}</maven.compiler.release>
@@ -625,6 +622,56 @@
625622
</upToDateChecking>
626623
</configuration>
627624
</plugin>
625+
<plugin>
626+
<groupId>org.openrewrite.maven</groupId>
627+
<artifactId>rewrite-maven-plugin</artifactId>
628+
<version>6.21.1</version>
629+
<configuration>
630+
<exportDatatables>true</exportDatatables>
631+
<skipMavenParsing>true</skipMavenParsing>
632+
<activeRecipes>
633+
<recipe>org.checkstyle.AutoFixes</recipe>
634+
</activeRecipes>
635+
<exclusions>
636+
<exclusion>**.ci-temp**</exclusion>
637+
<exclusion>**/resources-noncompilable/**</exclusion>
638+
<exclusion>**AvoidEscapedUnicodeCharactersCheckTest.java</exclusion>
639+
<exclusion>**FinalClassCheck.java</exclusion>
640+
<exclusion>**src/it/resources**</exclusion>
641+
<exclusion>**src/test/resources**</exclusion>
642+
<exclusion>**xdocs-examples**</exclusion>
643+
</exclusions>
644+
<plainTextMasks>
645+
<plainTextMask>**/*.xml</plainTextMask>
646+
<plainTextMask>**/*.yml</plainTextMask>
647+
<plainTextMask>**/*.groovy</plainTextMask>
648+
<plainTextMask>**/resources/**</plainTextMask>
649+
<plainTextMask>**/resources-noncompilable/**</plainTextMask>
650+
</plainTextMasks>
651+
</configuration>
652+
<dependencies>
653+
<dependency>
654+
<groupId>org.openrewrite.recipe</groupId>
655+
<artifactId>rewrite-migrate-java</artifactId>
656+
<version>3.20.0</version>
657+
</dependency>
658+
<dependency>
659+
<groupId>org.openrewrite.recipe</groupId>
660+
<artifactId>rewrite-java-security</artifactId>
661+
<version>3.20.0</version>
662+
</dependency>
663+
<dependency>
664+
<groupId>org.openrewrite.recipe</groupId>
665+
<artifactId>rewrite-static-analysis</artifactId>
666+
<version>2.20.0</version>
667+
</dependency>
668+
<dependency>
669+
<groupId>org.openrewrite.recipe</groupId>
670+
<artifactId>rewrite-rewrite</artifactId>
671+
<version>0.14.0</version>
672+
</dependency>
673+
</dependencies>
674+
</plugin>
628675
<plugin>
629676
<groupId>org.apache.maven.plugins</groupId>
630677
<artifactId>maven-pmd-plugin</artifactId>
@@ -5506,91 +5553,16 @@
55065553
<plugin>
55075554
<groupId>org.openrewrite.maven</groupId>
55085555
<artifactId>rewrite-maven-plugin</artifactId>
5509-
<version>6.22.1</version>
5510-
<configuration>
5511-
<exportDatatables>true</exportDatatables>
5512-
<skipMavenParsing>true</skipMavenParsing>
5513-
<activeRecipes>
5514-
<recipe>org.checkstyle.CheckstyleAutoFix</recipe>
5515-
<recipe>org.openrewrite.java.RemoveUnusedImports</recipe>
5516-
<recipe>org.openrewrite.java.format.RemoveTrailingWhitespace</recipe>
5517-
<recipe>org.openrewrite.java.migrate.UpgradeToJava17</recipe>
5518-
<recipe>org.openrewrite.java.recipes.JavaRecipeBestPractices</recipe>
5519-
<recipe>org.openrewrite.java.recipes.RecipeTestingBestPractices</recipe>
5520-
<recipe>org.openrewrite.maven.BestPractices</recipe>
5521-
<recipe>org.openrewrite.staticanalysis.EqualsAvoidsNull</recipe>
5522-
<recipe>org.openrewrite.staticanalysis.JavaApiBestPractices</recipe>
5523-
<recipe>org.openrewrite.staticanalysis.LowercasePackage</recipe>
5524-
<recipe>org.openrewrite.staticanalysis.MissingOverrideAnnotation</recipe>
5525-
<recipe>org.openrewrite.staticanalysis.ModifierOrder</recipe>
5526-
<recipe>org.openrewrite.staticanalysis.NoFinalizer</recipe>
5527-
<recipe>org.openrewrite.staticanalysis.RemoveUnusedLocalVariables</recipe>
5528-
<recipe>org.openrewrite.staticanalysis.RemoveUnusedPrivateFields</recipe>
5529-
<recipe>org.openrewrite.staticanalysis.RemoveUnusedPrivateMethods</recipe>
5530-
<recipe>tech.picnic.errorprone.refasterrules.BigDecimalRulesRecipes</recipe>
5531-
<recipe>tech.picnic.errorprone.refasterrules.CharSequenceRulesRecipes</recipe>
5532-
<recipe>tech.picnic.errorprone.refasterrules.ClassRulesRecipes</recipe>
5533-
<recipe>tech.picnic.errorprone.refasterrules.CollectionRulesRecipes</recipe>
5534-
<recipe>tech.picnic.errorprone.refasterrules.ComparatorRulesRecipes</recipe>
5535-
<recipe>tech.picnic.errorprone.refasterrules.FileRulesRecipes</recipe>
5536-
<recipe>tech.picnic.errorprone.refasterrules.MicrometerRulesRecipes</recipe>
5537-
<recipe>tech.picnic.errorprone.refasterrules.PatternRulesRecipes</recipe>
5538-
<recipe>tech.picnic.errorprone.refasterrules.PreconditionsRulesRecipes</recipe>
5539-
<recipe>tech.picnic.errorprone.refasterrules.PrimitiveRulesRecipes</recipe>
5540-
<recipe>tech.picnic.errorprone.refasterrules.StreamRulesRecipes</recipe>
5541-
<recipe>tech.picnic.errorprone.refasterrules.TimeRulesRecipes</recipe>
5542-
</activeRecipes>
5543-
<exclusions>
5544-
<exclusion>**.ci-temp**</exclusion>
5545-
<exclusion>**/resources-noncompilable/**</exclusion>
5546-
<exclusion>**src/it/resources**</exclusion>
5547-
<exclusion>**src/test/resources**</exclusion>
5548-
<exclusion>**xdocs-examples**</exclusion>
5549-
</exclusions>
5550-
<plainTextMasks>
5551-
<plainTextMask>**/*.xml</plainTextMask>
5552-
<plainTextMask>**/*.yml</plainTextMask>
5553-
<plainTextMask>**/*.groovy</plainTextMask>
5554-
<plainTextMask>**/resources/**</plainTextMask>
5555-
<plainTextMask>**/resources-noncompilable/**</plainTextMask>
5556-
</plainTextMasks>
5557-
</configuration>
55585556
<dependencies>
55595557
<dependency>
55605558
<groupId>com.puppycrawl.tools</groupId>
55615559
<artifactId>checkstyle-openrewrite-recipes</artifactId>
5562-
<version>${checkstyle.openrewrite.version}</version>
5563-
</dependency>
5564-
<dependency>
5565-
<groupId>org.openrewrite.recipe</groupId>
5566-
<artifactId>rewrite-migrate-java</artifactId>
5567-
<version>${rewrite-migrate-java.version}</version>
5568-
</dependency>
5569-
<dependency>
5570-
<groupId>org.openrewrite.recipe</groupId>
5571-
<artifactId>rewrite-static-analysis</artifactId>
5572-
<version>${rewrite-static-analysis.version}</version>
5573-
</dependency>
5574-
<dependency>
5575-
<groupId>org.openrewrite.recipe</groupId>
5576-
<artifactId>rewrite-rewrite</artifactId>
5577-
<version>0.14.1</version>
5560+
<version>1.0.0-SNAPSHOT</version>
55785561
</dependency>
55795562
</dependencies>
55805563
</plugin>
55815564
</plugins>
55825565
</build>
55835566
</profile>
5584-
<profile>
5585-
<id>spotless-autofix</id>
5586-
<build>
5587-
<plugins>
5588-
<plugin>
5589-
<groupId>com.diffplug.spotless</groupId>
5590-
<artifactId>spotless-maven-plugin</artifactId>
5591-
</plugin>
5592-
</plugins>
5593-
</build>
5594-
</profile>
55955567
</profiles>
55965568
</project>

rewrite.yml

Lines changed: 55 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
22
type: specs.openrewrite.org/v1beta/recipe
3-
name: org.checkstyle.CheckstyleAutoFix
4-
displayName: Checkstyle Auto Fix Configured
3+
name: org.checkstyle.CheckstyleOpenRewriteRecipes
4+
displayName: Checkstyle OpenRewrite Recipes Auto Fix Configuration
55
description: |
6-
Automatically applies OpenRewrite recipes to fix Checkstyle violations
7-
based on the provided Checkstyle XML violation report. This recipe serves
8-
as an entry point to apply all auto-fixable rules configured in the report.
6+
Automatically applies Checkstyle OpenRewrite recipes to fix Checkstyle violations
7+
based on the provided XML violation report. This recipe serves as an
8+
entry point, to apply auto-fixable rules configured in the report.
99
tags:
1010
- checkstyle
1111
- autofix
@@ -17,3 +17,53 @@ recipeList:
1717
violationReportPath: "target/cs_errors.xml"
1818
configurationPath: "config/checkstyle-checks.xml"
1919
propertiesPath: "config/openrewrite-recipes-checkstyle.properties"
20+
---
21+
type: specs.openrewrite.org/v1beta/recipe
22+
name: org.checkstyle.AutoFixes
23+
displayName: Auto Fixes
24+
description: Comprehensive quality recipe combining modernization, security, and best practices.
25+
recipeList:
26+
- org.checkstyle.CheckstyleOpenRewriteRecipes # checkstyle-openrewrite-recipes/issues/116
27+
- org.openrewrite.java.RemoveUnusedImports
28+
- org.openrewrite.java.format.NormalizeFormat
29+
- org.openrewrite.java.format.NormalizeLineBreaks
30+
- org.openrewrite.java.format.RemoveTrailingWhitespace
31+
- org.openrewrite.java.migrate.UpgradeToJava17
32+
- org.openrewrite.java.recipes.JavaRecipeBestPractices
33+
- org.openrewrite.java.recipes.RecipeTestingBestPractices
34+
- org.openrewrite.maven.BestPractices
35+
- org.openrewrite.staticanalysis.BufferedWriterCreationRecipes
36+
- org.openrewrite.staticanalysis.EqualsAvoidsNull
37+
- org.openrewrite.staticanalysis.InlineVariable
38+
- org.openrewrite.staticanalysis.JavaApiBestPractices
39+
- org.openrewrite.staticanalysis.LowercasePackage
40+
- org.openrewrite.staticanalysis.MissingOverrideAnnotation
41+
- org.openrewrite.staticanalysis.ModifierOrder
42+
- org.openrewrite.staticanalysis.NoFinalizer
43+
- org.openrewrite.staticanalysis.NoToStringOnStringType
44+
- org.openrewrite.staticanalysis.RemoveUnusedLocalVariables
45+
- org.openrewrite.staticanalysis.RemoveUnusedPrivateFields
46+
- org.openrewrite.staticanalysis.RemoveUnusedPrivateMethods
47+
- org.openrewrite.staticanalysis.ReplaceLambdaWithMethodReference
48+
- org.openrewrite.staticanalysis.SimplifyTernaryRecipes
49+
- org.openrewrite.staticanalysis.URLEqualsHashCodeRecipes
50+
- org.openrewrite.staticanalysis.UnnecessaryCloseInTryWithResources
51+
- org.openrewrite.staticanalysis.UnnecessaryExplicitTypeArguments
52+
- org.openrewrite.staticanalysis.UnnecessaryParentheses
53+
- org.openrewrite.staticanalysis.UnnecessaryReturnAsLastStatement
54+
- org.openrewrite.staticanalysis.UseLambdaForFunctionalInterface
55+
- tech.picnic.errorprone.refasterrules.BigDecimalRulesRecipes
56+
- tech.picnic.errorprone.refasterrules.CharSequenceRulesRecipes
57+
- tech.picnic.errorprone.refasterrules.ClassRulesRecipes
58+
- tech.picnic.errorprone.refasterrules.CollectionRulesRecipes
59+
- tech.picnic.errorprone.refasterrules.ComparatorRulesRecipes
60+
- tech.picnic.errorprone.refasterrules.FileRulesRecipes
61+
- tech.picnic.errorprone.refasterrules.MapRulesRecipes
62+
- tech.picnic.errorprone.refasterrules.MicrometerRulesRecipes
63+
- tech.picnic.errorprone.refasterrules.MockitoRulesRecipes
64+
- tech.picnic.errorprone.refasterrules.PatternRulesRecipes
65+
- tech.picnic.errorprone.refasterrules.PreconditionsRulesRecipes
66+
- tech.picnic.errorprone.refasterrules.PrimitiveRulesRecipes
67+
- tech.picnic.errorprone.refasterrules.StreamRulesRecipes
68+
- tech.picnic.errorprone.refasterrules.TimeRulesRecipes
69+
---

0 commit comments

Comments
 (0)