version.go (21 lines of code) (raw):
package sarama
import (
"runtime/debug"
"sync"
)
var (
v string
vOnce sync.Once
)
func version() string {
vOnce.Do(func() {
bi, ok := debug.ReadBuildInfo()
if ok {
v = bi.Main.Version
}
if v == "" || v == "(devel)" {
// if we can't read a go module version then they're using a git
// clone or vendored module so all we can do is report "dev" for
// the version to make a valid ApiVersions request
v = "dev"
}
})
return v
}