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.
This commit is contained in:
Jon Skeet 2024-07-30 11:09:38 +01:00
parent 77d5a37c33
commit b04e9296d9
2 changed files with 23 additions and 5 deletions

View File

@ -43,13 +43,20 @@ Within this repository, this is achieved by the following mechanisms:
- Individual csproj files do not specify a version
- The [Directory.Build.props](src/Directory.Build.props) file has a `<Version>` element
specifying the version of all packages
specifying the version of all packages which don't need a separate major
A single GitHub release (and tag) will be created for each beta release, to cover all packages.
- Example tag name: "CloudNative.CloudEvents.All-2.0.0"
- Example release title: "All packages version 2.0.0"
### Exception: new major versions
Sometimes, we need a new major version of a "satellite" package, 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.
## New / unstable package versioning
New packages are introduced with alpha and beta versions as would

View File

@ -1,11 +1,22 @@
<Project>
<PropertyGroup>
<!--
- We use the same version number for all stable
- packages. See RELEASING.md for details.
- We use the same minor/patch version number for all stable
- packages, and the same major for most packages.
- See RELEASING.md for details.
-->
<Version>2.7.1</Version>
<PackageValidationBaselineVersion>2.7.0</PackageValidationBaselineVersion>
<MajorVersion>2</MajorVersion>
<MinorVersion>7</MinorVersion>
<PatchVersion>1</PatchVersion>
<PackageValidationMinor>7</PackageValidationMinor>
<Version>$(MajorVersion).$(MinorVersion).$(PatchVersion)</Version>
<!--
- The version used for detecting breaking changes.
- This is always older than the current version (except when creating a new major)
- and is the patch-0 of either the current minor (if the current patch is non-zero)
- or the previous minor (if the current patch is zero).
-->
<PackageValidationBaselineVersion>2.$(PackageValidationMinor).0</PackageValidationBaselineVersion>
<!-- Make the repository root available for other properties -->
<RepoRoot>$([System.IO.Path]::GetDirectoryName($([MSBuild]::GetPathOfFileAbove('.gitignore', '$(MSBuildThisFileDirectory)'))))</RepoRoot>