You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
110 lines
4.2 KiB
110 lines
4.2 KiB
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"], |
|
) |
|
|
|
# Error Prone errors enabled by default; see ../.bazelrc for how this is |
|
# enabled. This warnings list is originally based on: |
|
# https://github.com/bazelbuild/BUILD_file_generator/blob/master/tools/bazel_defs/java.bzl |
|
# However, feel free to add any additional errors. Thus far they have all been pretty useful. |
|
java_package_configuration( |
|
name = "error_prone", |
|
javacopts = [ |
|
"-XepDisableWarningsInGeneratedCode", |
|
"-Xep:MissingCasesInEnumSwitch:ERROR", |
|
"-Xep:ReferenceEquality:WARN", |
|
"-Xep:StringEquality:WARN", |
|
"-Xep:WildcardImport:ERROR", |
|
"-Xep:AmbiguousMethodReference:WARN", |
|
"-Xep:BadAnnotationImplementation:ERROR", |
|
"-Xep:BadComparable:WARN", |
|
"-Xep:BoxedPrimitiveConstructor:ERROR", |
|
"-Xep:CannotMockFinalClass:ERROR", |
|
"-Xep:ClassCanBeStatic:ERROR", |
|
"-Xep:ClassNewInstance:WARN", |
|
"-Xep:DefaultCharset:ERROR", |
|
"-Xep:DoubleCheckedLocking:ERROR", |
|
"-Xep:ElementsCountedInLoop:ERROR", |
|
"-Xep:EqualsHashCode:ERROR", |
|
"-Xep:EqualsIncompatibleType:ERROR", |
|
"-Xep:ExpectedExceptionChecker:ERROR", |
|
"-Xep:Finally:WARN", |
|
"-Xep:FloatingPointLiteralPrecision:ERROR", |
|
"-Xep:FragmentInjection:ERROR", |
|
"-Xep:FragmentNotInstantiable:ERROR", |
|
"-Xep:FunctionalInterfaceClash:ERROR", |
|
"-Xep:FutureReturnValueIgnored:WARN", |
|
"-Xep:GetClassOnEnum:ERROR", |
|
"-Xep:ImmutableAnnotationChecker:ERROR", |
|
"-Xep:ImmutableEnumChecker:WARN", |
|
"-Xep:IncompatibleModifiers:ERROR", |
|
"-Xep:InjectOnConstructorOfAbstractClass:ERROR", |
|
"-Xep:InputStreamSlowMultibyteRead:ERROR", |
|
"-Xep:IterableAndIterator:ERROR", |
|
"-Xep:JUnit3FloatingPointComparisonWithoutDelta:ERROR", |
|
"-Xep:JUnitAmbiguousTestClass:ERROR", |
|
"-Xep:LiteralClassName:ERROR", |
|
"-Xep:MissingFail:ERROR", |
|
"-Xep:MissingOverride:ERROR", |
|
"-Xep:MutableConstantField:ERROR", |
|
"-Xep:NarrowingCompoundAssignment:WARN", |
|
"-Xep:NonAtomicVolatileUpdate:ERROR", |
|
"-Xep:NonOverridingEquals:WARN", |
|
"-Xep:NullableConstructor:ERROR", |
|
"-Xep:NullablePrimitive:ERROR", |
|
"-Xep:NullableVoid:ERROR", |
|
"-Xep:OperatorPrecedence:WARN", |
|
"-Xep:OverridesGuiceInjectableMethod:ERROR", |
|
"-Xep:PreconditionsInvalidPlaceholder:ERROR", |
|
"-Xep:ProtoFieldPreconditionsCheckNotNull:ERROR", |
|
"-Xep:ProtocolBufferOrdinal:ERROR", |
|
"-Xep:RequiredModifiers:ERROR", |
|
"-Xep:ShortCircuitBoolean:WARN", |
|
"-Xep:SimpleDateFormatConstant:ERROR", |
|
"-Xep:StaticGuardedByInstance:ERROR", |
|
"-Xep:SynchronizeOnNonFinalField:ERROR", |
|
"-Xep:TruthConstantAsserts:ERROR", |
|
"-Xep:TypeParameterShadowing:ERROR", |
|
"-Xep:TypeParameterUnusedInFormals:WARN", |
|
"-Xep:URLEqualsHashCode:ERROR", |
|
"-Xep:UnsynchronizedOverridesSynchronized:ERROR", |
|
"-Xep:WaitNotInLoop:ERROR", |
|
], |
|
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/...", |
|
], |
|
)
|
|
|