Extract "pkg/version".PrintAndExitIfRequested() to its own package

because it causes a runtime panic if a binary which has its own implementation
of "-version" flag tries to reuse a package library which indirectly depend on
"pkg/version".

e.g. If such an user-defined binary tires to link "pkg/api" or "pkg/client",
the binary fails with a runtime panic "flag redefined: version".
This commit is contained in:
Yuki Yugui Sonoda
2014-08-01 14:55:44 +09:00
parent 241ab692f6
commit 331fd0d986
7 changed files with 49 additions and 24 deletions

View File

@@ -35,7 +35,7 @@ import (
kconfig "github.com/GoogleCloudPlatform/kubernetes/pkg/kubelet/config"
"github.com/GoogleCloudPlatform/kubernetes/pkg/tools"
"github.com/GoogleCloudPlatform/kubernetes/pkg/util"
"github.com/GoogleCloudPlatform/kubernetes/pkg/version"
verflag "github.com/GoogleCloudPlatform/kubernetes/pkg/version/flag"
"github.com/coreos/go-etcd/etcd"
"github.com/fsouza/go-dockerclient"
"github.com/golang/glog"
@@ -96,7 +96,7 @@ func main() {
defer util.FlushLogs()
rand.Seed(time.Now().UTC().UnixNano())
version.PrintAndExitIfRequested()
verflag.PrintAndExitIfRequested()
etcd.SetLogger(util.NewLogger("etcd "))