Skip to content

Implement Central Package Management (CPM)#3520

Merged
andrzejskowronski merged 5 commits into
developfrom
fix/3508-cpm
Jun 12, 2026
Merged

Implement Central Package Management (CPM)#3520
andrzejskowronski merged 5 commits into
developfrom
fix/3508-cpm

Conversation

@ewoutkramer

Copy link
Copy Markdown
Member

Description

Introduces Central Package Management: all NuGet package versions are now declared once in a root Directory.Packages.props, and the individual projects reference packages without version attributes.

This builds on #3508 by @granadacoder (his commits are included here) and addresses the review findings on that PR:

  • Added a root nuget.config with package source mapping. Without it, CPM raises NU1507 on any machine with more than one NuGet feed configured, which becomes a hard restore error in the projects that treat warnings as errors. CI agents typically have a single feed, so CI alone would not have caught this. Note: the mapping pins this repo to nuget.org — if useGitHubPackageFeed is ever flipped to yes in the pipeline, a mapping for the FirelyTeam feed must be added.
  • Fixed an accidental Verify.MSTest downgrade (the central file pinned 31.18.0 while develop is on 31.19.1).
  • Removed the central BenchmarkDotNet.Diagnostics.Windows entry — its only consumer (CrossVersionBenchmarks) opts out of CPM, since it references multiple versions of the same package for cross-version benchmarking.
  • Removed the now-redundant MSTest.TestFramework Update item in Hl7.Fhir.Support.Tests.
  • Reverted BOM/whitespace-only churn so the diff contains only meaningful changes.

Supersedes #3508.

Related issues

None.

Testing

  • dotnet restore on a machine with multiple NuGet feeds configured (the scenario that previously failed): succeeds with zero warnings.
  • dotnet restore --source https://api.nuget.org/v3/index.json (the pipeline''s restore command): succeeds.
  • Full solution build: succeeds (the single remaining warning is pre-existing CS0618 in CrossVersionBenchmarks).
  • Hl7.Fhir.Support.Tests: 501/501 passed, confirming centrally-managed test packages resolve correctly.

This is a build improvement, not a functionality change.

FirelyTeam Checklist

  • Update the title of the PR to be succinct and less than 50 characters
  • Mark the PR with the label breaking change when this PR introduces breaking changes

🤖 Generated with Claude Code

granadacoder and others added 5 commits May 26, 2026 20:12
Fixes on top of #3508 (Central Package Management):

- Restore Verify.MSTest to 31.19.1; the central file inadvertently
  downgraded it from the version on develop.
- Add a root nuget.config with package source mapping. Without it,
  CPM raises NU1507 on any machine with more than one NuGet feed
  configured, which becomes a restore error in projects that treat
  warnings as errors.
- Remove the central BenchmarkDotNet.Diagnostics.Windows entry; its
  only consumer (CrossVersionBenchmarks) opts out of CPM.
- Remove the now-redundant MSTest.TestFramework Update item in
  Hl7.Fhir.Support.Tests.
- Revert BOM/whitespace-only churn so the diff only contains
  meaningful changes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@andrzejskowronski andrzejskowronski merged commit 9009ed9 into develop Jun 12, 2026
18 checks passed
@andrzejskowronski andrzejskowronski deleted the fix/3508-cpm branch June 12, 2026 09:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants