mirror of
https://github.com/StackExchange/dnscontrol.git
synced 2024-11-13 03:34:32 +08:00
444b893e1b
* maint: sort lists in build/generate/featureMatrix.go * maint: sort lists in docs/byo-secrets.md * maint: sort lists in models/record.go * maint: sort lists in pkg/normalize/validate.go * maint: sort lists in providers/activedir/activedirProvider.go * maint: sort lists in providers/akamaiedgedns/akamaiEdgeDnsProvider.go * maint: sort lists in providers/axfrddns/axfrddnsProvider.go * maint: sort lists in providers/azuredns/azureDnsProvider.go * maint: sort lists in providers/cloudflare/cloudflareProvider.go * maint: sort lists in providers/cloudns/cloudnsProvider.go * maint: sort lists in providers/desec/desecProvider.go * maint: sort lists in providers/digitalocean/digitaloceanProvider.go * maint: sort lists in providers/dnsimple/dnsimpleProvider.go * maint: sort lists in providers/dnsmadeeasy/dnsMadeEasyProvider.go * maint: sort lists in providers/exoscale/exoscaleProvider.go * maint: sort lists in providers/gandiv5/gandi_v5Provider.go * maint: sort lists in providers/hedns/hednsProvider.go * maint: sort lists in providers/hetzner/hetznerProvider.go * maint: sort lists in providers/hexonet/hexonetProvider.go * maint: sort lists in providers/inwx/inwxProvider.go * maint: sort lists in providers/linode/linodeProvider.go * maint: sort lists in providers/namecheap/namecheapProvider.go * maint: sort lists in providers/namedotcom/namedotcomProvider.go * maint: sort lists in providers/netcup/netcupProvider.go * maint: sort lists in providers/ns1/ns1Provider.go * maint: sort lists in providers/octodns/octodnsProvider.go * maint: sort lists in providers/oracle/oracleProvider.go * maint: sort lists in providers/ovh/ovhProvider.go * maint: sort lists in providers/packetframe/packetframeProvider.go * maint: sort lists in providers/powerdns/powerdnsProvider.go * maint: sort lists in providers/route53/route53Provider.go * maint: sort lists in providers/vultr/vultrProvider.go * Update go:build pragmas for windows * More sorting * go generate
44 lines
832 B
Go
44 lines
832 B
Go
package version
|
|
|
|
import (
|
|
"fmt"
|
|
"runtime/debug"
|
|
"strconv"
|
|
"time"
|
|
)
|
|
|
|
// NOTE: main() updates these.
|
|
var (
|
|
BuildTime = ""
|
|
SHA = ""
|
|
Semver = ""
|
|
)
|
|
|
|
var versionCache string
|
|
|
|
// Banner returns the version banner.
|
|
func Banner() string {
|
|
if versionCache != "" {
|
|
return versionCache
|
|
}
|
|
|
|
var version string
|
|
if SHA != "" {
|
|
version = fmt.Sprintf("%s (%s)", Semver, SHA)
|
|
} else {
|
|
version = fmt.Sprintf("%s-dev", Semver) // no SHA. '0.x.y-dev' indicates it is run from source without build script.
|
|
}
|
|
if info, ok := debug.ReadBuildInfo(); !ok && info == nil {
|
|
version += " (non-modules)"
|
|
}
|
|
if BuildTime != "" {
|
|
i, err := strconv.ParseInt(BuildTime, 10, 64)
|
|
if err == nil {
|
|
tm := time.Unix(i, 0)
|
|
version += fmt.Sprintf(" built %s", tm.Format(time.RFC822))
|
|
}
|
|
}
|
|
|
|
versionCache = version
|
|
return version
|
|
}
|