Использовать Vendor из другого проекта?
Я использую другой каталог поставщика проекта (Origin) для небольших приложений (потому что они используют более старую версию libs и она не совместима с текущими). Но я получаю эти ошибки:
argument to kclient.Namespaces().List
[mangis@mj origin-goclient-example]$ go build
# github.com/mangirdaz/origin-goclient-example
./main.go:15: cannot use &flags (type *"github.com/mangirdaz/origin-goclient-example/vendor/github.com/spf13/pflag".FlagSet) as type *"github.com/openshift/origin/vendor/github.com/spf13/pflag".FlagSet in ar
gument to "github.com/openshift/origin/pkg/cmd/util/clientcmd".New
./main.go:29: cannot use "github.com/mangirdaz/origin-goclient-example/vendor/k8s.io/kubernetes/pkg/api".ListOptions literal (type "github.com/mangirdaz/origin-goclient-example/vendor/k8s.io/kubernetes/pkg/a
pi".ListOptions) as type "github.com/openshift/origin/vendor/k8s.io/kubernetes/pkg/api".ListOptions in argument to osclient.Projects().List
./main.go:37: cannot use "github.com/mangirdaz/origin-goclient-example/vendor/k8s.io/kubernetes/pkg/api".ListOptions literal (type "github.com/mangirdaz/origin-goclient-example/vendor/k8s.io/kubernetes/pkg/a
pi".ListOptions) as type "github.com/openshift/origin/vendor/k8s.io/kubernetes/pkg/api".ListOptions in argument to osclient.BuildConfigs("my-project").List
./main.go:45: cannot use "github.com/mangirdaz/origin-goclient-example/vendor/k8s.io/kubernetes/pkg/api".ListOptions literal (type "github.com/mangirdaz/origin-goclient-example/vendor/k8s.io/kubernetes/pkg/a
pi".ListOptions) as type "github.com/openshift/origin/vendor/k8s.io/kubernetes/pkg/api".ListOptions in argument to kclient.Pods("my-project").List
./main.go:56: cannot use "github.com/mangirdaz/origin-goclient-example/vendor/k8s.io/kubernetes/pkg/api".ListOptions literal (type "github.com/mangirdaz/origin-goclient-example/vendor/k8s.io/kubernetes/pkg/a
pi".ListOptions) as type "github.com/openshift/origin/vendor/k8s.io/kubernetes/pkg/api".ListOptions in argument to kclient.Namespaces().List
как заставить govendor и "code" правильно обращаться с вендором dir? что я тут делаю не так?
пример кода:
import (
"fmt"
"log"
flag "github.com/spf13/pflag"
"github.com/openshift/origin/pkg/cmd/util/clientcmd"
kapi "k8s.io/kubernetes/pkg/api"
)
func main() {
flags := flag.FlagSet{}
factory := clientcmd.New(&flags)
...
и он жалуется на неправильное использование флагов.