-
Notifications
You must be signed in to change notification settings - Fork 517
Expand file tree
/
Copy pathrewrite.yml
More file actions
118 lines (118 loc) · 5.67 KB
/
rewrite.yml
File metadata and controls
118 lines (118 loc) · 5.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#
# Copyright 2024 the original author or authors.
# <p>
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# <p>
# https://www.apache.org/licenses/LICENSE-2.0
# <p>
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
---
# Apply a subset of best practices to OpenRewrite recipes; typically run before committing changes.
# Any differences produced by this recipe will result in code suggestion comments on pull requests.
---
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.recipes.rewrite.OpenRewriteRecipeBestPracticesSubset
displayName: OpenRewrite best practices
description: Best practices for OpenRewrite recipe development.
preconditions:
- org.openrewrite.FindSourceFiles:
filePattern: "!(**/internal/grammar/*.*)"
recipeList:
- org.openrewrite.recipes.JavaRecipeBestPracticesSubset
- org.openrewrite.recipes.RecipeTestingBestPracticesSubset
- org.openrewrite.recipes.RecipeNullabilityBestPracticesSubset
# - org.openrewrite.java.recipes.ExamplesExtractor
# - org.openrewrite.java.OrderImports
- org.openrewrite.java.RemoveUnusedImports
- org.openrewrite.java.SimplifySingleElementAnnotation
- org.openrewrite.java.format.EmptyNewlineAtEndOfFile
- org.openrewrite.java.format.RemoveTrailingWhitespace
- org.openrewrite.staticanalysis.CompareEnumsWithEqualityOperator
- org.openrewrite.staticanalysis.EqualsAvoidsNull
- org.openrewrite.staticanalysis.InlineVariable
- org.openrewrite.staticanalysis.LambdaBlockToExpression
- org.openrewrite.staticanalysis.MissingOverrideAnnotation
- org.openrewrite.staticanalysis.OperatorWrap:
wrapOption: EOL
# - org.openrewrite.staticanalysis.RemoveRedundantNullCheckBeforeInstanceof
# - org.openrewrite.staticanalysis.RemoveUnusedLocalVariables
# - org.openrewrite.staticanalysis.RemoveUnusedPrivateFields
# - org.openrewrite.staticanalysis.RemoveUnusedPrivateMethods
# - org.openrewrite.staticanalysis.UnwrapElseAfterReturn
- org.openrewrite.staticanalysis.UseDiamondOperator
- org.openrewrite.java.UseStaticImport:
methodPattern: java.util.stream.Collectors *(..)
- org.openrewrite.java.UseStaticImport:
methodPattern: java.util.Collections *(..)
---
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.recipes.JavaRecipeBestPracticesSubset
displayName: Java Recipe best practices
description: Best practices for Java recipe development.
preconditions:
- org.openrewrite.java.search.FindTypes:
fullyQualifiedTypeName: org.openrewrite.Recipe
checkAssignability: true
recipeList:
- org.openrewrite.java.recipes.BlankLinesAroundFieldsWithAnnotations
- org.openrewrite.java.recipes.CorrectlySpacedDescriptions
# - org.openrewrite.java.recipes.ExecutionContextParameterName
- org.openrewrite.java.recipes.IsLiteralNullRecipe
- org.openrewrite.java.recipes.MissingOptionExample
- org.openrewrite.java.recipes.NoMutableStaticFieldsInRecipes
- org.openrewrite.java.recipes.RecipeEqualsAndHashCodeCallSuper
- org.openrewrite.java.recipes.UseTreeRandomId
- org.openrewrite.java.recipes.migrate.RemoveTraitsUsageRecipes
- org.openrewrite.staticanalysis.NeedBraces
# - org.openrewrite.staticanalysis.RemoveSystemOutPrintln
# - org.openrewrite.java.RemoveAnnotation:
# annotationPattern: '@org.openrewrite.NlsRewrite.DisplayName'
# - org.openrewrite.java.RemoveAnnotation:
# annotationPattern: '@org.openrewrite.NlsRewrite.Description'
---
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.recipes.RecipeTestingBestPracticesSubset
displayName: Recipe testing best practices
description: Best practices for testing recipes.
preconditions:
- org.openrewrite.java.search.FindTypes:
fullyQualifiedTypeName: org.openrewrite.test.RewriteTest
checkAssignability: true
recipeList:
- org.openrewrite.java.recipes.RewriteTestClassesShouldNotBePublic
# - org.openrewrite.java.recipes.SelectRecipeExamples
- org.openrewrite.java.recipes.SingleDocumentExample
- org.openrewrite.java.recipes.ReorderTestMethods
- org.openrewrite.java.recipes.ReplaceNullWithDoesNotExist
- org.openrewrite.java.recipes.SourceSpecTextBlockNewLine
- org.openrewrite.java.recipes.SourceSpecTextBlockIndentation
- org.openrewrite.java.testing.cleanup.RemoveTestPrefix
- org.openrewrite.java.testing.cleanup.TestsShouldNotBePublic
- org.openrewrite.staticanalysis.NeedBraces
# - org.openrewrite.staticanalysis.RemoveSystemOutPrintln
- org.openrewrite.staticanalysis.ReorderAnnotations
- org.openrewrite.java.UseStaticImport:
methodPattern: 'org.openrewrite..Assertions *(..)'
---
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.recipes.RecipeNullabilityBestPracticesSubset
displayName: Recipe nullability best practices
description: Use OpenRewrite internal nullability annotations; drop JetBrains annotations; use `package-info.java` instead.
recipeList:
# - org.openrewrite.java.jspecify.MigrateFromOpenRewriteAnnotations
- org.openrewrite.java.RemoveAnnotation:
annotationPattern: '@org.jetbrains.annotations.NotNull'
# - org.openrewrite.java.RemoveAnnotation:
# annotationPattern: '@javax.annotation.Nonnull'
- org.openrewrite.java.RemoveAnnotation:
annotationPattern: '@jakarta.annotation.Nonnull'
# - org.openrewrite.java.jspecify.MigrateToJspecify
# - org.openrewrite.staticanalysis.AnnotateNullableMethods
- org.openrewrite.staticanalysis.NullableOnMethodReturnType