Skip to content
This repository was archived by the owner on Aug 5, 2019. It is now read-only.
Olivier Spinelli edited this page Nov 12, 2015 · 9 revisions

SimpleGitVersion = CSemVer ♥ Git

CSemVer (http://csemver.org) provides a clear and strong definition for Semantic Versioning (http://semver.org).

SimpleGitVersion applies CSemVer to Git repositories for .Net projects. Both MSBuild/csproj and DNX/project.json are supported with a primary goal: ensuring traceability. Each and every produced assembly is stamped with version information that describes the source code base.

SimpleGitVersion currently implements 3 tools:

  • SimpleGitVersionTask is a MSBuild Task that dynamically generates version attributes during compilation.
  • SimpleGitVersion.DNXCommands offers the same version attributes generation for DNX projects (project.json).
  • SimpleGitVersion.Cake enables Cake build system (http://cakebuild.net/) to use CSemVer.

SimpleGitVersion supports a few configurations (mainly to define which branches will produce CI-Build) thanks to an optional RepositoryInfo.xml file.

The 3 tools are thin adapters around SimpleGitVersion.Core that implement the actual code (and can be used as-is). SimpleGitVersion.Core only depends on https://github.com/libgit2/libgit2sharp to interact with Git repository.

Development only dependencies are https://github.com/brutaldev/StrongNameSigner to automatically strong sign LibGit2Sharp during build and https://www.nuget.org/packages/ilmerge to merge LibGit2Sharp into SimpleGitVersion.Core.

SGV-Net solution uses NUnit, CodeCake (https://github.com/SimpleGitVersion/CodeCake) and SimpleGitVersionTask (its previous version) to manage its own version and build chain.

Clone this wiki locally