version.go raw
1 package linodego
2
3 import (
4 "fmt"
5 "runtime/debug"
6 )
7
8 const packagePath = "github.com/linode/linodego"
9
10 var (
11 Version = "dev"
12
13 // DefaultUserAgent is the default User-Agent sent in HTTP request headers
14 DefaultUserAgent string
15 )
16
17 // init attempts to source the version from the build info injected
18 // at runtime and sets the DefaultUserAgent.
19 func init() {
20 buildInfo, ok := debug.ReadBuildInfo()
21 if ok {
22 for _, dep := range buildInfo.Deps {
23 if dep.Path == packagePath {
24 if dep.Replace != nil {
25 Version = dep.Replace.Version
26 }
27
28 Version = dep.Version
29
30 break
31 }
32 }
33 }
34
35 DefaultUserAgent = fmt.Sprintf("linodego/%s https://github.com/linode/linodego", Version)
36 }
37