Skip to content

Conversation

@nvborisenko
Copy link
Member

@nvborisenko nvborisenko commented Nov 26, 2025

User description

Continuation of #16639

🔗 Related Issues

#16639

💥 What does this PR do?

I executed sh update-dependecies.sh script.

🔄 Types of changes

  • Bug fix (backwards compatible)

PR Type

Enhancement


Description

  • Add tools field to all NuGet package definitions

  • Update paket.nuget_extension.bzl to use module extension metadata

  • Improve Bazel integration for .NET dependency management


Diagram Walkthrough

flowchart LR
  A["paket.nuget.bzl"] -->|Add tools field| B["NuGet packages"]
  C["paket.nuget_extension.bzl"] -->|Update implementation| D["Module extension metadata"]
Loading

File Walkthrough

Relevant files
Configuration changes
paket.nuget.bzl
Add tools field to NuGet package definitions                         

dotnet/paket.nuget.bzl

  • Added "tools": {} field to all 25 NuGet package definitions
  • Maintains existing package metadata structure with new tools field
  • Updates package entries for BenderProxy, Castle.Core,
    CommandLineParser, Handlebars.Net, Humanizer.Core,
    Microsoft.Bcl.AsyncInterfaces, Microsoft.CSharp,
    Microsoft.Extensions.DependencyInjection,
    Microsoft.Extensions.DependencyInjection.Abstractions,
    Microsoft.NETCore.Platforms, Moq, NETStandard.Library, NUnit,
    NUnitLite, Runfiles, System.Buffers, System.Diagnostics.EventLog,
    System.Memory, System.Numerics.Vectors, System.Reflection.Emit,
    System.Reflection.Emit.ILGeneration, System.Reflection.TypeExtensions,
    System.Runtime.CompilerServices.Unsafe,
    System.Security.Principal.Windows, System.Text.Encodings.Web,
    System.Text.Json, System.Threading.Tasks.Extensions, and
    System.ValueTuple
+28/-28 
Enhancement
paket.nuget_extension.bzl
Update module extension implementation                                     

dotnet/paket.nuget_extension.bzl

  • Renamed parameter from _ctx to module_ctx for clarity
  • Added return module_ctx.extension_metadata(reproducible = True)
    statement
  • Improves Bazel module extension reproducibility tracking
+2/-1     

@selenium-ci selenium-ci added C-dotnet .NET Bindings B-build Includes scripting, bazel and CI integrations labels Nov 26, 2025
@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
🎫 No ticket provided
  • Create ticket/issue
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 Error Handling

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

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: Security-First Input Validation and Data Handling

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

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 auditing: The changes add Bazel module extension metadata and NuGet package fields without
introducing or modifying any runtime actions that would warrant audit logging, so
auditability cannot be assessed from this infra-only diff.

Referred Code
def _nuget_impl(module_ctx):
    _nuget()
    return module_ctx.extension_metadata(reproducible = True)

nuget_extension = module_extension(
    implementation = _nuget_impl,
)

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 implementation invokes _nuget() and returns extension metadata without explicit error
handling, which may be acceptable for Bazel Starlark setup code but cannot be confirmed
from this diff alone.

Referred Code
def _nuget_impl(module_ctx):
    _nuget()
    return module_ctx.extension_metadata(reproducible = True)

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
Learned
best practice
Clarify function docstring

Update the function docstring to describe what the repository rule sets up and
why the new tools field is present for each package to keep documentation
accurate and helpful.

dotnet/paket.nuget.bzl [5-6]

 def nuget():
-    "nuget"
+    "Define the paket.nuget repository with pinned packages (including empty `tools` entries) for reproducible restores."
     nuget_repo(
         name = "paket.nuget",
         packages = [
         ...
         ],
     )

[To ensure code accuracy, apply this suggestion manually]

Suggestion importance[1-10]: 6

__

Why:
Relevant best practice - Enforce accurate and consistent naming/documentation to reflect behavior and API surface.

Low
  • More

@nvborisenko nvborisenko merged commit ae2b6de into SeleniumHQ:trunk Nov 26, 2025
14 checks passed
@nvborisenko nvborisenko deleted the dotnet-update-deps branch November 26, 2025 20:24
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 C-dotnet .NET Bindings Review effort 2/5

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants