Our great sponsors
-
Versioning.NET
A dotnet tool that automatically increments versions in csproj files based on git commit hints.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
Nerdbank.GitVersioning
Stamp your assemblies, packages and more with a unique version generated from a single, simple version.json file and include git commit IDs for non-official builds.
-
Verlite
Automatically version projects via semantic git tags with a focus on being lite, optimized for continuous delivery.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
Thanks to https://github.com/natemcmaster/CommandLineUtils for supplying a lot of the command structures. If you're interested in creating your own dotnet tool, this is highly recommended.
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)
If anyone is interested, I recently released mine, with an approach closer to MinVer + tags as a source of truth: https://github.com/AshleighAdams/Verlite