I finally published a simple sbt plugin: sbt-git-stamp, which I had written long ago, and every now and then, someone would find the code and ask about it.
This is a little project I created in 20% time at work, and it enables you to include some basic information about the state of the Git repository when the artifact was built, so you never have to wonder where an artifact came from. The information recorded is:
- Head revision
- Branch name
- Whether or not there were uncommitted changes
- Build date
This info is recorded in the MANIFEST.MF file, like so (the highlighted entries are from the plugin):
Manifest-Version: 1.0 Implementation-Vendor: My-Company Implementation-Title: My Project Implementation-Version: 0.1 Implementation-Vendor-Id: My-Company Specification-Vendor: My-Company Git-Repo-Is-Clean: false Git-Branch: gitstamp Specification-Title: My Company Git-Build-Date: 2013-04-26T17:22:58.538-07:00 Specification-Version: 0.1 Git-Head-Rev: b0d5a67d59dc7c0133aecce2e2ceb18fc8d23597
Installation instructions and more are on Bitbucket.