-
-
Notifications
You must be signed in to change notification settings - Fork 8.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[dotnet] Finalize nullability in internal devtools generator #15088
Conversation
PR Reviewer Guide 🔍(Review updated until commit 999eb78)Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Latest suggestions up to 999eb78
Previous suggestionsSuggestions up to commit c1c4441
|
Bazel supports generators, so most likely we can leave this project as single assembly, which will be consumed by I propose to build POC before moving files. |
It would be very convenient to use the generator only. I will work down that path instead (I'm 95% done with a POC on my branch). |
From my point of view it would be very convenient if input source for CDP generation would be stored in git repo. Like CDP specification (json files). But these files are generated on fly as part of entire build process, which means that in any case The same situation for Finally: right now, when |
third_party/dotnet/devtools/src/generator/ProtocolDefinition/ProtocolVersionDefinition.cs
Show resolved
Hide resolved
Persistent review updated to latest commit 999eb78 |
User description
Thanks for contributing to Selenium!
A PR well described will help maintainers to quickly review and merge it
Before submitting your PR, please check our contributing guidelines.
Avoid large PRs, help reviewers by making them as simple and short as possible.
Description
Renames devtools generator project to align with its project name.
Motivation and Context
This front-loads some diffs for work currently being done making a source-generated version of the devtools generator, which will significantly improve the development experience when developing the .NET bindings of Selenium.
Future steps include extracting shareable code into a
DevToolsGenerator.Core
library, and making anotherDevToolsGenerator.SourceGenerator
library which leverages the shared code and gets hooked intoWebDriver.csproj
to allow seamless devtools source generation.Also contributes to #14640
Types of changes
Checklist
PR Type
Enhancement, Bug fix
Description
Modernized and enhanced the DevTools generator codebase.
Enabled nullability annotations for improved type safety.
Refactored classes to use constructor-based initialization.
Improved error handling and added null checks.
Changes walkthrough 📝
18 files
Enabled nullable reference types for runtime version.
Added nullability annotations and default values.
Updated generic type constraint to enforce class.
Refactored to use constructor-based initialization.
Refactored to use constructor-based initialization.
Refactored to use constructor-based initialization.
Updated generic type constraint to enforce class.
Improved null checks and refactored type handling.
Refactored to use constructor-based initialization.
Added null checks and improved regex handling.
Added default values and nullability annotations.
Enabled nullable reference types for redirect property.
Enabled nullable reference types for name property.
Enabled nullable reference types for key properties.
Enabled nullable reference types for description and name.
Simplified properties and enabled nullability.
Refactored to use constructor-based initialization.
Enabled nullable reference types for version properties.
2 files
Enhanced error handling for template path resolution.
Improved null checks and error handling.
2 files
Enabled nullability in Bazel build configuration.
Enabled nullability in project file configuration.