Nerdbank.GitVersioning
minver
Our great sponsors
Nerdbank.GitVersioning | minver | |
---|---|---|
7 | 4 | |
1,296 | 803 | |
2.4% | - | |
8.3 | 8.3 | |
19 days ago | 6 days ago | |
C# | C# | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Nerdbank.GitVersioning
-
How to set up automatic versioning
i have been using Nerdbank GitVersioing https://github.com/dotnet/Nerdbank.GitVersioning
-
Question on detection multiple path changes
The https://github.com/Azure/ResourceModules repo (which I recommend strongly, if you are just starting with template specs/bicep modules) seems to be at least referencing https://github.com/dotnet/Nerdbank.GitVersioning though when I peeked at their pipelines I'm not sure if they are actually utilizing it for version numbers. For me it was a bit too complex approach, but might suit you.
-
CI/CD for .net 6, using GitHub actions
So, is there a complexity with delivering a NuGet package? Yes. NuGet package versioning can be a big undertaking when it comes to manual deployments, much less CD; as there is a requirement of NuGet packages being immutable. Does this mean that for every check in, on every potential branch that will be pushed to NuGet, you need to update some text file or code to indicate the next built version? That was my initial thinking, but thankfully that is not the case with the help of Nerdbank.GitVersioning.
-
Automatic .NET Versioning Tool
I would suggest you compare with the readme on https://github.com/dotnet/Nerdbank.GitVersioning (FD: this is what I use for versioning my projects, so I'm already very familiar with it), which has most of the details up front (i.e. I don't have to go browsing through multiple wiki pages). It clearly calls out: - What does the package accomplish? (it adds semver information based on git history) - What is it compatible with? ("[dotnet] assemblies, VSIX, NuGet, NPM, and more") - What sets it apart? (#1: every commit generates a unique version, and builds reproducibility is prioritized. #2-4: everything is automatic.) - Further down it talks about how it calculates versions, and how to calculate between versions and git commits (i.e. how does the automatic part work)
-
What is the “standard” method of versioning your applications?
GitVersioning. Auto-increments based on commit. Integrates into your build and automatically adds AssemblyInfo. https://github.com/dotnet/Nerdbank.GitVersioning
- Best practices for versioning in Release Pipelines
-
Run EF Core Queries on SQL Server From Blazor WebAssembly
How to adopt a versioning strategy using tools like Nerdbank GitVersion
minver
-
AzureDevOps versioning not in source code recommendations
Semantic Versioning is the most commonly adopted system, so we could also use this versioning for java. In addition, using Git tools and Minver also help achieve semantic versioning.
-
Wrote a CLI application to increase .NET's projects version by Semver
Having said that, there are some useful programs that help with .net versioning already. Have used GitVersion before. Currently MinVer https://github.com/adamralph/minver looks good enough for me. Version releases by hand with Git tags, which I ended up doing for releases anyway, as I wanted truly Semantic Versioning 2.0.0.
-
Streamlining package versioning with MinVer
I've come across MinVer, which looks like an interesting library to help with this task, so we're gonna use it in this post.
-
Best practices for versioning in Release Pipelines
In addition, Gitversion and Minver also help achieve semantic versioning.
What are some alternatives?
Versioning.NET - A dotnet tool that automatically increments versions in csproj files based on git commit hints.
semver - Semantic Versioning Specification
AspNetCore.Docs - Documentation for ASP.NET Core
GitVersion - From git log to SemVer in no time
Verlite - Automatically version projects via semantic git tags with a focus on being lite, optimized for continuous delivery.
actions - GitHub Action that installs and uses the GitVersion and GitReleaseManager tools
dotnet-setversion - .NET Core CLI tool to update the version information in .NET Core *.csproj files
dotversion - Dotversion is an application to increase version of .NET applications according to SemVer (https://semver.org)
ExpressionPowerTools - Power tools for working with IQueryable and Expression trees.
maven-git-versioning-extension - This extension will set project version, based on current Git branch or tag.
CommandLineUtils - Command line parsing and utilities for .NET
Orleans.SyncWork - This package's intention is to expose an abstract base class to allow https://github.com/dotnet/orleans/ to work with long running CPU bound synchronous work, without becoming overloaded.