blob: 6765f24f2722f7b1606b42ea7cf1c1d9a18971ff [file] [log] [blame]
David Pursehouseb98f9c82018-09-23 12:58:27 +09001load(
2 "@bazel_tools//tools/jdk:default_java_toolchain.bzl",
3 "JDK9_JVM_OPTS",
4 "default_java_toolchain",
5)
6
7default_java_toolchain(
8 name = "error_prone_warnings_toolchain",
David Pursehouse65630312018-11-07 15:39:49 +09009 bootclasspath = ["@bazel_tools//tools/jdk:platformclasspath.jar"],
David Pursehouseb98f9c82018-09-23 12:58:27 +090010 jvm_opts = JDK9_JVM_OPTS,
11 package_configuration = [
12 ":error_prone",
13 ],
14 visibility = ["//visibility:public"],
15)
16
17# This EP warnings list borrowed from here:
18# https://github.com/bazelbuild/BUILD_file_generator/blob/master/tools/bazel_defs/java.bzl
19java_package_configuration(
20 name = "error_prone",
21 javacopts = [
22 "-XepDisableWarningsInGeneratedCode",
23 "-Xep:MissingCasesInEnumSwitch:ERROR",
24 "-Xep:ReferenceEquality:WARN",
25 "-Xep:StringEquality:WARN",
26 "-Xep:WildcardImport:WARN",
27 "-Xep:AmbiguousMethodReference:WARN",
28 "-Xep:BadAnnotationImplementation:WARN",
29 "-Xep:BadComparable:WARN",
30 "-Xep:BoxedPrimitiveConstructor:ERROR",
31 "-Xep:CannotMockFinalClass:WARN",
32 "-Xep:ClassCanBeStatic:WARN",
33 "-Xep:ClassNewInstance:WARN",
34 "-Xep:DefaultCharset:WARN",
35 "-Xep:DoubleCheckedLocking:WARN",
36 "-Xep:ElementsCountedInLoop:WARN",
37 "-Xep:EqualsHashCode:WARN",
38 "-Xep:EqualsIncompatibleType:WARN",
39 "-Xep:ExpectedExceptionChecker:WARN",
40 "-Xep:Finally:WARN",
41 "-Xep:FloatingPointLiteralPrecision:WARN",
42 "-Xep:FragmentInjection:WARN",
43 "-Xep:FragmentNotInstantiable:WARN",
44 "-Xep:FunctionalInterfaceClash:WARN",
45 "-Xep:FutureReturnValueIgnored:WARN",
46 "-Xep:GetClassOnEnum:WARN",
47 "-Xep:ImmutableAnnotationChecker:WARN",
48 "-Xep:ImmutableEnumChecker:WARN",
49 "-Xep:IncompatibleModifiers:WARN",
50 "-Xep:InjectOnConstructorOfAbstractClass:WARN",
51 "-Xep:InputStreamSlowMultibyteRead:WARN",
52 "-Xep:IterableAndIterator:WARN",
53 "-Xep:JUnit3FloatingPointComparisonWithoutDelta:WARN",
54 "-Xep:JUnitAmbiguousTestClass:WARN",
55 "-Xep:LiteralClassName:WARN",
56 "-Xep:MissingFail:WARN",
57 "-Xep:MissingOverride:WARN",
58 "-Xep:MutableConstantField:WARN",
59 "-Xep:NarrowingCompoundAssignment:WARN",
60 "-Xep:NonAtomicVolatileUpdate:WARN",
61 "-Xep:NonOverridingEquals:WARN",
62 "-Xep:NullableConstructor:WARN",
63 "-Xep:NullablePrimitive:WARN",
64 "-Xep:NullableVoid:WARN",
65 "-Xep:OperatorPrecedence:WARN",
66 "-Xep:OverridesGuiceInjectableMethod:WARN",
67 "-Xep:PreconditionsInvalidPlaceholder:WARN",
68 "-Xep:ProtoFieldPreconditionsCheckNotNull:WARN",
69 "-Xep:ProtocolBufferOrdinal:WARN",
70 "-Xep:RequiredModifiers:WARN",
71 "-Xep:ShortCircuitBoolean:WARN",
72 "-Xep:SimpleDateFormatConstant:WARN",
73 "-Xep:StaticGuardedByInstance:WARN",
74 "-Xep:SynchronizeOnNonFinalField:WARN",
75 "-Xep:TruthConstantAsserts:WARN",
76 "-Xep:TypeParameterShadowing:WARN",
77 "-Xep:TypeParameterUnusedInFormals:WARN",
78 "-Xep:URLEqualsHashCode:WARN",
79 "-Xep:UnsynchronizedOverridesSynchronized:WARN",
80 "-Xep:WaitNotInLoop:WARN",
81 ],
82 packages = ["error_prone_packages"],
83)
84
85package_group(
86 name = "error_prone_packages",
87 packages = [
88 "//java/...",
89 "//javatests/...",
90 ],
91)