Set gazelle:importmap_prefix for everything under staging/src

This commit is contained in:
Jeff Grafton 2018-06-07 18:55:54 -07:00
parent 4c7c058a61
commit 347c3612c9
4 changed files with 14 additions and 7 deletions

View File

@ -31,15 +31,21 @@ def openapi_library(name, tags, srcs, go_prefix, vendor_prefix = "", openapi_tar
name = "zz_generated.openapi",
srcs = ["//" + vendor_prefix + "hack/boilerplate:boilerplate.go.txt"],
outs = ["zz_generated.openapi.go"],
# In order for vendored dependencies to be imported correctly,
# the generator must run from the repo root inside the generated GOPATH.
# All of bazel's $(location)s are relative to the original working directory, however,
# so we must save it first.
cmd = " ".join([
"$(location //vendor/k8s.io/code-generator/cmd/openapi-gen)",
"ORIG_WD=$$(pwd);",
"cd $$GOPATH/src/" + go_prefix + ";",
"$$ORIG_WD/$(location //vendor/k8s.io/code-generator/cmd/openapi-gen)",
"--v 1",
"--logtostderr",
"--go-header-file $(location //" + vendor_prefix + "hack/boilerplate:boilerplate.go.txt)",
"--go-header-file $$ORIG_WD/$(location //" + vendor_prefix + "hack/boilerplate:boilerplate.go.txt)",
"--output-file-base zz_generated.openapi",
"--output-package " + go_prefix + "pkg/generated/openapi",
"--input-dirs " + ",".join([go_prefix + target for target in openapi_targets] + vendor_targets),
"&& cp $$GOPATH/src/" + go_prefix + "pkg/generated/openapi/zz_generated.openapi.go $(location :zz_generated.openapi.go)",
"--input-dirs " + ",".join([go_prefix + target for target in openapi_targets] + [go_prefix + "vendor/" + target for target in vendor_targets]),
"&& cp $$GOPATH/src/" + go_prefix + "pkg/generated/openapi/zz_generated.openapi.go $$ORIG_WD/$(location :zz_generated.openapi.go)",
]),
go_deps = deps,
tools = ["//vendor/k8s.io/code-generator/cmd/openapi-gen"],

View File

@ -17,8 +17,7 @@ def version_x_defs():
# This should match the list of packages in kube::version::ldflag
stamp_pkgs = [
"k8s.io/kubernetes/pkg/version",
# In hack/lib/version.sh, this has a vendor/ prefix. That isn't needed here?
"k8s.io/client-go/pkg/version",
"k8s.io/kubernetes/vendor/k8s.io/client-go/pkg/version",
]
# This should match the list of vars in kube::version::ldflags

View File

@ -2,6 +2,7 @@
# "k8s.io/kubernetes/staging/src" to the importpath.
# Using this directive ensures that it sets the correct importpath.
# gazelle:prefix
# gazelle:importmap_prefix k8s.io/kubernetes/vendor
filegroup(
name = "package-srcs",

View File

@ -20,6 +20,7 @@ go_library(
importpath = "k8s.io/apimachinery/pkg/util/sets",
)
# This rule makes all sorts of terrible assumptions that it's running inside k8s.io/kubernetes, even though it's part of k8s.io/apimachinery. :\
go_genrule(
name = "set-gen",
srcs = [
@ -35,7 +36,7 @@ go_genrule(
],
cmd = """
$(location //vendor/k8s.io/code-generator/cmd/set-gen) \
--input-dirs k8s.io/apimachinery/pkg/util/sets/types \
--input-dirs k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/sets/types \
--output-base $$(dirname $$(dirname $(location :byte.go))) \
--go-header-file $(location //hack/boilerplate:boilerplate.generatego.txt) \
--output-package sets