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

@@ -28,7 +28,7 @@ import (
"github.com/GoogleCloudPlatform/kubernetes/pkg/client"
"github.com/GoogleCloudPlatform/kubernetes/pkg/controller"
"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/golang/glog"
)
@@ -47,7 +47,7 @@ func main() {
util.InitLogs()
defer util.FlushLogs()
version.PrintAndExitIfRequested()
verflag.PrintAndExitIfRequested()
if len(etcdServerList) == 0 || len(*master) == 0 {
glog.Fatal("usage: controller-manager -etcd_servers <servers> -master <master>")