|  | load("@rules_java//java:defs.bzl", "java_package_configuration") | 
|  | load( | 
|  | "@bazel_tools//tools/jdk:default_java_toolchain.bzl", | 
|  | "JDK9_JVM_OPTS", | 
|  | "default_java_toolchain", | 
|  | ) | 
|  |  | 
|  | default_java_toolchain( | 
|  | name = "error_prone_warnings_toolchain", | 
|  | bootclasspath = ["@bazel_tools//tools/jdk:platformclasspath.jar"], | 
|  | jvm_opts = JDK9_JVM_OPTS, | 
|  | package_configuration = [ | 
|  | ":error_prone", | 
|  | ], | 
|  | visibility = ["//visibility:public"], | 
|  | ) | 
|  |  | 
|  | # This EP warnings list borrowed from here: | 
|  | # https://github.com/bazelbuild/BUILD_file_generator/blob/master/tools/bazel_defs/java.bzl | 
|  | java_package_configuration( | 
|  | name = "error_prone", | 
|  | javacopts = [ | 
|  | "-XepDisableWarningsInGeneratedCode", | 
|  | "-Xep:MissingCasesInEnumSwitch:ERROR", | 
|  | "-Xep:ReferenceEquality:WARN", | 
|  | "-Xep:StringEquality:WARN", | 
|  | "-Xep:WildcardImport:WARN", | 
|  | "-Xep:AmbiguousMethodReference:WARN", | 
|  | "-Xep:BadAnnotationImplementation:WARN", | 
|  | "-Xep:BadComparable:WARN", | 
|  | "-Xep:BoxedPrimitiveConstructor:ERROR", | 
|  | "-Xep:CannotMockFinalClass:WARN", | 
|  | "-Xep:ClassCanBeStatic:ERROR", | 
|  | "-Xep:ClassNewInstance:WARN", | 
|  | "-Xep:DefaultCharset:ERROR", | 
|  | "-Xep:DoubleCheckedLocking:WARN", | 
|  | "-Xep:ElementsCountedInLoop:WARN", | 
|  | "-Xep:EqualsHashCode:WARN", | 
|  | "-Xep:EqualsIncompatibleType:WARN", | 
|  | "-Xep:ExpectedExceptionChecker:ERROR", | 
|  | "-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:JUnit3FloatingPointComparisonWithoutDelta:WARN", | 
|  | "-Xep:JUnitAmbiguousTestClass:WARN", | 
|  | "-Xep:LiteralClassName:WARN", | 
|  | "-Xep:MissingFail:ERROR", | 
|  | "-Xep:MissingOverride:WARN", | 
|  | "-Xep:MutableConstantField: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:ProtocolBufferOrdinal: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:URLEqualsHashCode:WARN", | 
|  | "-Xep:UnsynchronizedOverridesSynchronized:WARN", | 
|  | "-Xep:WaitNotInLoop:WARN", | 
|  | ], | 
|  | packages = ["error_prone_packages"], | 
|  | ) | 
|  |  | 
|  | package_group( | 
|  | name = "error_prone_packages", | 
|  | packages = [ | 
|  | "//org.eclipse.jgit.ant.test/...", | 
|  | "//org.eclipse.jgit.ant/...", | 
|  | "//org.eclipse.jgit.archive/...", | 
|  | "//org.eclipse.jgit.http.apache/...", | 
|  | "//org.eclipse.jgit.http.server/...", | 
|  | "//org.eclipse.jgit.http.test/...", | 
|  | "//org.eclipse.jgit.junit.http/...", | 
|  | "//org.eclipse.jgit.junit/...", | 
|  | "//org.eclipse.jgit.lfs.server.test/...", | 
|  | "//org.eclipse.jgit.lfs.server/...", | 
|  | "//org.eclipse.jgit.lfs.test/...", | 
|  | "//org.eclipse.jgit.lfs/...", | 
|  | "//org.eclipse.jgit.packaging/...", | 
|  | "//org.eclipse.jgit.pgm.test/...", | 
|  | "//org.eclipse.jgit.pgm/...", | 
|  | "//org.eclipse.jgit.test/...", | 
|  | "//org.eclipse.jgit.ui/...", | 
|  | "//org.eclipse.jgit/...", | 
|  | ], | 
|  | ) |