chore: Switch to GitVersion

https://github.com/GitTools/GitVersion
pull/47/head
Robert Dailey 2 years ago
parent bf473d3eae
commit a377ec5e75

@ -0,0 +1,5 @@
mode: ContinuousDelivery
tag-prefix: 'v'
major-version-bump-message: "^(build|chore|ci|docs|feat|fix|perf|refactor|revert|style|test)(\\([\\w\\s-]*\\))?(!:|:.*\\n\\n((.+\\n)+\\n)?BREAKING CHANGE:\\s.+)"
minor-version-bump-message: "^(feat)(\\([\\w\\s-]*\\))?:"
patch-version-bump-message: "^(build|chore|ci|docs|fix|perf|refactor|revert|style|test)(\\([\\w\\s-]*\\))?:"

@ -1,12 +1,11 @@
[CmdletBinding()]
param (
[Parameter(Mandatory=$true)]
[string]
$version
)
param ()
$ErrorActionPreference = "Stop"
# Requires: dotnet tool install --global GitVersion.Tool
$version = dotnet-gitversion /showvariable SemVer
# Requires: Install-Module -Name ChangelogManagement
Update-Changelog -ReleaseVersion $version -LinkMode Automatic -LinkPattern @{
FirstRelease = "https://github.com/rcdailey/trash-updater/releases/tag/v{CUR}"
@ -19,8 +18,5 @@ Update-Changelog -ReleaseVersion $version -LinkMode Automatic -LinkPattern @{
$content = Get-Content -Path .\CHANGELOG.md
Set-Content -Path .\CHANGELOG.md -Value $content
# Requires: dotnet tool install -g nbgv
nbgv set-version $version
git commit -m "release: v$version" -- CHANGELOG.md version.json
git commit -m "release: v$version" -- CHANGELOG.md
git tag -m "release v$version" "v$version"

@ -32,7 +32,7 @@
<ItemGroup>
<PackageReference Include="JetBrains.Annotations" PrivateAssets="All" />
<PackageReference Include="Nerdbank.GitVersioning" PrivateAssets="All" Condition=" '$(DisableNbgv)' != 'true' " />
<PackageReference Include="GitVersion.MsBuild" PrivateAssets="All" />
</ItemGroup>
<PropertyGroup Condition="$(ProjectName.EndsWith('.Tests'))">

@ -16,12 +16,12 @@
<PackageReference Update="Flurl" Version="3.*" />
<PackageReference Update="Flurl.Http" Version="3.*" />
<PackageReference Update="GitHubActionsTestLogger" Version="1.*" />
<PackageReference Update="GitVersion.MsBuild" Version="5.*" />
<PackageReference Update="JetBrains.Annotations" Version="*" />
<PackageReference Update="LibGit2Sharp" Version="0.27.*-*" />
<PackageReference Update="Microsoft.CodeAnalysis.NetAnalyzers" Version="6.*" />
<PackageReference Update="Microsoft.NET.Test.Sdk" Version="17.*" />
<PackageReference Update="morelinq" Version="3.*" />
<PackageReference Update="Nerdbank.GitVersioning" Version="3.*" />
<PackageReference Update="Newtonsoft.Json" Version="13.*" />
<PackageReference Update="Newtonsoft.Json.Schema" Version="3.*" />
<PackageReference Update="NSubstitute" Version="4.*" />

@ -1,3 +1,5 @@
using System.Diagnostics;
using System.Text;
using System.Threading.Tasks;
using Autofac;
using CliFx;
@ -9,15 +11,28 @@ internal static class Program
{
private static IContainer? _container;
private static string ExecutableName => Process.GetCurrentProcess().ProcessName;
public static async Task<int> Main()
{
_container = CompositionRoot.Setup();
return await new CliApplicationBuilder()
.AddCommandsFromThisAssembly()
.SetExecutableName(ThisAssembly.AssemblyName)
.SetVersion($"v{ThisAssembly.AssemblyInformationalVersion}")
.SetExecutableName(ExecutableName)
.SetVersion(BuildVersion())
.UseTypeActivator(type => CliTypeActivator.ResolveType(_container, type))
.Build()
.RunAsync();
}
private static string BuildVersion()
{
var builder = new StringBuilder($"v{GitVersionInformation.MajorMinorPatch}");
if (!string.IsNullOrEmpty(GitVersionInformation.BuildMetaData))
{
builder.Append(" (Build {GitVersionInformation.BuildMetaData})");
}
return builder.ToString();
}
}

@ -1,17 +0,0 @@
{
"$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json",
"version": "1.6.6",
"publicReleaseRefSpec": [
"^refs/heads/release/\\d+\\.\\d+",
"^refs/tags/v\\d+\\.\\d+"
],
"cloudBuild": {
"buildNumber": {
"enabled": true
}
},
"release": {
"branchName": "release/{version}",
"versionIncrement": "build"
}
}
Loading…
Cancel
Save