Skip to content

Commit a49f295

Browse files
author
Vincent Potucek
committed
Add error-prone.picnic.tech
1 parent 90ff85a commit a49f295

File tree

5 files changed

+289
-27
lines changed

5 files changed

+289
-27
lines changed

build.gradle

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@ repositories {
1212
apply from: rootProject.file('gradle/java-publish.gradle')
1313
apply from: rootProject.file('gradle/changelog.gradle')
1414
allprojects {
15-
apply from: rootProject.file('gradle/rewrite.gradle')
16-
apply from: rootProject.file('gradle/spotless.gradle')
15+
apply from: rootProject.file('gradle/sanity-check.gradle')
1716
}
1817
apply from: rootProject.file('gradle/spotless-freshmark.gradle')
1918

gradle/rewrite.gradle

Lines changed: 0 additions & 24 deletions
This file was deleted.

gradle/sanity-check.gradle

Lines changed: 287 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,287 @@
1+
import static java.lang.System.getenv
2+
3+
apply from: rootProject.file('gradle/spotless.gradle')
4+
apply plugin: 'net.ltgt.errorprone'
5+
apply plugin: 'org.openrewrite.rewrite'
6+
7+
rewrite {
8+
activeRecipe('com.diffplug.spotless.openrewrite.SanityCheck')
9+
activeStyle('com.diffplug.spotless.openrewrite.SpotlessFormat')
10+
exclusions.addAll(
11+
'**.dirty.java',
12+
'**FormatterProperties.java',
13+
'**_gradle_node_plugin_example_**',
14+
'**gradle/changelog.gradle',
15+
'**gradle/java-publish.gradle',
16+
'**idea/full.clean.java',
17+
'**java-setup.gradle',
18+
'**lib-extra/build.gradle',
19+
'**lib/build.gradle',
20+
'**package-info.java',
21+
'**plugin-maven/build.gradle',
22+
'**settings.gradle',
23+
'**special-tests.gradle',
24+
'**testlib/src/main/resources**'
25+
)
26+
exportDatatables = true
27+
failOnDryRunResults = true
28+
}
29+
30+
tasks.withType(JavaCompile).configureEach {
31+
options.errorprone {
32+
disableWarningsInGeneratedCode = true
33+
disable(
34+
// avoid
35+
'StaticImport',
36+
// bug
37+
'AddNullMarkedToPackageInfo',
38+
'Slf4jLogStatement',
39+
'Slf4jLogStatement',
40+
)
41+
// dev opt-in
42+
if (!getenv().containsKey('CI') && getenv('IN_PLACE')?.toBoolean()) {
43+
// apply
44+
errorproneArgs.addAll(
45+
'-XepPatchLocation:IN_PLACE',
46+
'-XepPatchChecks:' +
47+
'AddNullMarkedToPackageInfo,' +
48+
'AlwaysThrows,' +
49+
'AmbiguousJsonCreator,' +
50+
'AndroidInjectionBeforeSuper,' +
51+
'ArrayEquals,' +
52+
'ArrayFillIncompatibleType,' +
53+
'ArrayHashCode,' +
54+
'ArrayToString,' +
55+
'ArraysAsListPrimitiveArray,' +
56+
'AssertJNullnessAssertion,' +
57+
'AsyncCallableReturnsNull,' +
58+
'AsyncFunctionReturnsNull,' +
59+
'AutoValueBuilderDefaultsInConstructor,' +
60+
'AutoValueConstructorOrderChecker,' +
61+
'AutowiredConstructor,' +
62+
'BadAnnotationImplementation,' +
63+
'BadShiftAmount,' +
64+
'BanJNDI,' +
65+
'BoxedPrimitiveEquality,' +
66+
'BundleDeserializationCast,' +
67+
'CanonicalAnnotationSyntax,' +
68+
'CanonicalClassNameUsage,' +
69+
'ChainingConstructorIgnoresParameter,' +
70+
'CheckNotNullMultipleTimes,' +
71+
'CheckReturnValue,' +
72+
'ClassCastLambdaUsage,' +
73+
'CollectionIncompatibleType,' +
74+
'CollectionToArraySafeParameter,' +
75+
'CollectorMutability,' +
76+
'ComparableType,' +
77+
'ComparingThisWithNull,' +
78+
'ComparisonOutOfRange,' +
79+
'CompatibleWithAnnotationMisuse,' +
80+
'CompileTimeConstant,' +
81+
'ComputeIfAbsentAmbiguousReference,' +
82+
'ConditionalExpressionNumericPromotion,' +
83+
'ConstantNaming,' +
84+
'ConstantOverflow,' +
85+
'DaggerProvidesNull,' +
86+
'DangerousLiteralNull,' +
87+
'DeadException,' +
88+
'DeadThread,' +
89+
'DefaultCharset,' +
90+
'DereferenceWithNullBranch,' +
91+
'DirectReturn,' +
92+
'DiscardedPostfixExpression,' +
93+
'DoNotCall,' +
94+
'DoNotMock,' +
95+
'DoubleBraceInitialization,' +
96+
'DuplicateMapKeys,' +
97+
'DurationFrom,' +
98+
'DurationGetTemporalUnit,' +
99+
'DurationTemporalUnit,' +
100+
'DurationToLongTimeUnit,' +
101+
'EagerStringFormatting,' +
102+
'EmptyMethod,' +
103+
'EmptyMonoZip,' +
104+
'EqualsHashCode,' +
105+
'EqualsNaN,' +
106+
'EqualsNull,' +
107+
'EqualsReference,' +
108+
'EqualsWrongThing,' +
109+
'ExplicitArgumentEnumeration,' +
110+
'ExplicitEnumOrdering,' +
111+
'FloggerFormatString,' +
112+
'FloggerLogString,' +
113+
'FloggerLogVarargs,' +
114+
'FloggerSplitLogStatement,' +
115+
'FluxFlatMapUsage,' +
116+
'FluxImplicitBlock,' +
117+
'ForOverride,' +
118+
'FormatString,' +
119+
'FormatStringAnnotation,' +
120+
'FormatStringConcatenation,' +
121+
'FromTemporalAccessor,' +
122+
'FunctionalInterfaceMethodChanged,' +
123+
'FunctionalInterfaceMethodChanged,' +
124+
'FuturesGetCheckedIllegalExceptionType,' +
125+
'FuzzyEqualsShouldNotBeUsedInEqualsMethod,' +
126+
'GetClassOnAnnotation,' +
127+
'GetClassOnClass,' +
128+
'GuardedBy,' +
129+
'GuiceAssistedInjectScoping,' +
130+
'GuiceAssistedParameters,' +
131+
'GuiceInjectOnFinalField,' +
132+
'HashtableContains,' +
133+
'IdentityBinaryExpression,' +
134+
'IdentityConversion,' +
135+
'IdentityHashMapBoxing,' +
136+
'Immutable,' +
137+
'ImmutableEnumChecker,' +
138+
'ImmutablesSortedSetComparator,' +
139+
'ImpossibleNullComparison,' +
140+
'Incomparable,' +
141+
'IncompatibleArgumentType,' +
142+
'IncompatibleModifiers,' +
143+
'IndexOfChar,' +
144+
'InexactVarargsConditional,' +
145+
'InfiniteRecursion,' +
146+
'InjectMoreThanOneScopeAnnotationOnClass,' +
147+
'InjectOnMemberAndConstructor,' +
148+
'InlineMeValidator,' +
149+
'InstantTemporalUnit,' +
150+
'InvalidJavaTimeConstant,' +
151+
'InvalidPatternSyntax,' +
152+
'InvalidTimeZoneID,' +
153+
'InvalidZoneId,' +
154+
'IsInstanceIncompatibleType,' +
155+
'IsInstanceLambdaUsage,' +
156+
'IsInstanceOfClass,' +
157+
'IsLoggableTagLength,' +
158+
'JUnit3TestNotRun,' +
159+
'JUnit4ClassAnnotationNonStatic,' +
160+
'JUnit4SetUpNotRun,' +
161+
'JUnit4TearDownNotRun,' +
162+
'JUnit4TestNotRun,' +
163+
'JUnit4TestsNotRunWithinEnclosed,' +
164+
'JUnitAssertSameCheck,' +
165+
'JUnitClassModifiers,' +
166+
'JUnitMethodDeclaration,' +
167+
'JUnitNullaryParameterizedTestDeclaration,' +
168+
'JUnitParameterMethodNotFound,' +
169+
'JUnitValueSource,' +
170+
'JavaxInjectOnAbstractMethod,' +
171+
'JodaToSelf,' +
172+
'LenientFormatStringValidation,' +
173+
'LexicographicalAnnotationAttributeListing,' +
174+
'LexicographicalAnnotationListing,' +
175+
'LiteByteStringUtf8,' +
176+
'LocalDateTemporalAmount,' +
177+
'LockOnBoxedPrimitive,' +
178+
'LoopConditionChecker,' +
179+
'LossyPrimitiveCompare,' +
180+
'MathRoundIntLong,' +
181+
'MislabeledAndroidString,' +
182+
'MisleadingEmptyVarargs,' +
183+
'MisleadingEscapedSpace,' +
184+
'MisplacedScopeAnnotations,' +
185+
'MissingOverride,' +
186+
'MissingSuperCall,' +
187+
'MissingTestCall,' +
188+
'MisusedDayOfYear,' +
189+
'MisusedWeekYear,' +
190+
'MixedDescriptors,' +
191+
'MockitoMockClassReference,' +
192+
'MockitoStubbing,' +
193+
'MockitoUsage,' +
194+
'ModifyingCollectionWithItself,' +
195+
'MongoDBTextFilterUsage,' +
196+
'MoreThanOneInjectableConstructor,' +
197+
'MustBeClosedChecker,' +
198+
'NCopiesOfChar,' +
199+
'NestedOptionals,' +
200+
'NestedPublishers,' +
201+
'NoCanIgnoreReturnValueOnClasses,' +
202+
'NonCanonicalStaticImport,' +
203+
'NonEmptyMono,' +
204+
'NonFinalCompileTimeConstant,' +
205+
'NonRuntimeAnnotation,' +
206+
'NonStaticImport,' +
207+
'NullArgumentForNonNullParameter,' +
208+
'NullTernary,' +
209+
'NullableOnContainingClass,' +
210+
'OptionalEquality,' +
211+
'OptionalMapUnusedValue,' +
212+
'OptionalOfRedundantMethod,' +
213+
'OptionalOrElseGet,' +
214+
'OverlappingQualifierAndScopeAnnotation,' +
215+
'OverridesJavaxInjectableMethod,' +
216+
'PackageInfo,' +
217+
'ParametersButNotParameterized,' +
218+
'ParcelableCreator,' +
219+
'PeriodFrom,' +
220+
'PeriodGetTemporalUnit,' +
221+
'PeriodTimeMath,' +
222+
'PreconditionsInvalidPlaceholder,' +
223+
'PrimitiveComparison,' +
224+
'PrivateSecurityContractProtoAccess,' +
225+
'ProtoBuilderReturnValueIgnored,' +
226+
'ProtoStringFieldReferenceEquality,' +
227+
'ProtoTruthMixedDescriptors,' +
228+
'ProtocolBufferOrdinal,' +
229+
'ProvidesMethodOutsideOfModule,' +
230+
'RandomCast,' +
231+
'RandomModInteger,' +
232+
'RectIntersectReturnValueIgnored,' +
233+
'RedundantSetterCall,' +
234+
'RedundantStringConversion,' +
235+
'RedundantStringEscape,' +
236+
'RefasterAnyOfUsage,' +
237+
'RequestMappingAnnotation,' +
238+
'RequestParamType,' +
239+
'RequiredModifiers,' +
240+
'RestrictedApi,' +
241+
'ReturnValueIgnored,' +
242+
'SelfAssertion,' +
243+
'SelfAssignment,' +
244+
'SelfComparison,' +
245+
'SelfEquals,' +
246+
'SetUnrecognized,' +
247+
'ShouldHaveEvenArgs,' +
248+
'SizeGreaterThanOrEqualsZero,' +
249+
'Slf4jLogStatement,' +
250+
'Slf4jLoggerDeclarationSlf4jLoggerDeclaration,' +
251+
'SpringMvcAnnotation,' +
252+
'StreamToString,' +
253+
'StringBuilderInitWithChar,' +
254+
'StringJoin,' +
255+
'SubstringOfZero,' +
256+
'SuppressWarningsDeprecated,' +
257+
'TemporalAccessorGetChronoField,' +
258+
'TestParametersNotInitialized,' +
259+
'TheoryButNoTheories,' +
260+
'ThreadBuilderNameWithPlaceholder,' +
261+
'ThrowIfUncheckedKnownChecked,' +
262+
'ThrowNull,' +
263+
'TimeZoneUsage,' +
264+
'TreeToString,' +
265+
'TryFailThrowable,' +
266+
'TypeParameterQualifier,' +
267+
'UnicodeDirectionalityCharacters,' +
268+
'UnicodeInCode,' +
269+
'UnnecessaryCheckNotNull,' +
270+
'UnnecessaryTypeArgument,' +
271+
'UnsafeWildcard,' +
272+
'UnusedAnonymousClass,' +
273+
'UnusedCollectionModifiedInPlace,' +
274+
'VarTypeName,' +
275+
'WrongOneof,' +
276+
'XorPower,' +
277+
'ZoneIdOfZ,'
278+
)
279+
}
280+
}
281+
}
282+
283+
dependencies {
284+
errorprone('com.google.errorprone:error_prone_core:2.42.0')
285+
errorprone('tech.picnic.error-prone-support:error-prone-contrib:0.25.0')
286+
errorprone('tech.picnic.error-prone-support:refaster-runner:0.25.0')
287+
}

rewrite.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ tags:
1010
- cleanup
1111
recipeList:
1212
- org.openrewrite.gradle.EnableGradleBuildCache
13-
- org.openrewrite.gradle.EnableGradleParallelExecution
1413
- org.openrewrite.gradle.GradleBestPractices
1514
- org.openrewrite.java.RemoveUnusedImports
1615
- org.openrewrite.java.format.NormalizeFormat

settings.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ plugins {
2323
id 'com.gradle.develocity' version '4.2.1'
2424
// https://github.com/equodev/equo-ide/blob/main/plugin-gradle/CHANGELOG.md
2525
id 'dev.equo.ide' version '1.7.8' apply false
26+
id 'net.ltgt.errorprone' version '4.3.0' apply false
2627
id 'org.openrewrite.rewrite' version '7.17.0' apply false
2728
}
2829

0 commit comments

Comments
 (0)