Skip to content

Conversation

@RenderMichael
Copy link
Contributor

@RenderMichael RenderMichael commented Nov 27, 2025

User description

Almost all of our dependencies are internal; we can use that to simplify our build process.

🔗 Related Issues

💥 What does this PR do?

🔧 Implementation Notes

💡 Additional Considerations

🔄 Types of changes

  • Cleanup (formatting, renaming)

PR Type

Enhancement


Description

  • Split NuGet dependencies into three separate groups: shipping, tests, and devtools generator

  • Created dedicated Bazel build files for each NuGet package group with separate extensions

  • Updated paket.dependencies to organize packages by their usage context

  • Refactored BUILD.bazel files to use group-specific package helper functions


Diagram Walkthrough

flowchart LR
  A["paket.dependencies<br/>Single group"] -->|Split into| B["paket.nuget<br/>Shipping packages"]
  A -->|Split into| C["paket.tests_nuget<br/>Test packages"]
  A -->|Split into| D["paket.devtools_generator_nuget<br/>DevTools packages"]
  B -->|Extension| E["paket.nuget_extension.bzl"]
  C -->|Extension| F["paket.tests_nuget_extension.bzl"]
  D -->|Extension| G["paket.devtools_generator_nuget_extension.bzl"]
  E -->|Used by| H["BUILD.bazel files"]
  F -->|Used by| I["Test BUILD.bazel files"]
  G -->|Used by| J["DevTools generator BUILD.bazel"]
Loading

File Walkthrough

Relevant files
Configuration changes
14 files
paket.devtools_generator_nuget.bzl
New devtools generator NuGet package repository definition
+18/-0   
paket.devtools_generator_nuget_extension.bzl
New Bazel module extension for devtools generator packages
+11/-0   
paket.tests_nuget.bzl
New test NuGet package repository definition                         
+20/-0   
paket.tests_nuget_extension.bzl
New Bazel module extension for test packages                         
+11/-0   
paket.nuget.bzl
Removed test and devtools packages from shipping group     
+0/-17   
paket.dependencies
Reorganized dependencies into three separate groups           
+30/-15 
dotnet_nunit_test_suite.bzl
Updated NUnitLite dependency to use tests_nuget group       
+1/-1     
MODULE.bazel
Added extensions for tests and devtools generator NuGet groups
+6/-0     
BUILD.bazel
Updated test dependencies to use tests_nuget_package helper
+7/-6     
BUILD.bazel
Updated test dependencies to use tests_nuget_package helper
+3/-2     
BUILD.bazel
Updated test dependencies to use tests_nuget_package helper
+5/-4     
BUILD.bazel
Updated test dependencies to use tests_nuget_package helper
+4/-3     
BUILD.bazel
Updated test dependencies to use tests_nuget_package helper
+5/-4     
BUILD.bazel
Updated devtools dependencies to use devtools_nuget_package helper
+7/-6     
Enhancement
2 files
defs.bzl
New helper function for test NuGet package references       
+2/-0     
defs.bzl
New helper function for devtools NuGet package references
+2/-0     
Additional files
1 files
BUILD.bazel [link]   

@selenium-ci selenium-ci added C-dotnet .NET Bindings B-build Includes scripting, bazel and CI integrations B-devtools Includes everything BiDi or Chrome DevTools related B-support Issue or PR related to support classes labels Nov 27, 2025
@selenium-ci
Copy link
Member

Thank you, @RenderMichael for this code suggestion.

The support packages contain example code that many users find helpful, but they do not necessarily represent
the best practices for using Selenium, and the Selenium team is not currently merging changes to them.

After reviewing the change, unless it is a critical fix or a feature that is needed for Selenium
to work, we will likely close the PR.

We actively encourage people to add the wrapper and helper code that makes sense for them to their own frameworks.
If you have any questions, please contact us

@qodo-merge-pro
Copy link
Contributor

PR Compliance Guide 🔍

Below is a summary of compliance checks for this PR:

Security Compliance
🟢
No security concerns identified No security vulnerabilities detected by AI analysis. Human verification advised for critical code.
Ticket Compliance
🟡
🎫 #1234
🔴 Investigate and fix a regression where WebDriver click() does not trigger JavaScript in an
anchor href in Selenium 2.48.x (works in 2.47.1) on Firefox 42.0 32-bit.
Provide verification (tests or steps) that the alert/JS is triggered again when clicking
the link.
🟡
🎫 #5678
🔴 Diagnose and resolve recurring "Error: ConnectFailure (Connection refused)" when
instantiating additional ChromeDriver instances on Ubuntu 16.04.4 with Chrome 65 /
ChromeDriver 2.35 using Selenium 3.9.0.
Ensure subsequent ChromeDriver instantiations succeed without connection errors; provide
repro steps validation.
Codebase Duplication Compliance
Codebase context is not defined

