[dotnet] implement Central Package Management#17563
Conversation
Review Summary by QodoCentralize .NET package versions using Central Package Management
WalkthroughsDescription• Centralize .NET package versions using Central Package Management (CPM) • Create Directory.Packages.props with all package version declarations • Generate nuspec dependencies dynamically from CPM and csproj files • Remove hardcoded package versions from all csproj files Diagramflowchart LR
CPM["Directory.Packages.props<br/>Central Versions"]
CSPROJ["csproj Files<br/>PackageReferences"]
GENERATOR["cpm_nuspec_gen.py<br/>Generator Tool"]
NUSPEC["Selenium.WebDriver.nuspec<br/>Generated Dependencies"]
CPM -- "version lookup" --> GENERATOR
CSPROJ -- "package list" --> GENERATOR
GENERATOR -- "renders" --> NUSPEC
File Changes1. dotnet/private/cpm_nuspec_gen.py
|
Code Review by Qodo
1. Misleading CPM error file
|
|
Thank you, @titusfortner for this code suggestion. The support packages contain example code that many users find helpful, but they do not necessarily represent After reviewing the change, unless it is a critical fix or a feature that is needed for Selenium We actively encourage people to add the wrapper and helper code that makes sense for them to their own frameworks. |
|
Persistent review updated to latest commit 8bdd98f |
While working with Renovate I realized that we have dotnet versions specified in 6 different places, and Renovate can't help with all of them, and versions are different between them, especially transitive versions.
💥 What does this PR do?
🤖 AI assistance
💡 Additional Considerations
I have a few follow-on PRs for dynamically generating paket.dependencies from CPM, but this seems like the easiest first step.
🔄 Types of changes