Skip to content

Commit 8a78f9d

Browse files
authored
Merge branch 'trunk' into py-delete-downloads-not-implemented
2 parents 74a78f0 + 4140a0f commit 8a78f9d

File tree

14 files changed

+601
-8
lines changed

14 files changed

+601
-8
lines changed

MODULE.bazel

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,7 @@ maven.install(
173173
name = "maven",
174174
artifacts = [
175175
"com.beust:jcommander:1.82",
176+
"org.checkerframework:checker-qual:3.49.2",
176177
"com.github.javaparser:javaparser-core:3.27.0",
177178
"com.github.spotbugs:spotbugs:4.9.6",
178179
"com.github.stephenc.jcip:jcip-annotations:1.0-1",
@@ -187,6 +188,7 @@ maven.install(
187188
"com.google.protobuf:protobuf-java:4.32.1",
188189
"com.google.protobuf.nano:protobuf-javanano:3.1.0",
189190
"com.graphql-java:graphql-java:24.1",
191+
"com.uber.nullaway:nullaway:0.12.10",
190192
"dev.failsafe:failsafe:3.3.2",
191193
"io.grpc:grpc-context:1.75.0",
192194
"io.lettuce:lettuce-core:6.8.1.RELEASE",

java/BUILD.bazel

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
load("@bazel_skylib//rules:common_settings.bzl", "string_flag")
12
load("@contrib_rules_jvm//java:defs.bzl", "spotbugs_binary", "spotbugs_config")
23
load(":defs.bzl", "artifact")
34

@@ -21,6 +22,16 @@ java_plugin(
2122
],
2223
)
2324

25+
java_plugin(
26+
name = "nullaway",
27+
visibility = [
28+
"//java:__subpackages__",
29+
],
30+
deps = [
31+
artifact("com.uber.nullaway:nullaway"),
32+
],
33+
)
34+
2435
java_library(
2536
name = "auto-service",
2637
exported_plugins = [
@@ -52,3 +63,27 @@ spotbugs_config(
5263
"//visibility:public",
5364
],
5465
)
66+
67+
string_flag(
68+
name = "nullaway_level",
69+
build_setting_default = "NONE",
70+
values = [
71+
"NONE",
72+
"WARN",
73+
"ERROR",
74+
],
75+
)
76+
77+
config_setting(
78+
name = "use_nullaway_level_warn",
79+
flag_values = {
80+
":nullaway_level": "WARN",
81+
},
82+
)
83+
84+
config_setting(
85+
name = "use_nullaway_level_error",
86+
flag_values = {
87+
":nullaway_level": "ERROR",
88+
},
89+
)

java/maven_install.json

Lines changed: 100 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL",
3-
"__INPUT_ARTIFACTS_HASH": -1728807581,
4-
"__RESOLVED_ARTIFACTS_HASH": 2067975034,
3+
"__INPUT_ARTIFACTS_HASH": 613305158,
4+
"__RESOLVED_ARTIFACTS_HASH": -1530309246,
55
"artifacts": {
66
"com.beust:jcommander": {
77
"shasums": {
@@ -205,6 +205,13 @@
205205
},
206206
"version": "5.0.0"
207207
},
208+
"com.uber.nullaway:nullaway": {
209+
"shasums": {
210+
"jar": "34e6402eb8725468c1682da44034bef839d944ea0ebbc77b483e03ef99f90644",
211+
"sources": "bca1c0d73859e6996a3227cc7224b4b324929ee53bc0cf9929bead8a4f21c418"
212+
},
213+
"version": "0.12.10"
214+
},
208215
"commons-io:commons-io": {
209216
"shasums": {
210217
"jar": "a10418348d234968600ccb1d988efcbbd08716e1d96936ccc1880e7d22513474",
@@ -599,10 +606,17 @@
599606
},
600607
"org.checkerframework:checker-qual": {
601608
"shasums": {
602-
"jar": "7e8554c902b9b839e61396cfe3a64c84ecabfb8eb652c410bfd8e4f5c1a8ece8",
603-
"sources": "4f85e422b5da3c73990e894f1ed4cac45358f34fb4b979687848301584eccb57"
609+
"jar": "33b1d8b2c4b00f7d4f4b4931424274f3f729474ce3a87cea09a879976a1dcaeb",
610+
"sources": "4eb3d30ab38fda99c5c9fbd3ae0c97eff2e71195e2726a01c115d9ed661fbdd6"
604611
},
605-
"version": "3.21.2"
612+
"version": "3.49.2"
613+
},
614+
"org.checkerframework:dataflow-nullaway": {
615+
"shasums": {
616+
"jar": "db2e715f7350db5b27e6df7d49e74caf083d17aade009c6a9e9c9e6f0cb013c2",
617+
"sources": "d974d911ffb85690e513e1d57b08e5bc5f4f4d161feb2e888ebe729eb6e1ca1b"
618+
},
619+
"version": "3.49.2"
606620
},
607621
"org.dom4j:dom4j": {
608622
"shasums": {
@@ -934,6 +948,11 @@
934948
"org.jspecify:jspecify",
935949
"org.reactivestreams:reactive-streams"
936950
],
951+
"com.uber.nullaway:nullaway": [
952+
"com.google.guava:guava",
953+
"org.checkerframework:dataflow-nullaway",
954+
"org.jspecify:jspecify"
955+
],
937956
"io.grpc:grpc-context": [
938957
"io.grpc:grpc-api"
939958
],
@@ -1124,6 +1143,9 @@
11241143
"org.bouncycastle:bcutil-jdk18on": [
11251144
"org.bouncycastle:bcprov-jdk18on"
11261145
],
1146+
"org.checkerframework:dataflow-nullaway": [
1147+
"org.checkerframework:checker-qual"
1148+
],
11271149
"org.eclipse.mylyn.github:org.eclipse.egit.github.core": [
11281150
"com.google.code.gson:gson"
11291151
],
@@ -1549,6 +1571,23 @@
15491571
"org.dataloader.stats",
15501572
"org.dataloader.stats.context"
15511573
],
1574+
"com.uber.nullaway:nullaway": [
1575+
"com.uber.nullaway",
1576+
"com.uber.nullaway.annotations",
1577+
"com.uber.nullaway.dataflow",
1578+
"com.uber.nullaway.dataflow.cfg",
1579+
"com.uber.nullaway.fixserialization",
1580+
"com.uber.nullaway.fixserialization.adapters",
1581+
"com.uber.nullaway.fixserialization.location",
1582+
"com.uber.nullaway.fixserialization.out",
1583+
"com.uber.nullaway.generics",
1584+
"com.uber.nullaway.handlers",
1585+
"com.uber.nullaway.handlers.contract",
1586+
"com.uber.nullaway.handlers.contract.fieldcontract",
1587+
"com.uber.nullaway.handlers.stream",
1588+
"com.uber.nullaway.handlers.temporary",
1589+
"com.uber.nullaway.jarinfer"
1590+
],
15521591
"commons-io:commons-io": [
15531592
"org.apache.commons.io",
15541593
"org.apache.commons.io.comparator",
@@ -2489,24 +2528,70 @@
24892528
"org.checkerframework.checker.interning.qual",
24902529
"org.checkerframework.checker.lock.qual",
24912530
"org.checkerframework.checker.mustcall.qual",
2531+
"org.checkerframework.checker.nonempty.qual",
24922532
"org.checkerframework.checker.nullness.qual",
24932533
"org.checkerframework.checker.optional.qual",
24942534
"org.checkerframework.checker.propkey.qual",
24952535
"org.checkerframework.checker.regex.qual",
24962536
"org.checkerframework.checker.signature.qual",
24972537
"org.checkerframework.checker.signedness.qual",
2538+
"org.checkerframework.checker.sqlquotes.qual",
24982539
"org.checkerframework.checker.tainting.qual",
24992540
"org.checkerframework.checker.units.qual",
25002541
"org.checkerframework.common.aliasing.qual",
25012542
"org.checkerframework.common.initializedfields.qual",
25022543
"org.checkerframework.common.reflection.qual",
25032544
"org.checkerframework.common.returnsreceiver.qual",
25042545
"org.checkerframework.common.subtyping.qual",
2505-
"org.checkerframework.common.util.report.qual",
2546+
"org.checkerframework.common.util.count.report.qual",
25062547
"org.checkerframework.common.value.qual",
25072548
"org.checkerframework.dataflow.qual",
25082549
"org.checkerframework.framework.qual"
25092550
],
2551+
"org.checkerframework:dataflow-nullaway": [
2552+
"javax.annotation",
2553+
"javax.annotation.concurrent",
2554+
"javax.annotation.meta",
2555+
"org.checkerframework.nullaway.com.google.common.annotations",
2556+
"org.checkerframework.nullaway.com.google.common.base",
2557+
"org.checkerframework.nullaway.com.google.common.base.internal",
2558+
"org.checkerframework.nullaway.com.google.common.cache",
2559+
"org.checkerframework.nullaway.com.google.common.collect",
2560+
"org.checkerframework.nullaway.com.google.common.escape",
2561+
"org.checkerframework.nullaway.com.google.common.eventbus",
2562+
"org.checkerframework.nullaway.com.google.common.graph",
2563+
"org.checkerframework.nullaway.com.google.common.hash",
2564+
"org.checkerframework.nullaway.com.google.common.html",
2565+
"org.checkerframework.nullaway.com.google.common.io",
2566+
"org.checkerframework.nullaway.com.google.common.math",
2567+
"org.checkerframework.nullaway.com.google.common.net",
2568+
"org.checkerframework.nullaway.com.google.common.primitives",
2569+
"org.checkerframework.nullaway.com.google.common.reflect",
2570+
"org.checkerframework.nullaway.com.google.common.util.concurrent",
2571+
"org.checkerframework.nullaway.com.google.common.util.concurrent.internal",
2572+
"org.checkerframework.nullaway.com.google.common.xml",
2573+
"org.checkerframework.nullaway.com.google.errorprone.annotations",
2574+
"org.checkerframework.nullaway.com.google.errorprone.annotations.concurrent",
2575+
"org.checkerframework.nullaway.com.google.j2objc.annotations",
2576+
"org.checkerframework.nullaway.com.google.thirdparty.publicsuffix",
2577+
"org.checkerframework.nullaway.dataflow.analysis",
2578+
"org.checkerframework.nullaway.dataflow.busyexpr",
2579+
"org.checkerframework.nullaway.dataflow.cfg",
2580+
"org.checkerframework.nullaway.dataflow.cfg.block",
2581+
"org.checkerframework.nullaway.dataflow.cfg.builder",
2582+
"org.checkerframework.nullaway.dataflow.cfg.node",
2583+
"org.checkerframework.nullaway.dataflow.cfg.playground",
2584+
"org.checkerframework.nullaway.dataflow.cfg.visualize",
2585+
"org.checkerframework.nullaway.dataflow.constantpropagation",
2586+
"org.checkerframework.nullaway.dataflow.expression",
2587+
"org.checkerframework.nullaway.dataflow.livevariable",
2588+
"org.checkerframework.nullaway.dataflow.reachingdef",
2589+
"org.checkerframework.nullaway.dataflow.util",
2590+
"org.checkerframework.nullaway.javacutil",
2591+
"org.checkerframework.nullaway.javacutil.trees",
2592+
"org.checkerframework.nullaway.org.plumelib.reflection",
2593+
"org.checkerframework.nullaway.org.plumelib.util"
2594+
],
25102595
"org.dom4j:dom4j": [
25112596
"org.dom4j",
25122597
"org.dom4j.bean",
@@ -3021,6 +3106,8 @@
30213106
"com.graphql-java:graphql-java:jar:sources",
30223107
"com.graphql-java:java-dataloader",
30233108
"com.graphql-java:java-dataloader:jar:sources",
3109+
"com.uber.nullaway:nullaway",
3110+
"com.uber.nullaway:nullaway:jar:sources",
30243111
"commons-io:commons-io",
30253112
"commons-io:commons-io:jar:sources",
30263113
"commons-logging:commons-logging",
@@ -3135,6 +3222,8 @@
31353222
"org.bouncycastle:bcutil-jdk18on:jar:sources",
31363223
"org.checkerframework:checker-qual",
31373224
"org.checkerframework:checker-qual:jar:sources",
3225+
"org.checkerframework:dataflow-nullaway",
3226+
"org.checkerframework:dataflow-nullaway:jar:sources",
31383227
"org.dom4j:dom4j",
31393228
"org.dom4j:dom4j:jar:sources",
31403229
"org.eclipse.mylyn.github:org.eclipse.egit.github.core",
@@ -3245,6 +3334,11 @@
32453334
"com.google.googlejavaformat.java.GoogleJavaFormatTool"
32463335
]
32473336
},
3337+
"com.uber.nullaway:nullaway": {
3338+
"com.google.errorprone.bugpatterns.BugChecker": [
3339+
"com.uber.nullaway.NullAway"
3340+
]
3341+
},
32483342
"io.lettuce:lettuce-core": {
32493343
"io.lettuce.core.json.JsonParser": [
32503344
"io.lettuce.core.json.DefaultJsonParser"

java/private/export.bzl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
load("@contrib_rules_jvm//java:defs.bzl", "java_library")
21
load(
32
"@rules_jvm_external//:defs.bzl",
43
"javadoc",
@@ -8,6 +7,7 @@ load("@rules_jvm_external//private/rules:maven_bom_fragment.bzl", "maven_bom_fra
87
load("@rules_jvm_external//private/rules:maven_project_jar.bzl", "maven_project_jar")
98
load("@rules_jvm_external//private/rules:maven_publish.bzl", "maven_publish")
109
load("//java/private:module.bzl", "java_module")
10+
load(":java_library.bzl", "java_library")
1111

1212
def java_export(
1313
name,

java/private/java_library.bzl

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
load(
2+
"@contrib_rules_jvm//java:defs.bzl",
3+
_java_library = "java_library",
4+
)
5+
6+
def java_library(
7+
name,
8+
deps = [],
9+
srcs = [],
10+
exports = [],
11+
tags = [],
12+
visibility = None,
13+
javacopts = [],
14+
plugins = [],
15+
**kwargs):
16+
# NullAway configuration
17+
nullaway_plugins = select({
18+
"//java:use_nullaway_level_warn": [
19+
"//java:nullaway",
20+
],
21+
"//java:use_nullaway_level_error": [
22+
"//java:nullaway",
23+
],
24+
"//conditions:default": [],
25+
})
26+
nullaway_javacopts = select({
27+
"//java:use_nullaway_level_warn": [
28+
"-Xep:NullAway:WARN",
29+
"-XepOpt:NullAway:AnnotatedPackages=org.openqa.selenium",
30+
],
31+
"//java:use_nullaway_level_error": [
32+
"-Xep:NullAway:ERROR",
33+
"-XepOpt:NullAway:AnnotatedPackages=org.openqa.selenium",
34+
],
35+
"//conditions:default": [],
36+
})
37+
38+
# global place for NullAway plugin use
39+
_java_library(
40+
name = name,
41+
deps = deps,
42+
srcs = srcs,
43+
exports = exports,
44+
tags = tags,
45+
visibility = visibility,
46+
plugins = plugins + nullaway_plugins,
47+
javacopts = javacopts + nullaway_javacopts,
48+
**kwargs
49+
)

java/private/library.bzl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
load(
22
"@contrib_rules_jvm//java:defs.bzl",
3-
_java_library = "java_library",
43
_java_test = "java_test",
54
)
65
load(":export.bzl", _java_export = "java_export")
6+
load(":java_library.bzl", _java_library = "java_library")
77

88
java_export = _java_export
99
java_library = _java_library

java/src/org/openqa/selenium/grid/web/RoutableHttpClientFactory.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,21 @@ public HttpResponse execute(HttpRequest request) throws UncheckedIOException {
7575
public WebSocket openSocket(HttpRequest request, WebSocket.Listener listener) {
7676
throw new UnsupportedOperationException("openSocket");
7777
}
78+
79+
@Override
80+
public <T>
81+
java.util.concurrent.CompletableFuture<java.net.http.HttpResponse<T>> sendAsyncNative(
82+
java.net.http.HttpRequest request,
83+
java.net.http.HttpResponse.BodyHandler<T> handler) {
84+
throw new UnsupportedOperationException("sendAsyncNative is not supported");
85+
}
86+
87+
@Override
88+
public <T> java.net.http.HttpResponse<T> sendNative(
89+
java.net.http.HttpRequest request, java.net.http.HttpResponse.BodyHandler<T> handler)
90+
throws java.io.IOException, InterruptedException {
91+
throw new UnsupportedOperationException("sendNative is not supported");
92+
}
7893
};
7994
}
8095

java/src/org/openqa/selenium/remote/RemoteWebDriverBuilder.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,23 @@ public WebSocket openSocket(HttpRequest request, WebSocket.Listener listener) {
297297
public HttpResponse execute(HttpRequest req) throws UncheckedIOException {
298298
return handler.execute(req);
299299
}
300+
301+
@Override
302+
public <T>
303+
java.util.concurrent.CompletableFuture<java.net.http.HttpResponse<T>>
304+
sendAsyncNative(
305+
java.net.http.HttpRequest request,
306+
java.net.http.HttpResponse.BodyHandler<T> handler) {
307+
throw new UnsupportedOperationException("sendAsyncNative is not supported");
308+
}
309+
310+
@Override
311+
public <T> java.net.http.HttpResponse<T> sendNative(
312+
java.net.http.HttpRequest request,
313+
java.net.http.HttpResponse.BodyHandler<T> handler)
314+
throws java.io.IOException, InterruptedException {
315+
throw new UnsupportedOperationException("sendNative is not supported");
316+
}
300317
};
301318
}
302319
};

0 commit comments

Comments
 (0)