diff options
author | Andreas Gampe <agampe@google.com> | 2018-06-01 15:46:12 -0700 |
---|---|---|
committer | Andreas Gampe <agampe@google.com> | 2018-06-06 16:38:54 -0700 |
commit | c653c1195b0a3d0392ba094bc2831cdfb22db4e5 (patch) | |
tree | 5c7956525ff817a81a546e1728e7f49201761bb7 /soong/error_prone.go | |
parent | ce8219b911658a99cdf4f46c2bb16d65ac6d75e7 (diff) | |
download | error_prone-c653c1195b0a3d0392ba094bc2831cdfb22db4e5.tar.gz |
Errorprone: Change error setup
Add ErrorProneChecksWarning. Do not use "-XepAllErrorsAsWarnings." This
improves the pickup of new warnings in newer versions, and shows what
further options could be enabled.
Bug: 72971960
Test: m RUN_ERROR_PRONE=true javac-check
Change-Id: Ia4416d941e65ad0b9ba5e23dadf3c304c8df5f10
Diffstat (limited to 'soong/error_prone.go')
-rw-r--r-- | soong/error_prone.go | 237 |
1 files changed, 233 insertions, 4 deletions
diff --git a/soong/error_prone.go b/soong/error_prone.go index a61e62f..5353528 100644 --- a/soong/error_prone.go +++ b/soong/error_prone.go @@ -34,6 +34,7 @@ func init() { // The checks that are fatal to the build. config.ErrorProneChecksError = strings.Join([]string{ + // Errorprone default severity ERROR "-Xep:AsyncCallableReturnsNull:ERROR", "-Xep:AsyncFunctionReturnsNull:ERROR", "-Xep:BundleDeserializationCast:ERROR", @@ -62,12 +63,12 @@ func init() { "-Xep:InjectMoreThanOneScopeAnnotationOnClass:ERROR", "-Xep:InvalidPatternSyntax:ERROR", "-Xep:IsInstanceOfClass:ERROR", - "-Xep:JavaxInjectOnAbstractMethod:ERROR", "-Xep:JUnit3TestNotRun:ERROR", "-Xep:JUnit4SetUpNotRun:ERROR", "-Xep:JUnit4TearDownNotRun:ERROR", "-Xep:JUnit4TestNotRun:ERROR", "-Xep:JUnitAssertSameCheck:ERROR", + "-Xep:JavaxInjectOnAbstractMethod:ERROR", "-Xep:LiteByteStringUtf8:ERROR", "-Xep:LoopConditionChecker:ERROR", "-Xep:MockitoCast:ERROR", @@ -94,6 +95,235 @@ func init() { "-Xep:TypeParameterQualifier:ERROR", "-Xep:UnnecessaryTypeArgument:ERROR", "-Xep:UnusedAnonymousClass:ERROR", + // Errorprone default severity WARNING + // Errorprone default severity SUGGESTION + }, " ") + + // The checks that are not fatal to the build. + config.ErrorProneChecksWarning = strings.Join([]string{ + // Errorprone default severity ERROR + "-Xep:AndroidInjectionBeforeSuper:WARN", + "-Xep:ArrayEquals:WARN", + "-Xep:ArrayFillIncompatibleType:WARN", + "-Xep:ArrayHashCode:WARN", + "-Xep:ArrayToString:WARN", + "-Xep:ArraysAsListPrimitiveArray:WARN", + "-Xep:AutoValueConstructorOrderChecker:WARN", + "-Xep:BadShiftAmount:WARN", + "-Xep:ComparableType:WARN", + "-Xep:ComplexBooleanConstant:WARN", + "-Xep:ConditionalExpressionNumericPromotion:WARN", + "-Xep:ConstantOverflow:WARN", + "-Xep:EqualsReference:WARN", + "-Xep:FormatString:WARN", + "-Xep:FormatStringAnnotation:WARN", + "-Xep:GetClassOnAnnotation:WARN", + "-Xep:GetClassOnClass:WARN", + "-Xep:GuardedBy:WARN", + "-Xep:HashtableContains:WARN", + "-Xep:IdentityBinaryExpression:WARN", + "-Xep:InexactVarargsConditional:WARN", + "-Xep:InvalidTimeZoneID:WARN", + "-Xep:IsLoggableTagLength:WARN", + "-Xep:JUnit4ClassAnnotationNonStatic:WARN", + "-Xep:MislabeledAndroidString:WARN", + "-Xep:MissingSuperCall:WARN", + "-Xep:MisusedWeekYear:WARN", + "-Xep:ModifyingCollectionWithItself:WARN", + "-Xep:NCopiesOfChar:WARN", + "-Xep:NonRuntimeAnnotation:WARN", + "-Xep:NullTernary:WARN", + "-Xep:OverridesJavaxInjectableMethod:WARN", + "-Xep:PredicateIncompatibleType:WARN", + "-Xep:PrivateSecurityContractProtoAccess:WARN", + "-Xep:ProtocolBufferOrdinal:WARN", + "-Xep:RandomModInteger:WARN", + "-Xep:RectIntersectReturnValueIgnored:WARN", + "-Xep:ReturnValueIgnored:WARN", + "-Xep:SelfComparison:WARN", + "-Xep:SelfEquals:WARN", + "-Xep:ShouldHaveEvenArgs:WARN", + "-Xep:SizeGreaterThanOrEqualsZero:WARN", + "-Xep:StreamResourceLeak:WARN", + "-Xep:StringBuilderInitWithChar:WARN", + "-Xep:TryFailThrowable:WARN", + "-Xep:UnusedCollectionModifiedInPlace:WARN", + + // Errorprone default severity WARNING + // "-Xep:AmbiguousMethodReference:WARN", + // "-Xep:ArgumentSelectionDefectChecker:WARN", + // "-Xep:AssertEqualsArgumentOrderChecker:WARN", + // "-Xep:AssertionFailureIgnored:WARN", + // "-Xep:BadAnnotationImplementation:WARN", + // "-Xep:BadComparable:WARN", + // "-Xep:BoxedPrimitiveConstructor:WARN", + // "-Xep:CannotMockFinalClass:WARN", + // "-Xep:CanonicalDuration:WARN", + // "-Xep:CatchFail:WARN", + // "-Xep:ClassCanBeStatic:WARN", + // "-Xep:ClassNewInstance:WARN", + // "-Xep:CollectionToArraySafeParameter:WARN", + // "-Xep:CollectorShouldNotUseState:WARN", + // "-Xep:ComparableAndComparator:WARN", + // "-Xep:DateFormatConstant:WARN", + // "-Xep:DefaultCharset:WARN", + // "-Xep:DoubleCheckedLocking:WARN", + // "-Xep:EqualsHashCode:WARN", + // "-Xep:EqualsIncompatibleType:WARN", + // "-Xep:FallThrough:WARN", + // "-Xep:Finally:WARN", + // "-Xep:FloatCast:WARN", + // "-Xep:FloatingPointLiteralPrecision:WARN", + // "-Xep:FragmentInjection:WARN", + // "-Xep:FragmentNotInstantiable:WARN", + // "-Xep:FutureReturnValueIgnored:WARN", + // "-Xep:GetClassOnEnum:WARN", + // "-Xep:HidingField:WARN", + // "-Xep:ImmutableAnnotationChecker:WARN", + // "-Xep:ImmutableEnumChecker:WARN", + // "-Xep:IncompatibleModifiers:WARN", + // "-Xep:IncrementInForLoopAndHeader:WARN", + // "-Xep:InjectOnConstructorOfAbstractClass:WARN", + // "-Xep:InputStreamSlowMultibyteRead:WARN", + // "-Xep:InstanceOfAndCastMatchWrongType:WARN", + // "-Xep:IntLongMath:WARN", + // "-Xep:IterableAndIterator:WARN", + // "-Xep:JUnit3FloatingPointComparisonWithoutDelta:WARN", + // "-Xep:JUnit4ClassUsedInJUnit3:WARN", + // "-Xep:JUnitAmbiguousTestClass:WARN", + // "-Xep:JavaLangClash:WARN", + // "-Xep:JdkObsolete:WARN", + // "-Xep:LogicalAssignment:WARN", + // "-Xep:MissingCasesInEnumSwitch:WARN", + // "-Xep:MissingFail:WARN", + // "-Xep:MissingOverride:WARN", + // "-Xep:ModifyCollectionInEnhancedForLoop:WARN", + // "-Xep:MultipleParallelOrSequentialCalls:WARN", + // "-Xep:MutableConstantField:WARN", + // "-Xep:NamedParameters:WARN", + // "-Xep:NarrowingCompoundAssignment:WARN", + // "-Xep:NestedInstanceOfConditions:WARN", + // "-Xep:NonAtomicVolatileUpdate:WARN", + // "-Xep:NonOverridingEquals:WARN", + // "-Xep:NullableConstructor:WARN", + // "-Xep:NullablePrimitive:WARN", + // "-Xep:NullableVoid:WARN", + // "-Xep:OperatorPrecedence:WARN", + // "-Xep:OptionalNotPresent:WARN", + // "-Xep:OverrideThrowableToString:WARN", + // "-Xep:Overrides:WARN", + // "-Xep:OverridesGuiceInjectableMethod:WARN", + // "-Xep:ParameterName:WARN", + // "-Xep:PreconditionsInvalidPlaceholder:WARN", + // "-Xep:ProtoFieldPreconditionsCheckNotNull:WARN", + // "-Xep:ReachabilityFenceUsage:WARN", + // "-Xep:ReferenceEquality:WARN", + // "-Xep:RequiredModifiers:WARN", + // "-Xep:ShortCircuitBoolean:WARN", + // "-Xep:StaticGuardedByInstance:WARN", + // "-Xep:StringSplitter:WARN", + // "-Xep:SynchronizeOnNonFinalField:WARN", + // "-Xep:ThreadJoinLoop:WARN", + // "-Xep:ThreadLocalUsage:WARN", + // "-Xep:ThreeLetterTimeZoneID:WARN", + // "-Xep:TruthConstantAsserts:WARN", + // "-Xep:TypeParameterShadowing:WARN", + // "-Xep:TypeParameterUnusedInFormals:WARN", + // "-Xep:URLEqualsHashCode:WARN", + // "-Xep:UnsafeFinalization:WARN", + // "-Xep:UnsynchronizedOverridesSynchronized:WARN", + // "-Xep:UseCorrectAssertInTests:WARN", + // "-Xep:WaitNotInLoop:WARN", + // "-Xep:WakelockReleasedDangerously:WARN", + + // Errorprone default severity SUGGESTION + }, " ") + + // The checks that are default-disabled and listed for completeness + // and simple experiments. + config.ErrorProneChecksDefaultDisabled = strings.Join([]string{ + // Errorprone default severity ERROR + // "-Xep:AssistedInjectAndInjectOnSameConstructor:ERROR", + // "-Xep:AutoFactoryAtInject:ERROR", + // "-Xep:ClassName:ERROR", + // "-Xep:ComparisonContractViolated:ERROR", + // "-Xep:DepAnn:ERROR", + // "-Xep:DivZero:ERROR", + // "-Xep:EmptyIf:ERROR", + // "-Xep:FuzzyEqualsShouldNotBeUsedInEqualsMethod:ERROR", + // "-Xep:InjectInvalidTargetingOnScopingAnnotation:ERROR", + // "-Xep:InjectMoreThanOneQualifier:ERROR", + // "-Xep:InjectScopeAnnotationOnInterfaceOrAbstractClass:ERROR", + // "-Xep:InjectScopeOrQualifierAnnotationRetention:ERROR", + // "-Xep:InjectedConstructorAnnotations:ERROR", + // "-Xep:InsecureCryptoUsage:ERROR", + // "-Xep:IterablePathParameter:ERROR", + // "-Xep:JMockTestWithoutRunWithOrRuleAnnotation:ERROR", + // "-Xep:JavaxInjectOnFinalField:ERROR", + // "-Xep:LockMethodChecker:ERROR", + // "-Xep:LongLiteralLowerCaseSuffix:ERROR", + // "-Xep:NoAllocation:ERROR", + // "-Xep:NumericEquality:ERROR", + // "-Xep:ParameterPackage:ERROR", + // "-Xep:ProtoStringFieldReferenceEquality:ERROR", + // "-Xep:QualifierOrScopeOnInjectMethod:ERROR", + // "-Xep:RestrictTo:ERROR", + // "-Xep:StaticOrDefaultInterfaceMethod:ERROR", + // "-Xep:UnlockMethod:ERROR", + + // Errorprone default severity WARNING + // "-Xep:AssertFalse:WARN", + // "-Xep:AssistedInjectAndInjectOnConstructors:WARN", + // "-Xep:BigDecimalLiteralDouble:WARN", + // "-Xep:BinderIdentityRestoredDangerously:WARN", + // "-Xep:BindingToUnqualifiedCommonType:WARN", + // "-Xep:ConstructorInvokesOverridable:WARN", + // "-Xep:ConstructorLeaksThis:WARN", + // "-Xep:EmptyTopLevelDeclaration:WARN", + // "-Xep:ExpectedExceptionChecker:WARN", + // "-Xep:FunctionalInterfaceClash:WARN", + // "-Xep:HardCodedSdCardPath:WARN", + // "-Xep:InconsistentOverloads:WARN", + // "-Xep:MissingDefault:WARN", + // "-Xep:MutableMethodReturnType:WARN", + // "-Xep:NonCanonicalStaticMemberImport:WARN", + // "-Xep:PrimitiveArrayPassedToVarargsMethod:WARN", + // "-Xep:ProvidesFix:WARN", + // "-Xep:QualifierWithTypeUse:WARN", + // "-Xep:RedundantThrows:WARN", + // "-Xep:StaticQualifiedUsingExpression:WARN", + // "-Xep:StringEquality:WARN", + // "-Xep:StringSplit:WARN", + // "-Xep:TestExceptionChecker:WARN", + // "-Xep:UnnecessaryDefaultInEnumSwitch:WARN", + // "-Xep:Var:WARN", + + // Errorprone default severity SUGGESTION + // "-Xep:BooleanParameter:SUGGESTION", + // "-Xep:ConstantField:SUGGESTION", + // "-Xep:EmptySetMultibindingContributions:SUGGESTION", + // "-Xep:FieldMissingNullable:SUGGESTION", + // "-Xep:LambdaFunctionalInterface:SUGGESTION", + // "-Xep:MethodCanBeStatic:SUGGESTION", + // "-Xep:MixedArrayDimensions:SUGGESTION", + // "-Xep:MultiVariableDeclaration:SUGGESTION", + // "-Xep:MultipleTopLevelClasses:SUGGESTION", + // "-Xep:MultipleUnaryOperatorsInMethodCall:SUGGESTION", + // "-Xep:PackageLocation:SUGGESTION", + // "-Xep:ParameterComment:SUGGESTION", + // "-Xep:ParameterNotNullable:SUGGESTION", + // "-Xep:PrivateConstructorForNoninstantiableModuleTest:SUGGESTION", + // "-Xep:PrivateConstructorForUtilityClass:SUGGESTION", + // "-Xep:RemoveUnusedImports:SUGGESTION", + // "-Xep:ReturnMissingNullable:SUGGESTION", + // "-Xep:SwitchDefault:SUGGESTION", + // "-Xep:ThrowsUncheckedException:SUGGESTION", + // "-Xep:TypeParameterNaming:SUGGESTION", + // "-Xep:UngroupedOverloads:SUGGESTION", + // "-Xep:UnnecessarySetDefault:SUGGESTION", + // "-Xep:UnnecessaryStaticImport:SUGGESTION", + // "-Xep:UseBinds:SUGGESTION", + // "-Xep:WildcardImport:SUGGESTION", }, " ") config.ErrorProneFlags = strings.Join([]string{ @@ -106,10 +336,9 @@ func init() { "-XDuseStructuralMostSpecificResolution=true", "-XDuseGraphInference=true", "-XDandroidCompatible=true", - "-XepAllErrorsAsWarnings", // We are not interested in Guava recommendations - // for String.split. - "-Xep:StringSplitter:OFF", + // for String.split. + "-Xep:StringSplitter:OFF", "-Xmaxwarns 9999999", // As we emit errors as warnings, // increase the warning limit. }, " ") |