mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
Merge pull request #1150 from bcwaldon/deprecated-flags
Slurp up deprecated flags, logging a warning
This commit is contained in:
commit
bbbd5fd5ec
55
main.go
55
main.go
@ -52,6 +52,20 @@ var (
|
||||
|
||||
clientTLSInfo = transport.TLSInfo{}
|
||||
peerTLSInfo = transport.TLSInfo{}
|
||||
|
||||
deprecated = []string{
|
||||
"config",
|
||||
"peers-file",
|
||||
"peer-heartbeat-interval",
|
||||
"peer-election-timeout",
|
||||
"max-result-buffer",
|
||||
"max-retry-attempts",
|
||||
"retry-interval",
|
||||
"snapshot",
|
||||
"cluster-active-size",
|
||||
"cluster-remove-delay",
|
||||
"cluster-sync-interval",
|
||||
}
|
||||
)
|
||||
|
||||
func init() {
|
||||
@ -70,9 +84,14 @@ func init() {
|
||||
flag.StringVar(&peerTLSInfo.CAFile, "peer-ca-file", "", "Path to the peer server TLS CA file.")
|
||||
flag.StringVar(&peerTLSInfo.CertFile, "peer-cert-file", "", "Path to the peer server TLS cert file.")
|
||||
flag.StringVar(&peerTLSInfo.KeyFile, "peer-key-file", "", "Path to the peer server TLS key file.")
|
||||
|
||||
for _, f := range deprecated {
|
||||
flag.Var(&deprecatedFlag{f}, f, "No longer supported.")
|
||||
}
|
||||
}
|
||||
|
||||
func main() {
|
||||
flag.CommandLine.Usage = usageWithIgnoredFlagsFunc(flag.CommandLine, deprecated)
|
||||
flag.Parse()
|
||||
|
||||
setFlagsFromEnv()
|
||||
@ -330,3 +349,39 @@ func setFlagsFromEnv() {
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
type deprecatedFlag struct {
|
||||
name string
|
||||
}
|
||||
|
||||
// IsBoolFlag is defined to allow the flag to be defined without an argument
|
||||
func (df *deprecatedFlag) IsBoolFlag() bool {
|
||||
return true
|
||||
}
|
||||
|
||||
func (df *deprecatedFlag) Set(s string) error {
|
||||
log.Printf("WARNING: flag \"-%s\" is no longer supported.", df.name)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (df *deprecatedFlag) String() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func usageWithIgnoredFlagsFunc(fs *flag.FlagSet, ignore []string) func() {
|
||||
iMap := make(map[string]struct{}, len(ignore))
|
||||
for _, name := range ignore {
|
||||
iMap[name] = struct{}{}
|
||||
}
|
||||
|
||||
return func() {
|
||||
fs.VisitAll(func(f *flag.Flag) {
|
||||
if _, ok := iMap[f.Name]; ok {
|
||||
return
|
||||
}
|
||||
|
||||
format := " -%s=%s: %s\n"
|
||||
fmt.Fprintf(os.Stderr, format, f.Name, f.DefValue, f.Usage)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user