From c0e3f9ac19be61daf7d4576dd54ea6ea1852b238 Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Tue, 30 Jul 2024 11:09:38 +0100 Subject: [PATCH] Prepare for a separate major version of CloudNative.CloudEvents.Mqtt This more fine-grained way of referring to the versions will allow us to still only change Directory.Build.props just before a release, but have separate major versions flow from that. Signed-off-by: Jon Skeet --- RELEASING.md | 19 ++++++++++++++++--- src/Directory.Build.props | 19 +++++++++++++++---- 2 files changed, 31 insertions(+), 7 deletions(-) diff --git a/RELEASING.md b/RELEASING.md index 4ef2774..2b16d7c 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -41,15 +41,28 @@ acts as encouragement to use the latest version of the core package. Within this repository, this is achieved by the following mechanisms: -- Individual csproj files do not specify a version +- Most individual csproj files do not specify a version - The [Directory.Build.props](src/Directory.Build.props) file has a `` element - specifying the version of all packages + specifying the version of all packages which don't need a separate + major version -A single GitHub release (and tag) will be created for each beta release, to cover all packages. +A single GitHub release (and tag) will be created for each release, +to cover all packages. - Example tag name: "CloudNative.CloudEvents.All-2.0.0" - Example release title: "All packages version 2.0.0" +### Exception: packages with different major versions + +For some "satellite" packages, we need a different major version +number, typically to adopt a new major version of a dependency. In +this case, the satellite package will have its own major version, +but keep the minor and patch version of everything else. + +For example, in order to take a new major version of the `MQTTnet` +dependency, `CloudNative.CloudEvents.Mqtt` 3.8.0 was released with +version 2.8.0 of all other packages. + ## New / unstable package versioning New packages are introduced with alpha and beta versions as would diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 64c7440..a57ec15 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -1,11 +1,22 @@ - 2.7.1 - 2.7.0 + 2 + 7 + 1 + 7 + $(MajorVersion).$(MinorVersion).$(PatchVersion) + + 2.$(PackageValidationMinor).0 $([System.IO.Path]::GetDirectoryName($([MSBuild]::GetPathOfFileAbove('.gitignore', '$(MSBuildThisFileDirectory)'))))