Follow the guide to enable codebase context checks.

Custom Compliance
🟢
Generic: Meaningful Naming and Self-Documenting Code

Objective: Ensure all identifiers clearly express their purpose and intent, making code
self-documenting

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Logging Practices

Objective: To ensure logs are useful for debugging and auditing without exposing sensitive
information like PII, PHI, or cardholder data.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Comprehensive Audit Trails

Objective: To create a detailed and reliable record of critical system actions for security analysis
and compliance.

Status:
No audit scope: The PR introduces build configuration and dependency grouping with no runtime actions, so
audit logging is not applicable based on the shown diff, but cannot be fully assessed
without broader context.

Referred Code
selenium_paket = use_extension("//dotnet:paket.nuget_extension.bzl", "nuget_extension")
use_repo(selenium_paket, "paket.nuget")

selenium_tests_paket = use_extension("//dotnet:paket.tests_nuget_extension.bzl", "tests_nuget_extension")
use_repo(selenium_tests_paket, "paket.tests_nuget")

selenium_devtools_paket = use_extension("//dotnet:paket.devtools_generator_nuget_extension.bzl", "devtools_generator_nuget_extension")
use_repo(selenium_devtools_paket, "paket.devtools_generator_nuget")

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Robust Error Handling and Edge Case Management

Objective: Ensure comprehensive error handling that provides meaningful context and graceful
degradation

Status:
No error handling: The new Bazel Starlark helpers define repository/package lists without any error handling
or validation, which may be acceptable for generated build files but cannot be confirmed
from the diff alone.

