Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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().

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 main

import (
"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 main

import (
"fmt"

"github.com/carlmjohnson/versioninfo"
)

func main() {
fmt.Println("ShortInfo:", versioninfo.Short())
}
```

Add the `-v` and `-version` flags:

```go
package main

import (
"flag"
"fmt"

"github.com/carlmjohnson/versioninfo"
)

func main() {
versioninfo.AddFlag(nil)
flag.Parse()
fmt.Println("done")
}
```