Skip to content

Split Ploch.Packages.props into per-repo version variables #5

@kploch

Description

@kploch

Problem

Ploch.Packages.props uses a single PlochPackagesVersion=3.0.0 variable for ALL 22 Ploch packages (both Ploch.Common.* and Ploch.Data.*). This causes problems because:

  1. ploch-common and ploch-data release independently — they have different latest versions on the feeds. Forcing a single version guarantees breakage whenever one releases ahead of the other.
  2. Version 3.0.0 doesn't exist on any feed for most packages — only in local NuGet caches. Latest published stable: Ploch.Common 2.0.1 (GitHub Packages), Ploch.Data 2.1.0 (NuGet.org + GitHub). Prerelease 3.1.x-prerelease versions exist on GitHub Packages.
  3. This causes NU1603 warnings ("dependency version not found, nearest resolved instead"), which become build errors in test projects due to TreatWarningsAsErrors=true.

Proposed Change

Replace the single version variable with two independent variables:

<PropertyGroup>
    <!-- Latest prerelease versions published to GitHub Packages.
         Update after each release or when consuming a newer prerelease.
         Post-release checklist:
         1. After releasing ploch-common: update PlochCommonPackagesVersion
         2. After releasing ploch-data:   update PlochDataPackagesVersion
         3. Run dotnet restore in consuming repos to verify resolution -->
    <PlochCommonPackagesVersion>3.1.1-prerelease</PlochCommonPackagesVersion>
    <PlochDataPackagesVersion>3.1.3-prerelease</PlochDataPackagesVersion>
</PropertyGroup>

Then assign each PackageVersion entry to the correct variable:

  • Ploch.Common, Ploch.Common.*, Ploch.TestingSupport.*$(PlochCommonPackagesVersion)
  • Ploch.Data.*$(PlochDataPackagesVersion)

File

dependencies/Ploch.Packages.props

Verification

After the change, run dotnet restore in ploch-data, ploch-lists, ploch-groupmatters, and any other consuming repo. All should resolve from GitHub Packages without NU1603.

Related

See mrploch/ploch-data for companion CI and sample app issues.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions