|
|
load(
|
||
|
|
"@contrib_rules_jvm//java:defs.bzl",
|
||
|
|
_java_library = "java_library",
|
||
|
|
)
|
||
|
|
|
||
|
|
def java_library(
|
||
|
|
name,
|
||
|
|
deps = [],
|
||
|
|
srcs = [],
|
||
|
|
exports = [],
|
||
|
|
tags = [],
|
||
|
|
visibility = None,
|
||
|
|
javacopts = [],
|
||
|
|
plugins = [],
|
||
|
|
**kwargs):
|
||
|
|
# NullAway configuration
|
||
|
|
nullaway_plugins = select({
|
||
|
|
"//java:use_nullaway_level_warn": [
|
||
|
|
"//java:nullaway",
|
||
|
|
],
|
||
|
|
"//java:use_nullaway_level_error": [
|
||
|
|
"//java:nullaway",
|
||
|
|
],
|
||
|
|
"//conditions:default": [],
|
||
|
|
})
|
||
|
|
nullaway_javacopts = select({
|
||
|
|
"//java:use_nullaway_level_warn": [
|
||
|
|
"-Xep:NullAway:WARN",
|
||
|
|
"-XepOpt:NullAway:AnnotatedPackages=org.openqa.selenium",
|
||
|
|
],
|
||
|
|
"//java:use_nullaway_level_error": [
|
||
|
|
"-Xep:NullAway:ERROR",
|
||
|
|
"-XepOpt:NullAway:AnnotatedPackages=org.openqa.selenium",
|
||
|
|
],
|
||
|
|
"//conditions:default": [],
|
||
|
|
})
|
||
|
|
|
||
|
|
# global place for NullAway plugin use
|
||
|
|
_java_library(
|
||
|
|
name = name,
|
||
|
|
deps = deps,
|
||
|
|
srcs = srcs,
|
||
|
|
exports = exports,
|
||
|
|
tags = tags,
|
||
|
|
visibility = visibility,
|
||
|
|
plugins = plugins + nullaway_plugins,
|
||
|
|
javacopts = javacopts + nullaway_javacopts,
|
||
|
|
**kwargs
|
||
|
|
)
|