Referred Code
def tests_nuget():
    "tests_nuget"
    nuget_repo(
        name = "paket.tests_nuget",
        packages = [
            {"name": "BenderProxy", "id": "BenderProxy", "version": "1.0.0", "sha512": "sha512-zNsAtO6ZwNa0MfyFFJAzA6rsTtqnjY+bD2gCDHSUIbRS31wRJ9GfOeummSlEVaH/DSxxiuQaIhZmtIFAM0WW+A==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}},
            {"name": "Castle.Core", "id": "Castle.Core", "version": "5.1.1", "sha512": "sha512-N4oUnr+qEtAMs1vK7ogGgD33vHWYDJ4MZ/NuPgV9avKrrq0kzYJ0qVlcesdMuVl8nWkTsRJbhuaxVqZvehrC+g==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Diagnostics.EventLog"], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": ["System.Diagnostics.EventLog"], "net6.0": ["System.Diagnostics.EventLog"], "net7.0": ["System.Diagnostics.EventLog"], "net8.0": ["System.Diagnostics.EventLog"], "net9.0": ["System.Diagnostics.EventLog"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Diagnostics.EventLog"], "netcoreapp2.1": ["System.Diagnostics.EventLog"], "netcoreapp2.2": ["System.Diagnostics.EventLog"], "netcoreapp3.0": ["System.Diagnostics.EventLog"], "netcoreapp3.1": ["System.Diagnostics.EventLog"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Diagnostics.EventLog"], "netstandard2.1": ["System.Diagnostics.EventLog"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}},
            {"name": "Microsoft.NETCore.Platforms", "id": "Microsoft.NETCore.Platforms", "version": "1.1.0", "sha512": "sha512-a/iSwnRZb+LHFk49hQOyThh/ZNC3vsbZsF65XwQIb863qF6msmhdQtxGXFL28Ob2NsCz/drEj28BJd/YPpLRBg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}},
            {"name": "Moq", "id": "Moq", "version": "4.20.72", "sha512": "sha512-HeLdAKzFe2G4fUg+tUa1WRf/Mye9zbkiv57jHRSb5IVi7GXVPgWbbEaUP8SaOpt43JJFRlWY9N5Yro32/tgRpQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Castle.Core"], "net462": ["Castle.Core"], "net47": ["Castle.Core"], "net471": ["Castle.Core"], "net472": ["Castle.Core"], "net48": ["Castle.Core"], "net5.0": ["Castle.Core"], "net6.0": ["Castle.Core"], "net7.0": ["Castle.Core"], "net8.0": ["Castle.Core"], "net9.0": ["Castle.Core"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Castle.Core"], "netcoreapp2.1": ["Castle.Core"], "netcoreapp2.2": ["Castle.Core"], "netcoreapp3.0": ["Castle.Core"], "netcoreapp3.1": ["Castle.Core"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Castle.Core"], "netstandard2.1": ["Castle.Core"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}},
            {"name": "NETStandard.Library", "id": "NETStandard.Library", "version": "2.0.0", "sha512": "sha512-49ZAcrnNn56GIJwGoiaI7NpwcEJ8mjUyfSqVYIJMDhOBzPe8HSHS74swF2H0v8fzj7pxLfcYjS9P5PdIqsTQxw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": ["Microsoft.NETCore.Platforms"], "net451": ["Microsoft.NETCore.Platforms"], "net452": ["Microsoft.NETCore.Platforms"], "net46": ["Microsoft.NETCore.Platforms"], "net461": ["Microsoft.NETCore.Platforms"], "net462": ["Microsoft.NETCore.Platforms"], "net47": ["Microsoft.NETCore.Platforms"], "net471": ["Microsoft.NETCore.Platforms"], "net472": ["Microsoft.NETCore.Platforms"], "net48": ["Microsoft.NETCore.Platforms"], "net5.0": ["Microsoft.NETCore.Platforms"], "net6.0": ["Microsoft.NETCore.Platforms"], "net7.0": ["Microsoft.NETCore.Platforms"], "net8.0": ["Microsoft.NETCore.Platforms"], "net9.0": ["Microsoft.NETCore.Platforms"], "netcoreapp1.0": ["Microsoft.NETCore.Platforms"], "netcoreapp1.1": ["Microsoft.NETCore.Platforms"], "netcoreapp2.0": ["Microsoft.NETCore.Platforms"], "netcoreapp2.1": ["Microsoft.NETCore.Platforms"], "netcoreapp2.2": ["Microsoft.NETCore.Platforms"], "netcoreapp3.0": ["Microsoft.NETCore.Platforms"], "netcoreapp3.1": ["Microsoft.NETCore.Platforms"], "netstandard": [], "netstandard1.0": ["Microsoft.NETCore.Platforms"], "netstandard1.1": ["Microsoft.NETCore.Platforms"], "netstandard1.2": ["Microsoft.NETCore.Platforms"], "netstandard1.3": ["Microsoft.NETCore.Platforms"], "netstandard1.4": ["Microsoft.NETCore.Platforms"], "netstandard1.5": ["Microsoft.NETCore.Platforms"], "netstandard1.6": ["Microsoft.NETCore.Platforms"], "netstandard2.0": ["Microsoft.NETCore.Platforms"], "netstandard2.1": ["Microsoft.NETCore.Platforms"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}},
            {"name": "NUnit", "id": "NUnit", "version": "3.13.2", "sha512": "sha512-foKGnF2ckq6uRAybnw1PIMDsDxdp1rbuEBJ4t2LYa5HDL80mOcEUjdbVqRDMTsKNiikfkPEBoeyGV42ZXiLLQA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": ["NETStandard.Library"], "net6.0": ["NETStandard.Library"], "net7.0": ["NETStandard.Library"], "net8.0": ["NETStandard.Library"], "net9.0": ["NETStandard.Library"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["NETStandard.Library"], "netcoreapp2.1": ["NETStandard.Library"], "netcoreapp2.2": ["NETStandard.Library"], "netcoreapp3.0": ["NETStandard.Library"], "netcoreapp3.1": ["NETStandard.Library"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["NETStandard.Library"], "netstandard2.1": ["NETStandard.Library"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}},
            {"name": "NUnitLite", "id": "NUnitLite", "version": "3.13.2", "sha512": "sha512-kPGW4B0ycZAqDPLPKU058JR9onD3svLKAYEghQ1Oyy1YC8bIgtniGUKUbjqeNI3i5KnqFMxEdiHTGF0XxDG9hQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": ["NUnit"], "net40": ["NUnit"], "net403": ["NUnit"], "net45": ["NUnit"], "net451": ["NUnit"], "net452": ["NUnit"], "net46": ["NUnit"], "net461": ["NUnit"], "net462": ["NUnit"], "net47": ["NUnit"], "net471": ["NUnit"], "net472": ["NUnit"], "net48": ["NUnit"], "net5.0": ["NUnit", "NETStandard.Library"], "net6.0": ["NUnit", "NETStandard.Library"], "net7.0": ["NUnit", "NETStandard.Library"], "net8.0": ["NUnit", "NETStandard.Library"], "net9.0": ["NUnit", "NETStandard.Library"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["NUnit", "NETStandard.Library"], "netcoreapp2.1": ["NUnit", "NETStandard.Library"], "netcoreapp2.2": ["NUnit", "NETStandard.Library"], "netcoreapp3.0": ["NUnit", "NETStandard.Library"], "netcoreapp3.1": ["NUnit", "NETStandard.Library"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["NUnit", "NETStandard.Library"], "netstandard2.1": ["NUnit", "NETStandard.Library"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}},
            {"name": "Runfiles", "id": "Runfiles", "version": "0.14.0", "sha512": "sha512-xncDBZgH/5m3QXFXxTOSQiooXZrEhU9hPThejXvnCmFpGrXYKWq5xWzM3Lp8sL33pTWnuWySnrdIyu5W6DZDiQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}},
            {"name": "System.Diagnostics.EventLog", "id": "System.Diagnostics.EventLog", "version": "6.0.0", "sha512": "sha512-QBA9W3yytBx8r8pinBEsVSa7dz0RNnymKRjYhk+6jawrSBUfN2cbz1BJnY+LJoSJ7hyt4vuJR8wG4gWh+sZ4TA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}},
        ],
    )

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Error Handling

Objective: To prevent the leakage of sensitive system information through error messages while
providing sufficient detail for internal debugging.

Status:
No user errors: Changes are limited to dependency selection for tests and do not introduce user-facing
errors; security of error messages cannot be evaluated from this build-only diff.

Referred Code
lib_srcs = [src for src in srcs if not _is_test(src, test_suffixes)]

extra_deps = [
    "@paket.tests_nuget//nunitlite",
]

if browsers and len(browsers):

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Security-First Input Validation and Data Handling

Objective: Ensure all data inputs are validated, sanitized, and handled securely to prevent
vulnerabilities

Status:
Dependency risk: The PR updates build-time dependency grouping and external NuGet references without
introducing input handling logic; security implications depend on how these packages are
used elsewhere and cannot be judged from this diff alone.

Referred Code
group nuget

  framework: net462,net8.0,netstandard2.0
  strategy: min
  source https://api.nuget.org/v3/index.json

  nuget NETStandard.Library 2.0.3
  nuget System.Text.Json 8.0.5

group tests_nuget

  framework: net8.0
  strategy: min
  source https://api.nuget.org/v3/index.json

  nuget BenderProxy 1.0.0
  nuget Moq 4.20.72
  nuget NUnit 3.13.2
  nuget NUnitLite 3.13.2
  nuget Runfiles 0.14.0



 ... (clipped 10 lines)

Learn more about managing compliance generic rules or creating your own custom rules

Compliance status legend 🟢 - Fully Compliant
🟡 - Partial Compliant
🔴 - Not Compliant
⚪ - Requires Further Human Verification
🏷️ - Compliance label

@qodo-merge-pro
Copy link
Contributor

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
Possible issue
Fix inconsistent library versions

Add an explicit dependency on NETStandard.Library 2.0.3 to the tests_nuget group
in dotnet/paket.dependencies to match the version used in the nuget group and
prevent potential version conflicts.

dotnet/paket.dependencies [10-20]

 group tests_nuget
 
   framework: net8.0
   strategy: min
   source https://api.nuget.org/v3/index.json
 
   nuget BenderProxy 1.0.0
   nuget Moq 4.20.72
+  nuget NETStandard.Library 2.0.3
   nuget NUnit 3.13.2
   nuget NUnitLite 3.13.2
   nuget Runfiles 0.14.0
  • Apply / Chat
Suggestion importance[1-10]: 7

__

Why: The suggestion correctly identifies a version mismatch for NETStandard.Library between the nuget and tests_nuget groups, which could lead to issues. Aligning the versions improves dependency consistency and project stability.

Medium
Learned
best practice
Add missing docstring

Add a concise docstring explaining what the function returns and the expected
input format to improve clarity.

dotnet/test/defs.bzl [1-2]

 def tests_nuget_package(nuget_package):
+    "Returns a label to a tests NuGet package; pass the package name (e.g., 'NUnit')."
     return "@paket.tests_nuget//%s" % (nuget_package.lower())
  • Apply / Chat
Suggestion importance[1-10]: 6

__

Why:
Relevant best practice - Enforce accurate and consistent naming and documentation to match behavior and improve maintainability.

Low
  • More

@@ -1,55 +1,39 @@

Copy link
Contributor Author

@RenderMichael RenderMichael Nov 27, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The benefits of this approach are visible in this file (note the new size of the GROUP nuget section), and in dotnet/paket.nuget.bzl

@nvborisenko
Copy link
Member

I am not experienced in bazel, BUT!

If it allows Selenium.WebDriver project to be referenced to System.Text.Json package v8.0.5, and at the same time Selenium.WebDriver.Tests project to refer v10.0, then 2 hands up!

@RenderMichael
Copy link
Contributor Author

@nvborisenko It does let us use different versions of packages in test vs. source!

Who is best to tag for Bazel changes?

@nvborisenko
Copy link
Member

nvborisenko commented Nov 30, 2025

Simon Stewart is the best. @shs96c please review briefly whether it follows bazel philosophy.

@RenderMichael RenderMichael requested a review from shs96c November 30, 2025 21:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

B-build Includes scripting, bazel and CI integrations B-devtools Includes everything BiDi or Chrome DevTools related B-support Issue or PR related to support classes C-dotnet .NET Bindings Review effort 2/5

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants