2016-08-23 08:31:50 +08:00
package main
import (
"fmt"
"log"
2017-09-15 21:59:43 +08:00
"os"
2020-10-10 22:34:04 +08:00
"runtime/debug"
2016-08-23 08:31:50 +08:00
2020-04-15 04:47:30 +08:00
"github.com/StackExchange/dnscontrol/v3/commands"
2020-10-12 23:45:44 +08:00
"github.com/StackExchange/dnscontrol/v3/pkg/version"
2020-04-15 04:47:30 +08:00
_ "github.com/StackExchange/dnscontrol/v3/providers/_all"
2016-08-23 08:31:50 +08:00
)
2017-09-15 04:13:17 +08:00
//go:generate go run build/generate/generate.go build/generate/featureMatrix.go
2016-08-23 08:31:50 +08:00
2020-10-13 00:54:40 +08:00
// Version management. Goals:
// 1. Someone who just does "go get" has at least some information.
// 2. If built with build/build.go, more specific build information gets put in.
var (
SHA = ""
2022-08-15 22:41:45 +08:00
Version = ""
2020-10-13 00:54:40 +08:00
BuildTime = ""
)
2016-08-23 08:31:50 +08:00
func main ( ) {
2020-10-13 00:54:40 +08:00
version . SHA = SHA
2020-10-19 02:04:50 +08:00
version . Semver = Version
2020-10-13 00:54:40 +08:00
version . BuildTime = BuildTime
2016-08-23 08:31:50 +08:00
log . SetFlags ( log . LstdFlags | log . Lshortfile )
2020-10-10 22:34:04 +08:00
if info , ok := debug . ReadBuildInfo ( ) ; ! ok && info == nil {
fmt . Fprint ( os . Stderr , "Warning: dnscontrol was built without Go modules. See https://github.com/StackExchange/dnscontrol#from-source for more information on how to build dnscontrol correctly.\n\n" )
}
2020-10-19 02:04:50 +08:00
os . Exit ( commands . Run ( "dnscontrol " + version . Banner ( ) ) )
2016-08-23 08:31:50 +08:00
}