You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2022/11/23 19:53:35 UTC

[lucene] branch main updated: Invert error-prone configuration to be allow-list vs deny-list (#11970)

This is an automated email from the ASF dual-hosted git repository.

rmuir pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/lucene.git


The following commit(s) were added to refs/heads/main by this push:
     new d3fe435be69 Invert error-prone configuration to be allow-list vs deny-list (#11970)
d3fe435be69 is described below

commit d3fe435be694f569ac3a2522d63f60500542ca83
Author: Robert Muir <rm...@apache.org>
AuthorDate: Wed Nov 23 14:53:27 2022 -0500

    Invert error-prone configuration to be allow-list vs deny-list (#11970)
    
    This does not change the semantics or performance of our setup.
    
    Instead, it explicitly enables checks that we want vs disabling checks
    that we don't want.
    
    Also reordered checks to match the error-prone website list of checks
    for easier maintenance.
    
    It is now clear that many useless checks are enabled, we can disable
    some of them and try to get the performance reasonable.
---
 gradle/validation/error-prone.gradle | 521 +++++++++++++++++++++++++++--------
 1 file changed, 411 insertions(+), 110 deletions(-)

diff --git a/gradle/validation/error-prone.gradle b/gradle/validation/error-prone.gradle
index e32d6d0ccde..1bb2f9f6a7d 100644
--- a/gradle/validation/error-prone.gradle
+++ b/gradle/validation/error-prone.gradle
@@ -68,119 +68,420 @@ allprojects { prj ->
 
         options.errorprone.disableWarningsInGeneratedCode = true
         options.errorprone.errorproneArgs = [
+            '-XepDisableAllChecks', // only enable specific checks
             '-XepAllErrorsAsWarnings', // warnings still fail build by default, but allows usage of -Pjavac.failOnWarnings=false
-            '-Xep:InlineMeSuggester:OFF', // We don't use this annotation
 
-            // test
-            '-Xep:AlmostJavadoc:OFF',
-            '-Xep:AlreadyChecked:OFF',
-            '-Xep:AmbiguousMethodReference:OFF',
-            '-Xep:ArgumentSelectionDefectChecker:OFF',
-            '-Xep:ArrayAsKeyOfSetOrMap:OFF',
-            '-Xep:ArrayEquals:OFF',
-            '-Xep:ArrayHashCode:OFF',
-            '-Xep:ArrayToString:OFF',
-            '-Xep:AssertionFailureIgnored:OFF',
-            '-Xep:BadImport:OFF',
-            '-Xep:BadInstanceof:OFF',
-            '-Xep:BadShiftAmount:OFF',
-            '-Xep:BoxedPrimitiveConstructor:OFF', // we have forbiddenapis for that
-            '-Xep:ByteBufferBackingArray:OFF',
-            '-Xep:CanIgnoreReturnValueSuggester:OFF',
-            '-Xep:CatchAndPrintStackTrace:OFF',
-            '-Xep:CatchFail:OFF',
-            '-Xep:CharacterGetNumericValue:OFF',
-            '-Xep:ClassCanBeStatic:OFF',
-            '-Xep:CollectionIncompatibleType:OFF',
-            '-Xep:CollectionUndefinedEquality:OFF',
-            '-Xep:ComparableType:OFF',
-            '-Xep:ComplexBooleanConstant:OFF',
-            '-Xep:DefaultPackage:OFF',
-            '-Xep:DoNotCallSuggester:OFF',
-            '-Xep:DoNotCall:OFF',
-            '-Xep:DoubleBraceInitialization:OFF',
-            '-Xep:DoubleCheckedLocking:OFF',
-            '-Xep:EmptyCatch:OFF',
-            '-Xep:EmptyTopLevelDeclaration:OFF',
-            '-Xep:EqualsGetClass:OFF',
-            '-Xep:EqualsIncompatibleType:OFF',
-            '-Xep:EqualsUnsafeCast:OFF',
-            '-Xep:EscapedEntity:OFF',
-            '-Xep:ExtendingJUnitAssert:OFF',
-            '-Xep:ExtendsObject:OFF',
-            '-Xep:FallThrough:OFF',
-            '-Xep:Finally:OFF',
-            '-Xep:FloatingPointLiteralPrecision:OFF',
-            '-Xep:FormatString:OFF',
-            '-Xep:FutureReturnValueIgnored:OFF',
-            '-Xep:HidingField:OFF',
-            '-Xep:IdentityBinaryExpression:OFF',
-            '-Xep:IdentityHashMapUsage:OFF',
-            '-Xep:ImmutableEnumChecker:OFF',
-            '-Xep:InconsistentCapitalization:OFF',
-            '-Xep:InconsistentHashCode:OFF',
-            '-Xep:InfiniteRecursion:OFF',
-            '-Xep:InlineFormatString:OFF',
-            '-Xep:InputStreamSlowMultibyteRead:OFF',
-            '-Xep:IntLongMath:OFF',
-            '-Xep:InvalidBlockTag:OFF',
-            '-Xep:InvalidInlineTag:OFF',
-            '-Xep:InvalidParam:OFF',
-            '-Xep:InvalidPatternSyntax:OFF',
-            '-Xep:JUnit4TestNotRun:OFF',
-            '-Xep:JavaLangClash:OFF',
-            '-Xep:JavaUtilDate:OFF',
-            '-Xep:JdkObsolete:OFF',
-            '-Xep:LockNotBeforeTry:OFF',
-            '-Xep:LogicalAssignment:OFF',
-            '-Xep:LongDoubleConversion:OFF',
-            '-Xep:MathAbsoluteRandom:OFF',
-            '-Xep:MissingFail:OFF',
-            '-Xep:MissingOverride:OFF',
-            '-Xep:MissingSummary:OFF',
-            '-Xep:MisusedDayOfYear:OFF',
-            '-Xep:MixedMutabilityReturnType:OFF',
-            '-Xep:ModifiedButNotUsed:OFF',
-            '-Xep:MutablePublicArray:OFF',
-            '-Xep:NarrowingCompoundAssignment:OFF',
-            '-Xep:NonAtomicVolatileUpdate:OFF',
-            '-Xep:NonCanonicalType:OFF',
-            '-Xep:ObjectToString:OFF',
-            '-Xep:ObjectsHashCodePrimitive:OFF',
-            '-Xep:OperatorPrecedence:OFF',
-            '-Xep:ProtectedMembersInFinalClass:OFF',
-            '-Xep:ReferenceEquality:OFF',
-            '-Xep:ReturnValueIgnored:OFF',
-            '-Xep:SameNameButDifferent:OFF',
-            '-Xep:SelfAssignment:OFF',
-            '-Xep:ShortCircuitBoolean:OFF',
-            '-Xep:StaticAssignmentInConstructor:OFF',
-            '-Xep:StaticAssignmentOfThrowable:OFF',
-            '-Xep:StaticGuardedByInstance:OFF',
-            '-Xep:StreamResourceLeak:OFF',
+            // List of enabled/disabled checks
+            // Please keep this synced with https://errorprone.info/bugpatterns when upgrading!
+
+            // On by Default : ERROR
+
+            '-Xep:AlwaysThrows:ERROR',
+            '-Xep:AndroidInjectionBeforeSuper:ERROR',
+            // '-Xep:ArrayEquals:OFF',
+            '-Xep:ArrayFillIncompatibleType:ERROR',
+            // '-Xep:ArrayHashCode:OFF',
+            // '-Xep:ArrayToString:OFF',
+            '-Xep:ArraysAsListPrimitiveArray:ERROR',
+            '-Xep:AsyncCallableReturnsNull:ERROR',
+            '-Xep:AsyncFunctionReturnsNull:ERROR',
+            '-Xep:AutoValueBuilderDefaultsInConstructor:ERROR',
+            '-Xep:AutoValueConstructorOrderChecker:ERROR',
+            '-Xep:BadAnnotationImplementation:ERROR',
+            // '-Xep:BadShiftAmount:OFF',
+            '-Xep:BanJNDI:ERROR',
+            '-Xep:BoxedPrimitiveEquality:ERROR',
+            '-Xep:BundleDeserializationCast:ERROR',
+            '-Xep:ChainingConstructorIgnoresParameter:ERROR',
+            '-Xep:CheckNotNullMultipleTimes:ERROR',
+            '-Xep:CheckReturnValue:ERROR',
+            '-Xep:CollectionToArraySafeParameter:ERROR',
+            // '-Xep:ComparableType:OFF',
+            '-Xep:ComparingThisWithNull:ERROR',
+            '-Xep:ComparisonOutOfRange:ERROR',
+            '-Xep:CompatibleWithAnnotationMisuse:ERROR',
+            '-Xep:CompileTimeConstant:ERROR',
+            '-Xep:ComputeIfAbsentAmbiguousReference:ERROR',
+            '-Xep:ConditionalExpressionNumericPromotion:ERROR',
+            '-Xep:ConstantOverflow:ERROR',
+            '-Xep:DaggerProvidesNull:ERROR',
+            '-Xep:DangerousLiteralNull:ERROR',
+            '-Xep:DeadException:ERROR',
+            '-Xep:DeadThread:ERROR',
+            '-Xep:DiscardedPostfixExpression:ERROR',
+            // '-Xep:DoNotCall:OFF',
+            '-Xep:DoNotMock:ERROR',
+            // '-Xep:DoubleBraceInitialization:OFF',
+            '-Xep:DuplicateMapKeys:ERROR',
+            '-Xep:DurationFrom:ERROR',
+            '-Xep:DurationGetTemporalUnit:ERROR',
+            '-Xep:DurationTemporalUnit:ERROR',
+            '-Xep:DurationToLongTimeUnit:ERROR',
+            // '-Xep:EmptyTopLevelDeclaration:OFF',
+            '-Xep:EqualsHashCode:ERROR',
+            '-Xep:EqualsNaN:ERROR',
+            '-Xep:EqualsNull:ERROR',
+            '-Xep:EqualsReference:ERROR',
+            '-Xep:EqualsWrongThing:ERROR',
+            '-Xep:FloggerFormatString:ERROR',
+            '-Xep:FloggerLogVarargs:ERROR',
+            '-Xep:FloggerSplitLogStatement:ERROR',
+            '-Xep:ForOverride:ERROR',
+            // '-Xep:FormatString:OFF',
+            '-Xep:FormatStringAnnotation:ERROR',
+            '-Xep:FromTemporalAccessor:ERROR',
+            '-Xep:FunctionalInterfaceMethodChanged:ERROR',
+            '-Xep:FuturesGetCheckedIllegalExceptionType:ERROR',
+            '-Xep:FuzzyEqualsShouldNotBeUsedInEqualsMethod:ERROR',
+            '-Xep:GetClassOnAnnotation:ERROR',
+            '-Xep:GetClassOnClass:ERROR',
+            '-Xep:GuardedBy:ERROR',
+            '-Xep:GuiceAssistedInjectScoping:ERROR',
+            '-Xep:GuiceAssistedParameters:ERROR',
+            '-Xep:GuiceInjectOnFinalField:ERROR',
+            '-Xep:HashtableContains:ERROR',
+            // '-Xep:IdentityBinaryExpression:OFF',
+            '-Xep:IdentityHashMapBoxing:ERROR',
+            '-Xep:IgnoredPureGetter:ERROR',
+            '-Xep:Immutable:ERROR',
+            '-Xep:Incomparable:ERROR',
+            '-Xep:IncompatibleArgumentType:ERROR',
+            '-Xep:IncompatibleModifiers:ERROR',
+            '-Xep:IndexOfChar:ERROR',
+            '-Xep:InexactVarargsConditional:ERROR',
+            // '-Xep:InfiniteRecursion:OFF',
+            '-Xep:InjectMoreThanOneScopeAnnotationOnClass:ERROR',
+            '-Xep:InjectOnMemberAndConstructor:ERROR',
+            '-Xep:InlineMeValidator:ERROR',
+            '-Xep:InstantTemporalUnit:ERROR',
+            '-Xep:InvalidJavaTimeConstant:ERROR',
+            // '-Xep:InvalidPatternSyntax:OFF',
+            '-Xep:InvalidTimeZoneID:ERROR',
+            '-Xep:InvalidZoneId:ERROR',
+            '-Xep:IsInstanceIncompatibleType:ERROR',
+            '-Xep:IsInstanceOfClass:ERROR',
+            '-Xep:IsLoggableTagLength:ERROR',
+            '-Xep:JUnit3TestNotRun:ERROR',
+            '-Xep:JUnit4ClassAnnotationNonStatic:ERROR',
+            '-Xep:JUnit4SetUpNotRun:ERROR',
+            '-Xep:JUnit4TearDownNotRun:ERROR',
+            //'-Xep:JUnit4TestNotRun:OFF',
+            '-Xep:JUnit4TestsNotRunWithinEnclosed:ERROR',
+            '-Xep:JUnitAssertSameCheck:ERROR',
+            '-Xep:JUnitParameterMethodNotFound:ERROR',
+            '-Xep:JavaxInjectOnAbstractMethod:ERROR',
+            '-Xep:JodaToSelf:ERROR',
+            '-Xep:LiteByteStringUtf8:ERROR',
+            '-Xep:LocalDateTemporalAmount:ERROR',
+            '-Xep:LockOnBoxedPrimitive:ERROR',
+            '-Xep:LoopConditionChecker:ERROR',
+            '-Xep:LossyPrimitiveCompare:ERROR',
+            '-Xep:MathRoundIntLong:ERROR',
+            '-Xep:MislabeledAndroidString:ERROR',
+            '-Xep:MisplacedScopeAnnotations:ERROR',
+            '-Xep:MissingSuperCall:ERROR',
+            '-Xep:MissingTestCall:ERROR',
+            // '-Xep:MisusedDayOfYear:OFF',
+            '-Xep:MisusedWeekYear:ERROR',
+            '-Xep:MixedDescriptors:ERROR',
+            '-Xep:MockitoUsage:ERROR',
+            '-Xep:ModifyingCollectionWithItself:ERROR',
+            '-Xep:MoreThanOneInjectableConstructor:ERROR',
+            '-Xep:MustBeClosedChecker:ERROR',
+            '-Xep:NCopiesOfChar:ERROR',
+            '-Xep:NoCanIgnoreReturnValueOnClasses:ERROR',
+            '-Xep:NonCanonicalStaticImport:ERROR',
+            '-Xep:NonFinalCompileTimeConstant:ERROR',
+            '-Xep:NonRuntimeAnnotation:ERROR',
+            '-Xep:NullArgumentForNonNullParameter:ERROR',
+            '-Xep:NullTernary:ERROR',
+            '-Xep:NullableOnContainingClass:ERROR',
+            '-Xep:OptionalEquality:ERROR',
+            '-Xep:OptionalMapUnusedValue:ERROR',
+            '-Xep:OptionalOfRedundantMethod:ERROR',
+            '-Xep:OverlappingQualifierAndScopeAnnotation:ERROR',
+            '-Xep:OverridesJavaxInjectableMethod:ERROR',
+            '-Xep:PackageInfo:ERROR',
+            '-Xep:ParametersButNotParameterized:ERROR',
+            '-Xep:ParcelableCreator:ERROR',
+            '-Xep:PeriodFrom:ERROR',
+            '-Xep:PeriodGetTemporalUnit:ERROR',
+            '-Xep:PeriodTimeMath:ERROR',
+            '-Xep:PreconditionsInvalidPlaceholder:ERROR',
+            '-Xep:PrivateSecurityContractProtoAccess:ERROR',
+            '-Xep:ProtoBuilderReturnValueIgnored:ERROR',
+            '-Xep:ProtoFieldNullComparison:ERROR',
+            '-Xep:ProtoStringFieldReferenceEquality:ERROR',
+            '-Xep:ProtoTruthMixedDescriptors:ERROR',
+            '-Xep:ProtocolBufferOrdinal:ERROR',
+            '-Xep:ProvidesMethodOutsideOfModule:ERROR',
+            '-Xep:RandomCast:ERROR',
+            '-Xep:RandomModInteger:ERROR',
+            '-Xep:RectIntersectReturnValueIgnored:ERROR',
+            '-Xep:RequiredModifiers:ERROR',
+            '-Xep:RestrictedApiChecker:ERROR',
+            // '-Xep:ReturnValueIgnored:OFF',
+            // '-Xep:SelfAssignment:OFF',
+            '-Xep:SelfComparison:ERROR',
+            '-Xep:SelfEquals:ERROR',
+            '-Xep:ShouldHaveEvenArgs:ERROR',
+            '-Xep:SizeGreaterThanOrEqualsZero:ERROR',
+            '-Xep:StreamToString:ERROR',
+            '-Xep:StringBuilderInitWithChar:ERROR',
+            '-Xep:SubstringOfZero:ERROR',
+            '-Xep:SuppressWarningsDeprecated:ERROR',
+            '-Xep:TemporalAccessorGetChronoField:ERROR',
+            '-Xep:TestParametersNotInitialized:ERROR',
+            '-Xep:TheoryButNoTheories:ERROR',
+            '-Xep:ThrowIfUncheckedKnownChecked:ERROR',
+            // '-Xep:ThrowNull:OFF',
+            '-Xep:TreeToString:ERROR',
+            '-Xep:TruthSelfEquals:ERROR',
+            // '-Xep:TryFailThrowable:OFF',
+            '-Xep:TypeParameterQualifier:ERROR',
+            '-Xep:UnicodeDirectionalityCharacters:ERROR',
+            // '-Xep:UnicodeInCode:OFF',
+            '-Xep:UnnecessaryCheckNotNull:ERROR',
+            '-Xep:UnnecessaryTypeArgument:ERROR',
+            '-Xep:UnsafeWildcard:ERROR',
+            '-Xep:UnusedAnonymousClass:ERROR',
+            '-Xep:UnusedCollectionModifiedInPlace:ERROR',
+            '-Xep:VarTypeName:ERROR',
+            '-Xep:WrongOneof:ERROR',
+            '-Xep:XorPower:ERROR',
+            '-Xep:ZoneIdOfZ:ERROR',
+
+            // On by Default : WARNING
+
+            // '-Xep:AlmostJavadoc:OFF',
+            // '-Xep:AlreadyChecked:OFF',
+            // '-Xep:AmbiguousMethodReference:OFF',
+            '-Xep:AnnotateFormatMethod:WARN',
+            // '-Xep:ArgumentSelectionDefectChecker:OFF',
+            // '-Xep:ArrayAsKeyOfSetOrMap:OFF',
+            '-Xep:AssertEqualsArgumentOrderChecker:WARN',
+            '-Xep:AssertThrowsMultipleStatements:WARN',
+            // '-Xep:AssertionFailureIgnored:OFF',
+            '-Xep:AssistedInjectAndInjectOnSameConstructor:WARN',
+            '-Xep:AutoValueFinalMethods:WARN',
+            '-Xep:AutoValueImmutableFields:WARN',
+            '-Xep:AutoValueSubclassLeaked:WARN',
+            '-Xep:BadComparable:WARN',
+            // '-Xep:BadImport:OFF',
+            // '-Xep:BadInstanceof:OFF',
+            '-Xep:BareDotMetacharacter:WARN',
+            '-Xep:BigDecimalEquals:WARN',
+            '-Xep:BigDecimalLiteralDouble:WARN',
+            // '-Xep:BoxedPrimitiveConstructor:OFF', // we have forbiddenapis for that
+            '-Xep:BugPatternNaming:WARN',
+            // '-Xep:ByteBufferBackingArray:OFF',
+            '-Xep:CacheLoaderNull:WARN',
+            '-Xep:CanonicalDuration:WARN',
+            // '-Xep:CatchAndPrintStackTrace:OFF',
+            // '-Xep:CatchFail:OFF',
+            '-Xep:ChainedAssertionLosesContext:WARN',
+            // '-Xep:CharacterGetNumericValue:OFF',
+            // '-Xep:ClassCanBeStatic:OFF',
+            '-Xep:ClassNewInstance:WARN',
+            '-Xep:CloseableProvides:WARN',
+            // '-Xep:CollectionUndefinedEquality:OFF',
+            '-Xep:CollectorShouldNotUseState:WARN',
+            '-Xep:ComparableAndComparator:WARN',
+            '-Xep:CompareToZero:WARN',
+            // '-Xep:ComplexBooleanConstant:OFF',
+            '-Xep:DateChecker:WARN',
+            '-Xep:DateFormatConstant:WARN',
+            '-Xep:DefaultCharset:WARN',
+            // '-Xep:DefaultPackage:OFF',
+            '-Xep:DeprecatedVariable:WARN',
+            '-Xep:DirectInvocationOnMock:WARN',
+            '-Xep:DistinctVarargsChecker:WARN',
+            // '-Xep:DoNotCallSuggester:OFF',
+            '-Xep:DoNotClaimAnnotations:WARN',
+            '-Xep:DoNotMockAutoValue:WARN',
+            // '-Xep:DoubleCheckedLocking:OFF',
+            '-Xep:EmptyBlockTag:WARN',
+            // '-Xep:EmptyCatch:OFF',
+            '-Xep:EmptySetMultibindingContributions:WARN',
+            // '-Xep:EqualsGetClass:OFF',
+            // '-Xep:EqualsIncompatibleType:OFF',
+            // '-Xep:EqualsUnsafeCast:OFF',
+            '-Xep:EqualsUsingHashCode:WARN',
+            '-Xep:ErroneousBitwiseExpression:WARN',
+            '-Xep:ErroneousThreadPoolConstructorChecker:WARN',
+            // '-Xep:EscapedEntity:OFF',
+            // '-Xep:ExtendingJUnitAssert:OFF',
+            // '-Xep:ExtendsObject:OFF',
+            // '-Xep:FallThrough:OFF',
+            // '-Xep:Finally:OFF',
+            '-Xep:FloatCast:WARN',
+            '-Xep:FloatingPointAssertionWithinEpsilon:WARN',
+            // '-Xep:FloatingPointLiteralPrecision:OFF',
+            '-Xep:FloggerArgumentToString:WARN',
+            '-Xep:FloggerStringConcatenation:WARN',
+            '-Xep:FragmentInjection:WARN',
+            '-Xep:FragmentNotInstantiable:WARN',
+            // '-Xep:FutureReturnValueIgnored:OFF',
+            '-Xep:GetClassOnEnum:WARN',
+            // '-Xep:HidingField:OFF',
+            // '-Xep:IdentityHashMapUsage:OFF',
+            '-Xep:ImmutableAnnotationChecker:WARN',
+            // '-Xep:ImmutableEnumChecker:OFF',
+            // '-Xep:InconsistentCapitalization:OFF',
+            // '-Xep:InconsistentHashCode:OFF',
+            '-Xep:IncorrectMainMethod:WARN',
+            '-Xep:IncrementInForLoopAndHeader:WARN',
+            '-Xep:InheritDoc:WARN',
+            '-Xep:InjectInvalidTargetingOnScopingAnnotation:WARN',
+            '-Xep:InjectOnConstructorOfAbstractClass:WARN',
+            '-Xep:InjectScopeAnnotationOnInterfaceOrAbstractClass:WARN',
+            '-Xep:InjectedConstructorAnnotations:WARN',
+            // '-Xep:InlineFormatString:OFF',
+            '-Xep:InlineMeInliner:WARN',
+            // '-Xep:InlineMeSuggester:OFF',
+            // '-Xep:InputStreamSlowMultibyteRead:OFF',
+            '-Xep:InstanceOfAndCastMatchWrongType:WARN',
+            // '-Xep:IntLongMath:OFF',
+            // '-Xep:InvalidBlockTag:OFF',
+            // '-Xep:InvalidInlineTag:OFF',
+            '-Xep:InvalidLink:WARN',
+            // '-Xep:InvalidParam:OFF',
+            '-Xep:InvalidThrows:WARN',
+            '-Xep:InvalidThrowsLink:WARN',
+            '-Xep:IterableAndIterator:WARN',
+            '-Xep:JUnit3FloatingPointComparisonWithoutDelta:WARN',
+            '-Xep:JUnit4ClassUsedInJUnit3:WARN',
+            '-Xep:JUnitAmbiguousTestClass:WARN',
+            '-Xep:JavaDurationGetSecondsGetNano:WARN',
+            '-Xep:JavaDurationWithNanos:WARN',
+            '-Xep:JavaDurationWithSeconds:WARN',
+            '-Xep:JavaInstantGetSecondsGetNano:WARN',
+            // '-Xep:JavaLangClash:OFF',
+            '-Xep:JavaLocalDateTimeGetNano:WARN',
+            '-Xep:JavaLocalTimeGetNano:WARN',
+            '-Xep:JavaPeriodGetDays:WARN',
+            '-Xep:JavaTimeDefaultTimeZone:WARN',
+            // '-Xep:JavaUtilDate:OFF',
+            '-Xep:JavaxInjectOnFinalField:WARN',
+            // '-Xep:JdkObsolete:OFF',
+            '-Xep:JodaConstructors:WARN',
+            '-Xep:JodaDateTimeConstants:WARN',
+            '-Xep:JodaDurationWithMillis:WARN',
+            '-Xep:JodaInstantWithMillis:WARN',
+            '-Xep:JodaNewPeriod:WARN',
+            '-Xep:JodaPlusMinusLong:WARN',
+            '-Xep:JodaTimeConverterManager:WARN',
+            '-Xep:JodaWithDurationAddedLong:WARN',
+            '-Xep:LiteEnumValueOf:WARN',
+            '-Xep:LiteProtoToString:WARN',
+            // '-Xep:LockNotBeforeTry:OFF',
+            // '-Xep:LogicalAssignment:OFF',
+            // '-Xep:LongDoubleConversion:OFF',
+            '-Xep:LongFloatConversion:WARN',
+            '-Xep:LoopOverCharArray:WARN',
+            '-Xep:MalformedInlineTag:WARN',
+            // '-Xep:MathAbsoluteRandom:OFF',
+            '-Xep:MemoizeConstantVisitorStateLookups:WARN',
+            '-Xep:MissingCasesInEnumSwitch:WARN',
+            // '-Xep:MissingFail:OFF',
+            '-Xep:MissingImplementsComparable:WARN',
+            // '-Xep:MissingOverride:OFF',
+            // '-Xep:MissingSummary:OFF',
+            // '-Xep:MixedMutabilityReturnType:OFF',
+            '-Xep:MockNotUsedInProduction:WARN',
+            // '-Xep:ModifiedButNotUsed:OFF',
+            '-Xep:ModifyCollectionInEnhancedForLoop:WARN',
+            '-Xep:ModifySourceCollectionInStream:WARN',
+            '-Xep:MultipleParallelOrSequentialCalls:WARN',
+            '-Xep:MultipleUnaryOperatorsInMethodCall:WARN',
+            // '-Xep:MutablePublicArray:OFF',
+            '-Xep:NarrowCalculation:WARN',
+            // '-Xep:NarrowingCompoundAssignment:OFF',
+            '-Xep:NegativeCharLiteral:WARN',
+            '-Xep:NestedInstanceOfConditions:WARN',
+            // '-Xep:NonAtomicVolatileUpdate:OFF',
+            // '-Xep:NonCanonicalType:OFF',
+            '-Xep:NonOverridingEquals:WARN',
+            '-Xep:NullOptional:WARN',
+            '-Xep:NullableConstructor:WARN',
+            '-Xep:NullablePrimitive:WARN',
+            '-Xep:NullablePrimitiveArray:WARN',
+            '-Xep:NullableVoid:WARN',
+            '-Xep:ObjectEqualsForPrimitives:WARN',
+            // '-Xep:ObjectToString:OFF',
+            // '-Xep:ObjectsHashCodePrimitive:OFF',
+            // '-Xep:OperatorPrecedence:OFF',
+            '-Xep:OptionalMapToOptional:WARN',
+            '-Xep:OptionalNotPresent:WARN',
+            '-Xep:OrphanedFormatString:WARN',
+            '-Xep:OutlineNone:WARN',
+            '-Xep:OverrideThrowableToString:WARN',
+            '-Xep:Overrides:WARN',
+            '-Xep:OverridesGuiceInjectableMethod:WARN',
+            '-Xep:ParameterName:WARN',
+            '-Xep:PreconditionsCheckNotNullRepeated:WARN',
+            '-Xep:PrimitiveAtomicReference:WARN',
+            // '-Xep:ProtectedMembersInFinalClass:OFF',
+            '-Xep:ProtoDurationGetSecondsGetNano:WARN',
+            '-Xep:ProtoRedundantSet:WARN',
+            '-Xep:ProtoTimestampGetSecondsGetNano:WARN',
+            '-Xep:QualifierOrScopeOnInjectMethod:WARN',
+            '-Xep:ReachabilityFenceUsage:WARN',
+            // '-Xep:ReferenceEquality:OFF',
+            '-Xep:RethrowReflectiveOperationExceptionAsLinkageError:WARN',
+            '-Xep:ReturnFromVoid:WARN',
+            '-Xep:RobolectricShadowDirectlyOn:WARN',
+            '-Xep:RxReturnValueIgnored:WARN',
+            // '-Xep:SameNameButDifferent:OFF',
+            '-Xep:SelfAlwaysReturnsThis:WARN',
+            // '-Xep:ShortCircuitBoolean:OFF',
+            // '-Xep:StaticAssignmentInConstructor:OFF',
+            // '-Xep:StaticAssignmentOfThrowable:OFF',
+            // '-Xep:StaticGuardedByInstance:OFF',
+            '-Xep:StaticMockMember:WARN',
+            // '-Xep:StreamResourceLeak:OFF',
+            '-Xep:StreamToIterable:WARN',
             '-Xep:StringSplitter:OFF',
-            '-Xep:SynchronizeOnNonFinalField:OFF',
-            '-Xep:ThreadJoinLoop:OFF',
-            '-Xep:ThreadLocalUsage:OFF',
-            '-Xep:ThreadPriorityCheck:OFF',
-            '-Xep:ThrowNull:OFF',
-            '-Xep:ToStringReturnsNull:OFF',
-            '-Xep:TryFailThrowable:OFF',
-            '-Xep:TypeParameterShadowing:OFF',
-            '-Xep:TypeParameterUnusedInFormals:OFF',
-            '-Xep:UndefinedEquals:OFF',
-            '-Xep:UnnecessaryLongToIntConversion:OFF',
-            '-Xep:UnusedTypeParameter:OFF',
-            '-Xep:UnicodeInCode:OFF',
-            '-Xep:UnescapedEntity:OFF',
-            '-Xep:UnicodeEscape:OFF',
-            '-Xep:UnnecessaryLambda:OFF',
-            '-Xep:UnnecessaryParentheses:OFF',
-            '-Xep:UnsynchronizedOverridesSynchronized:OFF',
-            '-Xep:UnusedMethod:OFF',
-            '-Xep:UnusedVariable:OFF',
-            '-Xep:UseCorrectAssertInTests:OFF',
-            '-Xep:WaitNotInLoop:OFF',
+            '-Xep:SwigMemoryLeak:WARN',
+            // '-Xep:SynchronizeOnNonFinalField:OFF',
+            // '-Xep:ThreadJoinLoop:OFF',
+            // '-Xep:ThreadLocalUsage:OFF',
+            // '-Xep:ThreadPriorityCheck:OFF',
+            '-Xep:ThreeLetterTimeZoneID:WARN',
+            '-Xep:TimeUnitConversionChecker:WARN',
+            // '-Xep:ToStringReturnsNull:OFF',
+            '-Xep:TruthAssertExpected:WARN',
+            '-Xep:TruthConstantAsserts:WARN',
+            '-Xep:TruthGetOrDefault:WARN',
+            '-Xep:TruthIncompatibleType:WARN',
+            '-Xep:TypeEquals:WARN',
+            '-Xep:TypeNameShadowing:WARN',
+            // '-Xep:TypeParameterShadowing:OFF',
+            // '-Xep:TypeParameterUnusedInFormals:OFF',
+            '-Xep:URLEqualsHashCode:WARN',
+            // '-Xep:UndefinedEquals:OFF',
+            // '-Xep:UnescapedEntity:OFF',
+            // '-Xep:UnicodeEscape:OFF',
+            '-Xep:UnnecessaryAssignment:WARN',
+            // '-Xep:UnnecessaryLambda:OFF',
+            // '-Xep:UnnecessaryLongToIntConversion:OFF',
+            '-Xep:UnnecessaryMethodInvocationMatcher:WARN',
+            '-Xep:UnnecessaryMethodReference:WARN',
+            // '-Xep:UnnecessaryParentheses:OFF',
+            '-Xep:UnrecognisedJavadocTag:WARN',
+            '-Xep:UnsafeFinalization:WARN',
+            '-Xep:UnsafeReflectiveConstructionCast:WARN',
+            // '-Xep:UnsynchronizedOverridesSynchronized:OFF',
+            // '-Xep:UnusedMethod:OFF',
+            '-Xep:UnusedNestedClass:WARN',
+            // '-Xep:UnusedTypeParameter:OFF',
+            // '-Xep:UnusedVariable:OFF',
+            '-Xep:UseBinds:WARN',
+            // '-Xep:UseCorrectAssertInTests:OFF',
+            '-Xep:VariableNameSameAsType:WARN',
+            // '-Xep:WaitNotInLoop:OFF',
+            '-Xep:WakelockReleasedDangerously:WARN',
+            '-Xep:WithSignatureDiscouraged:WARN',
         ]
       }
     }