Adopt central package management and LangVersion - #19
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@## develop #19 +/- ##
========================================
Coverage 44.96% 44.96% ========================================
Files 25 25 Lines 3398 3398 Branches 259 259 ========================================
Hits 1528 1528 Misses 1824 1824 Partials 46 46 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
This PR brings PhotoCleaner’s build configuration in line with the repository’s documented “central build and package configuration” approach by adopting NuGet Central Package Management (CPM) and setting a repository-wide C# language version via Directory.Build.props.
Changes:
- Added
Directory.Packages.propswith centrally declaredPackageVersionitems and removed per-project package versions from all.csprojfiles. - Updated
Directory.Build.propsto setLangVersionand enableManagePackageVersionsCentrally. - Kept existing
PackageReferencemetadata (PrivateAssets/IncludeAssets) unchanged while making references versionless.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| PhotoCleanerTests/PhotoCleanerTests.csproj | Removes inline package versions to rely on CPM while preserving test-only package metadata. |
| PhotoCleanerBenchmarks/PhotoCleanerBenchmarks.csproj | Removes inline package versions to rely on CPM. |
| PhotoCleaner/PhotoCleaner.csproj | Removes inline package versions to rely on CPM for app dependencies. |
| Directory.Packages.props | Introduces the central list of package versions for the solution. |
| Directory.Build.props | Sets repo-wide LangVersion and turns on CPM via ManagePackageVersionsCentrally. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
* Adopt central package management and LangVersion Issue #14 round-2 step 2 residual (the analyzer enforcement itself landed in #17): - Directory.Packages.props: every dependency version declared once as a PackageVersion item (18 packages, no cross-project skew). - Directory.Build.props: add ManagePackageVersionsCentrally and LangVersion. - All csproj PackageReference items are versionless; PrivateAssets and IncludeAssets metadata unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * Move ManagePackageVersionsCentrally into Directory.Packages.props CODESTYLE names Directory.Packages.props as the file that enables central package management; keep the whole CPM configuration in one file. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * Update SQLite bundle comments for central package management The direct reference overrides the vulnerable transitive; the version itself lives in Directory.Packages.props. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Summary
Issue #14 round-2 step 2 residual - the analyzer enforcement (editorconfig severity line, Directory.Build.props analyzer block, xUnit1051/1030 sweep, CS8625) landed in #17; this PR completes the step with the central build and package configuration the refreshed CODESTYLE carries:
ManagePackageVersionsCentrallywith every dependency version declared once as aPackageVersionitem - 18 packages, alphabetized. The migration script asserted no cross-project version skew existed before merging.LangVersion(latest).ManagePackageVersionsCentrallylives in Directory.Packages.props so the whole CPM configuration is in one file.PackageReferenceitems are versionless;PrivateAssets/IncludeAssetsmetadata untouched.This also closes the deferred CPM thread from #18 (CODESTYLE described the target state; the repo now matches it).
Testing
dotnet format style --verify-no-changesand editorconfig-checker clean.🤖 Generated with Claude Code