blob: 09adf16debdf6477db712494fdb3128fec564f17 [file] [log] [blame]
Dave Borowitz938398f2018-09-14 14:14:25 -07001load(
2 "@bazel_tools//tools/jdk:default_java_toolchain.bzl",
3 "JDK9_JVM_OPTS",
4 "default_java_toolchain",
5)
David Ostrovsky4b60cd72018-08-26 15:53:01 +02006
Han-Wen Nienhuysa223f5a2019-04-25 12:15:41 +02007exports_files(["nongoogle.bzl"])
8
David Ostrovskyb81b4f72016-05-21 19:55:01 +02009py_binary(
David Ostrovskyfa189072016-11-30 08:52:06 +010010 name = "merge_jars",
11 srcs = ["merge_jars.py"],
12 main = "merge_jars.py",
13 visibility = ["//visibility:public"],
David Ostrovskyb81b4f72016-05-21 19:55:01 +020014)
David Ostrovsky4b60cd72018-08-26 15:53:01 +020015
David Ostrovsky4b60cd72018-08-26 15:53:01 +020016default_java_toolchain(
17 name = "error_prone_warnings_toolchain",
David Pursehousea5ca0332018-11-02 08:24:16 +090018 bootclasspath = ["@bazel_tools//tools/jdk:platformclasspath.jar"],
Dave Borowitz938398f2018-09-14 14:14:25 -070019 jvm_opts = JDK9_JVM_OPTS,
David Ostrovsky4b60cd72018-08-26 15:53:01 +020020 package_configuration = [
21 ":error_prone",
22 ],
23 visibility = ["//visibility:public"],
24)
25
Dave Borowitz3b78c072019-05-24 11:27:43 -070026# Error Prone errors enabled by default; see ../.bazelrc for how this is
27# enabled. This warnings list is originally based on:
28# https://github.com/bazelbuild/BUILD_file_generator/blob/master/tools/bazel_defs/java.bzl
29# However, feel free to add any additional errors. Thus far they have all been pretty useful.
Dave Borowitzcac46302019-05-24 09:54:18 -070030java_package_configuration(
31 name = "error_prone",
32 javacopts = [
33 "-XepDisableWarningsInGeneratedCode",
Dave Borowitzccdc6702019-05-24 10:14:03 -070034 "-Xep:AmbiguousMethodReference:ERROR",
35 "-Xep:BadAnnotationImplementation:ERROR",
36 "-Xep:BadComparable:ERROR",
37 "-Xep:BoxedPrimitiveConstructor:ERROR",
38 "-Xep:CannotMockFinalClass:ERROR",
Dave Borowitzae99a1b2019-05-24 10:15:40 -070039 "-Xep:ClassCanBeStatic:ERROR",
Dave Borowitzccdc6702019-05-24 10:14:03 -070040 "-Xep:ClassNewInstance:ERROR",
Dave Borowitz96015722019-05-24 10:16:41 -070041 "-Xep:DefaultCharset:ERROR",
Dave Borowitzccdc6702019-05-24 10:14:03 -070042 "-Xep:DoubleCheckedLocking:ERROR",
43 "-Xep:ElementsCountedInLoop:ERROR",
Dave Borowitz3cf39622019-05-24 10:17:44 -070044 "-Xep:DoubleCheckedLocking:ERROR",
45 "-Xep:ElementsCountedInLoop:ERROR",
46 "-Xep:EqualsHashCode:ERROR",
47 "-Xep:EqualsIncompatibleType:ERROR",
48 "-Xep:ExpectedExceptionChecker:ERROR",
49 "-Xep:Finally:ERROR",
Dave Borowitz0c5fdd72019-05-24 10:22:02 -070050 "-Xep:FloatingPointLiteralPrecision:ERROR",
51 "-Xep:FragmentInjection:ERROR",
52 "-Xep:FragmentNotInstantiable:ERROR",
53 "-Xep:FunctionalInterfaceClash:ERROR",
Dave Borowitzef04f0e62019-05-24 10:42:22 -070054 "-Xep:FutureReturnValueIgnored:ERROR",
Dave Borowitzf66892a2019-05-24 10:44:32 -070055 "-Xep:GetClassOnEnum:ERROR",
Dave Borowitz0c5fdd72019-05-24 10:22:02 -070056 "-Xep:ImmutableAnnotationChecker:ERROR",
Dave Borowitz0b9e5812019-05-24 10:37:36 -070057 "-Xep:ImmutableEnumChecker:ERROR",
Dave Borowitz0c5fdd72019-05-24 10:22:02 -070058 "-Xep:IncompatibleModifiers:ERROR",
59 "-Xep:InjectOnConstructorOfAbstractClass:ERROR",
Dave Borowitzb7769f32019-05-24 10:46:17 -070060 "-Xep:InputStreamSlowMultibyteRead:ERROR",
61 "-Xep:IterableAndIterator:ERROR",
62 "-Xep:JUnit3FloatingPointComparisonWithoutDelta:ERROR",
63 "-Xep:JUnitAmbiguousTestClass:ERROR",
64 "-Xep:LiteralClassName:ERROR",
65 "-Xep:MissingCasesInEnumSwitch:ERROR",
66 "-Xep:MissingFail:ERROR",
Dave Borowitzdc00c1d2019-05-24 10:48:49 -070067 "-Xep:MissingOverride:ERROR",
Dave Borowitzb7769f32019-05-24 10:46:17 -070068 "-Xep:MutableConstantField:ERROR",
Dave Borowitzcd7efe12019-05-24 10:52:43 -070069 "-Xep:NarrowingCompoundAssignment:ERROR",
Dave Borowitz2bc50b42019-05-24 10:56:59 -070070 "-Xep:NonAtomicVolatileUpdate:ERROR",
71 "-Xep:NonOverridingEquals:ERROR",
72 "-Xep:NullableConstructor:ERROR",
73 "-Xep:NullablePrimitive:ERROR",
74 "-Xep:NullableVoid:ERROR",
Dave Borowitzb21dde32019-05-24 10:57:09 -070075 "-Xep:OperatorPrecedence:ERROR",
Dave Borowitz2bc50b42019-05-24 10:56:59 -070076 "-Xep:OverridesGuiceInjectableMethod:ERROR",
77 "-Xep:PreconditionsInvalidPlaceholder:ERROR",
78 "-Xep:ProtoFieldPreconditionsCheckNotNull:ERROR",
79 "-Xep:ProtocolBufferOrdinal:ERROR",
Dave Borowitzb9640492019-05-24 11:24:32 -070080 "-Xep:ReferenceEquality:ERROR",
Dave Borowitz425ad6e2019-05-24 11:00:18 -070081 "-Xep:RequiredModifiers:ERROR",
82 "-Xep:ShortCircuitBoolean:ERROR",
83 "-Xep:SimpleDateFormatConstant:ERROR",
84 "-Xep:StaticGuardedByInstance:ERROR",
Dave Borowitzccdc6702019-05-24 10:14:03 -070085 "-Xep:StringEquality:ERROR",
Dave Borowitzb13bec92019-05-24 11:16:54 -070086 "-Xep:SynchronizeOnNonFinalField:ERROR",
Dave Borowitz425ad6e2019-05-24 11:00:18 -070087 "-Xep:TruthConstantAsserts:ERROR",
88 "-Xep:TypeParameterShadowing:ERROR",
Dave Borowitzb31519f2019-05-24 11:05:18 -070089 "-Xep:TypeParameterUnusedInFormals:ERROR",
Dave Borowitz425ad6e2019-05-24 11:00:18 -070090 "-Xep:URLEqualsHashCode:ERROR",
91 "-Xep:UnsynchronizedOverridesSynchronized:ERROR",
92 "-Xep:WaitNotInLoop:ERROR",
Dave Borowitzcac46302019-05-24 09:54:18 -070093 "-Xep:WildcardImport:ERROR",
94 ],
95 packages = ["error_prone_packages"],
96)
97
David Ostrovsky4b60cd72018-08-26 15:53:01 +020098package_group(
99 name = "error_prone_packages",
100 packages = [
101 "//java/...",
102 "//javatests/...",
David Pursehousedf7c4812019-05-27 13:29:03 +0900103 "//plugins/codemirror-editor/...",
104 "//plugins/commit-message-length-validator/...",
105 "//plugins/delete-project/...",
106 "//plugins/download-commands/...",
107 "//plugins/gitiles/...",
108 "//plugins/hooks/...",
109 "//plugins/plugin-manager/...",
110 "//plugins/replication/...",
111 "//plugins/reviewnotes/...",
112 "//plugins/singleusergroup/...",
113 "//plugins/webhooks/...",
David Ostrovsky4b60cd72018-08-26 15:53:01 +0200114 ],
115)