Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/earthboundkid/versioninfo
Importable package that parses version info from debug.ReadBuildInfo().
https://github.com/earthboundkid/versioninfo
git go golang version-control-system versioning versions
Last synced: 2 months ago
JSON representation
Importable package that parses version info from debug.ReadBuildInfo().
- Host: GitHub
- URL: https://github.com/earthboundkid/versioninfo
- Owner: earthboundkid
- License: mit
- Created: 2021-11-08T18:14:39.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-08-03T11:53:44.000Z (about 1 year ago)
- Last Synced: 2024-06-21T18:11:33.024Z (3 months ago)
- Topics: git, go, golang, version-control-system, versioning, versions
- Language: Go
- Homepage: https://blog.carlmjohnson.net/post/2023/golang-git-hash-how-to/
- Size: 14.6 KB
- Stars: 241
- Watchers: 5
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# versioninfo [![GoDoc](https://godoc.org/github.com/carlmjohnson/versioninfo?status.svg)](https://godoc.org/github.com/carlmjohnson/versioninfo) [![Go Report Card](https://goreportcard.com/badge/github.com/carlmjohnson/versioninfo)](https://goreportcard.com/report/github.com/carlmjohnson/versioninfo)
Importable package that parses `debug.ReadBuildInfo()` for inclusion in your Go application.
Requires Go 1.18+ for Git revision information, but compatible with prior versions of Go.
## Examples
```go
package mainimport (
"fmt""github.com/carlmjohnson/versioninfo"
)func main() {
fmt.Println("Version:", versioninfo.Version)
fmt.Println("Revision:", versioninfo.Revision)
fmt.Println("DirtyBuild:", versioninfo.DirtyBuild)
fmt.Println("LastCommit:", versioninfo.LastCommit)
}
```You may use the concatenated information provided by `versioninfo.Short()`:
```go
package mainimport (
"fmt""github.com/carlmjohnson/versioninfo"
)func main() {
fmt.Println("ShortInfo:", versioninfo.Short())
}
```Add the `-v` and `-version` flags:
```go
package mainimport (
"flag"
"fmt""github.com/carlmjohnson/versioninfo"
)func main() {
versioninfo.AddFlag(nil)
flag.Parse()
fmt.Println("done")
}
```