Automatic true Semmantic Versioning for both Visual Studio and donet CLI builds of .NET solutions and projects. Provides versioning out of box and is fully customisable by by built-in C# scripting with a versioning API.
Just works on every Visual Studio or dotnet CLI build on every box.
An example git workflow from a release 1.2.3
to the next release 2.0.0
:
gitGraph
commit id:"1.2.3+99"
commit id:"1.2.3+100" tag:"1.2.3"
branch feature/berry order: 1
checkout feature/berry
commit id:"1.2.4-beta.101"
checkout main
commit id:"1.2.4+102"
branch feature/peach order: 3
checkout feature/berry
branch develop/berry order: 2
checkout develop/berry
commit id:"feat:berry 1.3.0-alpha.103"
checkout feature/berry
merge develop/berry id:"1.3.0-beta.104"
checkout main
merge feature/berry id:"1.3.0+105"
checkout feature/peach
commit id:"fix:bug1 1.2.4-beta.106"
commit id:"feat!:peach 2.0.0-beta.107"
checkout main
merge feature/peach id:"2.0.0+108" tag:"v2.0.0"
commit id:"2.0.1-beta.108"
Git2SemVer
uses the MIT license.
This project uses the following tools and libraries. Many thanks to those who created and manage them.
- Spectre.Console
- Injectio
- JetBrains Annotations
- Semver - files copied to create subset
- NuGet.Versioning
- NUnit
- Moq
- docfx
- Brain icons created by Freepik - Flaticon