Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
04b389f
[java][bidi] Add BiDi code generator
pujagani Jul 14, 2026
733f0d8
Fixing CI. Fixing bugs to match the low-level contract
pujagani Jul 22, 2026
95e1e95
Address comments
pujagani Jul 22, 2026
e1c3689
Address comments
pujagani Jul 22, 2026
fad9cde
Fix tests
pujagani Jul 22, 2026
a2fa95c
Address comments
pujagani Jul 22, 2026
7e5e00c
Ensure Javadoc is there
pujagani Jul 29, 2026
9810406
[java][bidi] Add BiDi code generator
pujagani Jul 14, 2026
be81a6a
Fixing CI. Fixing bugs to match the low-level contract
pujagani Jul 22, 2026
2c82de3
Address comments
pujagani Jul 22, 2026
4139a8e
Address comments
pujagani Jul 22, 2026
cf5b6c7
Fix tests
pujagani Jul 22, 2026
2395d06
Address comments
pujagani Jul 22, 2026
fe68da5
Ensure Javadoc is there
pujagani Jul 29, 2026
c72ff7f
Merge branch 'java-bidi-codegen' of https://github.com/pujagani/selen…
pujagani Aug 7, 2026
aca4b34
[java][bidi] Add BiDi code generator
pujagani Jul 14, 2026
4b41862
Fixing CI. Fixing bugs to match the low-level contract
pujagani Jul 22, 2026
a9cd14c
Address comments
pujagani Jul 22, 2026
b1a2211
Address comments
pujagani Jul 22, 2026
b3ecdd0
Fix tests
pujagani Jul 22, 2026
ceaf065
Address comments
pujagani Jul 22, 2026
16fdcbd
Ensure Javadoc is there
pujagani Jul 29, 2026
9166103
Fixing CI. Fixing bugs to match the low-level contract
pujagani Jul 22, 2026
b28f957
Address comments
pujagani Jul 22, 2026
549ada0
Ensure Javadoc is there
pujagani Jul 29, 2026
4120336
Merge branch 'java-bidi-codegen' of https://github.com/pujagani/selen…
pujagani Aug 17, 2026
4ed0f70
Merge branch 'trunk' into java-bidi-codegen
pujagani Aug 17, 2026
3dc9bc8
[bidi][java] Adhering to low-level design with extensiblity
pujagani Aug 17, 2026
db716e5
Fix tests and address comments
pujagani Aug 18, 2026
f0cce97
Address comments
pujagani Aug 18, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions java/spotbugs-excludes.xml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,11 @@
<Bug pattern="EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS"/>
</Match>

<Match>
<Class name="org.openqa.selenium.bidi.protocol.script.EvaluateResultException"/>
<Bug pattern="NM_CLASS_NOT_EXCEPTION"/>
</Match>

<Match>
<Class name="org.openqa.selenium.build.Build"/>
<Bug pattern="NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE"/>
Expand Down
50 changes: 48 additions & 2 deletions java/src/org/openqa/selenium/bidi/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
load("//java:defs.bzl", "java_library")
load("//java:defs.bzl", "java_binary", "java_library")

AUGMENTER_SRCS = [
"BiDiProvider.java",
]

GENERATOR_SRCS = [
"BiDiGenerator.java",
]

java_library(
name = "augmenter",
srcs = AUGMENTER_SRCS,
Expand All @@ -26,7 +30,7 @@ java_library(
[
"*.java",
],
exclude = AUGMENTER_SRCS,
exclude = AUGMENTER_SRCS + GENERATOR_SRCS,
),
visibility = [
"//java/src/org/openqa/selenium/bidi:__subpackages__",
Expand All @@ -42,3 +46,45 @@ java_library(
"@maven//:org_jspecify_jspecify",
],
)

java_binary(
name = "bidi-client-generator",
srcs = GENERATOR_SRCS,
main_class = "org.openqa.selenium.bidi.BiDiGenerator",
deps = [
"//java/src/org/openqa/selenium/json",
],
)

genrule(
Comment thread
qodo-code-review[bot] marked this conversation as resolved.
name = "generate-bidi",
srcs = ["//javascript/selenium-webdriver:create-bidi-src_schema"],
outs = ["bidi-generated.srcjar"],
cmd = "\"$(execpath :bidi-client-generator)\" \"$(location //javascript/selenium-webdriver:create-bidi-src_schema)\" \"$@\"",
tools = [":bidi-client-generator"],
)

# Autogen, not checked in: the build compiles :generate-bidi's srcjar directly, nothing is
# hand-edited, every build ships fresh output. The cross-binding BiDi codegen decisions doc (G1)
# calls checking-in-while-unproven the general recommendation, but also names this exact shape β€”
# build-time generation straight into bazel-out β€” as the end state, and notes selenium-devtools/CDP
# in this repo already works this way. Matching that existing, already-de-risked precedent avoids
# standing up a separate checked-in + verify-test workflow (with its own CI-coverage question to
# resolve first) just for BiDi. Trade-off accepted knowingly: less reviewable diff surface while the
# generator is still new.
java_library(
name = "bidi-generated",
srcs = [":generate-bidi"],
visibility = [
"//java/src/org/openqa/selenium/bidi:__subpackages__",
"//java/src/org/openqa/selenium/remote:__pkg__",
"//java/test/org/openqa/selenium/bidi:__subpackages__",
"//java/test/org/openqa/selenium/grid:__subpackages__",
],
deps = [
":bidi",
"//java/src/org/openqa/selenium:core",
"//java/src/org/openqa/selenium/json",
"@maven//:org_jspecify_jspecify",
],
)
Loading