From 6db74a8caa9f20d3fb2ddb7833a639821c95e6fd Mon Sep 17 00:00:00 2001 From: Kevin Thompson Date: Wed, 17 Nov 2021 23:05:43 -0800 Subject: [PATCH] Workaround for GitVersion See: https://github.com/GitTools/GitVersion/issues/1097 --- GitVersion.yml | 6 ++++++ build/Build.cs | 22 ++++++++++++++-------- 2 files changed, 20 insertions(+), 8 deletions(-) create mode 100644 GitVersion.yml diff --git a/GitVersion.yml b/GitVersion.yml new file mode 100644 index 0000000..69d60cd --- /dev/null +++ b/GitVersion.yml @@ -0,0 +1,6 @@ +assembly-versioning-scheme: MajorMinorPatch +mode: ContinuousDelivery +branches: {} +ignore: + sha: [] +merge-message-formats: {} diff --git a/build/Build.cs b/build/Build.cs index 4576f30..e4e64df 100644 --- a/build/Build.cs +++ b/build/Build.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; +using JetBrains.Annotations; using Nuke.Common; using Nuke.Common.CI; using Nuke.Common.CI.AzurePipelines; @@ -53,7 +54,7 @@ class Build : NukeBuild [Solution] readonly Solution Solution; [GitRepository] readonly GitRepository GitRepository; - [GitVersion] readonly GitVersion GitVersion; + [GitVersion(DisableOnUnix = true)] [CanBeNull] readonly GitVersion GitVersion; AbsolutePath SourceDirectory => RootDirectory / "src"; AbsolutePath TestsDirectory => RootDirectory / "test"; @@ -86,12 +87,17 @@ class Build : NukeBuild .DependsOn(Restore) .Executes(() => { - DotNetBuild(s => s - .SetProjectFile(Solution) - .SetConfiguration(Configuration) - .SetAssemblyVersion(GitVersion.AssemblySemVer) - .SetFileVersion(GitVersion.AssemblySemFileVer) - .SetInformationalVersion(GitVersion.InformationalVersion) + + DotNetBuildSettings WithGitVersion(DotNetBuildSettings settings) => GitVersion == null + ? settings + : settings + .SetAssemblyVersion(GitVersion.AssemblySemVer) + .SetFileVersion(GitVersion.AssemblySemFileVer) + .SetInformationalVersion(GitVersion.InformationalVersion); + + DotNetBuild(s => WithGitVersion(s + .SetProjectFile(Solution) + .SetConfiguration(Configuration)) .EnableNoRestore()); }); @@ -166,7 +172,7 @@ class Build : NukeBuild .SetNoBuild(InvokedTargets.Contains(Compile)) .SetConfiguration(Configuration) .SetOutputDirectory(PackageDirectory) - .SetVersion(GitVersion.NuGetVersionV2) + .SetVersion(GitVersion!.NuGetVersionV2) .SetPackageReleaseNotes(GetNuGetReleaseNotes(ChangelogFile, GitRepository))); });