1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50load(
"@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
)