Skip to content

build(deps): manage package versions centrally and finish the 10.0.10 bump - #32

Merged
nxships merged 1 commit into
mainfrom
chore/central-package-management
Aug 3, 2026
Merged

build(deps): manage package versions centrally and finish the 10.0.10 bump#32
nxships merged 1 commit into
mainfrom
chore/central-package-management

Conversation

@nxships

@nxships nxships commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Same change as NexusKit#33, for the same reason. Dependabot scopes NuGet
updates per project directory, so a grouped bump can land in some csprojs
and miss others. That is what happened to the microsoft-platform group
(#31): four projects moved to 10.0.10 while NexusKit.Modules.ExternalData
stayed on 10.0.9, which fails the build with NU1605 once anything pulls
the newer version transitively.

Central package management removes the failure mode rather than patching
this instance of it: every version now lives in Directory.Packages.props
and the csprojs carry bare PackageReference items, so a group bump is
atomic by construction.

Two knock-on fixes:

  • Dalamud.NET.Sdk hardcodes versions on the PackageReferences it injects,
    which CPM rejects with NU1008. Directory.Build.targets strips that
    metadata - it has to be .targets, since Sdk.props is evaluated before
    Directory.Build.props. That file also chains to a Directory.Build.targets
    above the clone if one exists, so the local multi-repo workspace's
    PackageReference to ProjectReference swap keeps applying.

  • CPM with two unmapped package sources raises NU1507, and restore
    warnings are errors here. nuget.config now maps sources explicitly:
    NexusKit.* from GitHub Packages, everything else from nuget.org.

The NexusKit.* references keep their open-ended [0.4.0,) ranges.

Supersedes #31; Microsoft.* land on 10.0.10 across all six projects.

… bump

Same change as NexusKit#33, for the same reason. Dependabot scopes NuGet
updates per project directory, so a grouped bump can land in some csprojs
and miss others. That is what happened to the microsoft-platform group
(#31): four projects moved to 10.0.10 while NexusKit.Modules.ExternalData
stayed on 10.0.9, which fails the build with NU1605 once anything pulls
the newer version transitively.

Central package management removes the failure mode rather than patching
this instance of it: every version now lives in Directory.Packages.props
and the csprojs carry bare PackageReference items, so a group bump is
atomic by construction.

Two knock-on fixes:

- Dalamud.NET.Sdk hardcodes versions on the PackageReferences it injects,
  which CPM rejects with NU1008. Directory.Build.targets strips that
  metadata - it has to be .targets, since Sdk.props is evaluated before
  Directory.Build.props. That file also chains to a Directory.Build.targets
  above the clone if one exists, so the local multi-repo workspace's
  PackageReference to ProjectReference swap keeps applying.

- CPM with two unmapped package sources raises NU1507, and restore
  warnings are errors here. nuget.config now maps sources explicitly:
  NexusKit.* from GitHub Packages, everything else from nuget.org.

The NexusKit.* references keep their open-ended [0.4.0,) ranges.

Supersedes #31; Microsoft.* land on 10.0.10 across all six projects.
@nxships
nxships merged commit 2554691 into main Aug 3, 2026
3 checks passed
@nxships
nxships deleted the chore/central-package-management branch August 3, 2026 15:29
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.

1 participant