| JAVA_VERSION_OPTS = [] |
| |
| # A more robust set of lint and errorprone checks when building |
| # Java source to improve code consistency. |
| |
| # The bazel errorprone plugin currently only enables default errorChecks |
| # https://github.com/bazelbuild/bazel/blob/97975603e5ff2247e6bb352e3afd27fea38f108d/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/plugins/errorprone/ErrorPronePlugin.java#L52 |
| # |
| # Default errorChecks are errorprone checkers listed under ENABLED_ERRORS at |
| # https://github.com/google/error-prone/blob/c6f24bc387989158d99af28e7ae86755e56c5f38/core/src/main/java/com/google/errorprone/scanner/BuiltInCheckerSuppliers.java#L273 |
| # |
| # Here we enable all available errorprone checks to converge on a consistent |
| # code style. |
| # https://github.com/google/error-prone/blob/c6f24bc387989158d99af28e7ae86755e56c5f38/core/src/main/java/com/google/errorprone/scanner/BuiltInCheckerSuppliers.java#L260 |
| |
| # This list is from ENABLED_WARNINGS in |
| # com/google/errorprone/scanner/BuiltInCheckerSuppliers.java |
| EP_ENABLED_WARNINGS = [ |
| "-Xep:AmbiguousMethodReference:WARN", |
| "-Xep:ArgumentSelectionDefectChecker:WARN", |
| "-Xep:AssertEqualsArgumentOrderChecker:WARN", |
| "-Xep:BadAnnotationImplementation:WARN", |
| "-Xep:BadComparable:WARN", |
| "-Xep:BoxedPrimitiveConstructor:WARN", |
| "-Xep:CannotMockFinalClass:WARN", |
| "-Xep:ClassCanBeStatic:WARN", |
| "-Xep:ClassNewInstance:WARN", |
| "-Xep:DefaultCharset:WARN", |
| "-Xep:DoubleCheckedLocking:WARN", |
| "-Xep:ElementsCountedInLoop:WARN", |
| "-Xep:EqualsHashCode:WARN", |
| "-Xep:EqualsIncompatibleType:WARN", |
| "-Xep:Finally:WARN", |
| "-Xep:FloatingPointLiteralPrecision:WARN", |
| "-Xep:FragmentInjection:WARN", |
| "-Xep:FragmentNotInstantiable:WARN", |
| "-Xep:FunctionalInterfaceClash:WARN", |
| "-Xep:FutureReturnValueIgnored:WARN", |
| "-Xep:GetClassOnEnum:WARN", |
| "-Xep:ImmutableAnnotationChecker:WARN", |
| "-Xep:ImmutableEnumChecker:WARN", |
| "-Xep:IncompatibleModifiers:WARN", |
| "-Xep:InjectOnConstructorOfAbstractClass:WARN", |
| "-Xep:InputStreamSlowMultibyteRead:WARN", |
| "-Xep:IterableAndIterator:WARN", |
| "-Xep:JavaLangClash:WARN", |
| "-Xep:JUnit3FloatingPointComparisonWithoutDelta:WARN", |
| "-Xep:JUnitAmbiguousTestClass:WARN", |
| "-Xep:LiteralClassName:WARN", |
| "-Xep:LogicalAssignment:WARN", |
| "-Xep:MissingFail:WARN", |
| "-Xep:MissingOverride:WARN", |
| "-Xep:MutableConstantField:WARN", |
| "-Xep:NamedParameters:WARN", |
| "-Xep:NarrowingCompoundAssignment:WARN", |
| "-Xep:NonAtomicVolatileUpdate:WARN", |
| "-Xep:NonOverridingEquals:WARN", |
| "-Xep:NullableConstructor:WARN", |
| "-Xep:NullablePrimitive:WARN", |
| "-Xep:NullableVoid:WARN", |
| "-Xep:OperatorPrecedence:WARN", |
| "-Xep:OverridesGuiceInjectableMethod:WARN", |
| "-Xep:PreconditionsInvalidPlaceholder:WARN", |
| "-Xep:ProtoFieldPreconditionsCheckNotNull:WARN", |
| "-Xep:ReferenceEquality:WARN", |
| "-Xep:RequiredModifiers:WARN", |
| "-Xep:ShortCircuitBoolean:WARN", |
| "-Xep:SimpleDateFormatConstant:WARN", |
| "-Xep:StaticGuardedByInstance:WARN", |
| "-Xep:SynchronizeOnNonFinalField:WARN", |
| "-Xep:TruthConstantAsserts:WARN", |
| "-Xep:TypeParameterShadowing:WARN", |
| "-Xep:TypeParameterUnusedInFormals:WARN", |
| "-Xep:UnsynchronizedOverridesSynchronized:WARN", |
| "-Xep:URLEqualsHashCode:WARN", |
| "-Xep:WaitNotInLoop:WARN", |
| ] |
| |
| # This list is from DISABLED_CHECKS in |
| # com/google/errorprone/scanner/BuiltInCheckerSuppliers.java |
| EP_DISABLED_CHECKS = [ |
| "-Xep:AutoFactoryAtInject:WARN", |
| "-Xep:AssertFalse:WARN", |
| "-Xep:AssistedInjectAndInjectOnConstructors:WARN", |
| "-Xep:AssistedInjectAndInjectOnSameConstructor:WARN", |
| "-Xep:BigDecimalLiteralDouble:WARN", |
| "-Xep:BindingToUnqualifiedCommonType:WARN", |
| "-Xep:ClassName:WARN", |
| "-Xep:ComparisonContractViolated:WARN", |
| "-Xep:ConstantField:WARN", |
| "-Xep:ConstructorInvokesOverridable:WARN", |
| # False positives, disabled |
| # "-Xep:ConstructorLeaksThis:WARN", |
| "-Xep:DepAnn:WARN", |
| "-Xep:DivZero:WARN", |
| "-Xep:EmptyIfStatement:WARN", |
| "-Xep:EmptySetMultibindingContributions:WARN", |
| "-Xep:EmptyTopLevelDeclaration:WARN", |
| "-Xep:ExpectedExceptionChecker:WARN", |
| "-Xep:HardCodedSdCardPath:WARN", |
| "-Xep:InjectedConstructorAnnotations:WARN", |
| "-Xep:InvalidTargetingOnScopingAnnotation:WARN", |
| "-Xep:IterablePathParameter:WARN", |
| "-Xep:JMockTestWithoutRunWithOrRuleAnnotation:WARN", |
| "-Xep:JavaxInjectOnFinalField:WARN", |
| "-Xep:LockMethodChecker:WARN", |
| "-Xep:LongLiteralLowerCaseSuffix:WARN", |
| "-Xep:MethodCanBeStatic:WARN", |
| "-Xep:MissingDefault:WARN", |
| "-Xep:MixedArrayDimensions:WARN", |
| "-Xep:MoreThanOneQualifier:WARN", |
| "-Xep:MultiVariableDeclaration:WARN", |
| "-Xep:MultipleTopLevelClasses:WARN", |
| "-Xep:NoAllocationChecker:WARN", |
| "-Xep:NonCanonicalStaticMemberImport:WARN", |
| "-Xep:NumericEquality:WARN", |
| "-Xep:PackageLocation:WARN", |
| "-Xep:PrimitiveArrayPassedToVarargsMethod:WARN", |
| "-Xep:PrivateConstructorForUtilityClass:WARN", |
| "-Xep:PrivateConstructorForNoninstantiableModule:WARN", |
| "-Xep:ProtoStringFieldReferenceEquality:WARN", |
| "-Xep:QualifierOrScopeOnInjectMethod:WARN", |
| "-Xep:QualifierWithTypeUse:WARN", |
| "-Xep:RedundantThrows:WARN", |
| "-Xep:RemoveUnusedImports:WARN", |
| "-Xep:ScopeAnnotationOnInterfaceOrAbstractClass:WARN", |
| "-Xep:ScopeOrQualifierAnnotationRetention:WARN", |
| "-Xep:StaticQualifiedUsingExpression:WARN", |
| "-Xep:StaticOrDefaultInterfaceMethod:WARN", |
| "-Xep:StringEquality:WARN", |
| "-Xep:TestExceptionChecker:WARN", |
| # TODO: stylistic changes in code |
| # "-Xep:ThrowsUncheckedException:WARN", |
| # "-Xep:UngroupedOverloads:WARN", |
| "-Xep:UnlockMethodChecker:WARN", |
| "-Xep:UnnecessaryDefaultInEnumSwitch:WARN", |
| "-Xep:UnnecessaryStaticImport:WARN", |
| "-Xep:UseBinds:WARN", |
| "-Xep:VarChecker:WARN", |
| "-Xep:WildcardImport:WARN", |
| "-Xep:WrongParameterPackage:WARN", |
| ] |
| |
| EP_OPTS = EP_ENABLED_WARNINGS + EP_DISABLED_CHECKS |
| |
| JAVACOPTS = JAVA_VERSION_OPTS + EP_OPTS |