mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	Add go_genrule for zz_generated.openapi.go.
Clean zz_generated.openapi.go before running gazel.
This commit is contained in:
		@@ -15,5 +15,6 @@
 | 
				
			|||||||
		"_vendor"
 | 
							"_vendor"
 | 
				
			||||||
	],
 | 
						],
 | 
				
			||||||
	"AddSourcesRules": true,
 | 
						"AddSourcesRules": true,
 | 
				
			||||||
	"VendorMultipleBuildFiles": true
 | 
						"VendorMultipleBuildFiles": true,
 | 
				
			||||||
 | 
						"K8sOpenAPIGen": true
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,7 +20,11 @@ set -o pipefail
 | 
				
			|||||||
export KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
 | 
					export KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
 | 
				
			||||||
source "${KUBE_ROOT}/hack/lib/init.sh"
 | 
					source "${KUBE_ROOT}/hack/lib/init.sh"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
go get gopkg.in/mikedanese/gazel.v16/gazel
 | 
					# Remove generated files prior to running gazel.
 | 
				
			||||||
 | 
					# TODO(spxtr): Remove this line once Bazel is the only way to build.
 | 
				
			||||||
 | 
					rm -f "${KUBE_ROOT}/pkg/generated/openapi/zz_generated.openapi.go"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					go get -u gopkg.in/mikedanese/gazel.v16/gazel
 | 
				
			||||||
 | 
					
 | 
				
			||||||
for path in ${GOPATH//:/ }; do
 | 
					for path in ${GOPATH//:/ }; do
 | 
				
			||||||
  if [[ -e "${path}/bin/gazel" ]]; then
 | 
					  if [[ -e "${path}/bin/gazel" ]]; then
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,6 +22,10 @@ source "${KUBE_ROOT}/hack/lib/init.sh"
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
go get gopkg.in/mikedanese/gazel.v16/gazel
 | 
					go get gopkg.in/mikedanese/gazel.v16/gazel
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Remove generated files prior to running gazel.
 | 
				
			||||||
 | 
					# TODO(spxtr): Remove this line once Bazel is the only way to build.
 | 
				
			||||||
 | 
					rm -f "${KUBE_ROOT}/pkg/generated/openapi/zz_generated.openapi.go"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
for path in ${GOPATH//:/ }; do
 | 
					for path in ${GOPATH//:/ }; do
 | 
				
			||||||
  if [[ -e "${path}/bin/gazel" ]]; then
 | 
					  if [[ -e "${path}/bin/gazel" ]]; then
 | 
				
			||||||
    gazel="${path}/bin/gazel"
 | 
					    gazel="${path}/bin/gazel"
 | 
				
			||||||
@@ -33,6 +37,7 @@ if [[ -z "${gazel:-}" ]]; then
 | 
				
			|||||||
  exit 1
 | 
					  exit 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if ! "${gazel}" -validate -print-diff -root="$(kube::realpath ${KUBE_ROOT})" ; then
 | 
					if ! "${gazel}" -validate -print-diff -root="$(kube::realpath ${KUBE_ROOT})" ; then
 | 
				
			||||||
  echo
 | 
					  echo
 | 
				
			||||||
  echo "Run ./hack/update-bazel.sh"
 | 
					  echo "Run ./hack/update-bazel.sh"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,25 +1,50 @@
 | 
				
			|||||||
package(default_visibility = ["//visibility:public"])
 | 
					package(default_visibility = ["//visibility:public"])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					load("//pkg/generated/openapi:def.bzl", "openapi_library")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
licenses(["notice"])
 | 
					licenses(["notice"])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
load(
 | 
					openapi_library(
 | 
				
			||||||
    "@io_bazel_rules_go//go:def.bzl",
 | 
					 | 
				
			||||||
    "go_library",
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
go_library(
 | 
					 | 
				
			||||||
    name = "go_default_library",
 | 
					    name = "go_default_library",
 | 
				
			||||||
    srcs = [
 | 
					    srcs = ["doc.go"],
 | 
				
			||||||
        "doc.go",
 | 
					    openapi_targets = [
 | 
				
			||||||
        "zz_generated.openapi.go",
 | 
					        "cmd/libs/go2idl/client-gen/test_apis/testgroup/v1",
 | 
				
			||||||
 | 
					        "federation/apis/federation/v1beta1",
 | 
				
			||||||
 | 
					        "pkg/api/v1",
 | 
				
			||||||
 | 
					        "pkg/apis/abac/v0",
 | 
				
			||||||
 | 
					        "pkg/apis/abac/v1beta1",
 | 
				
			||||||
 | 
					        "pkg/apis/apps/v1beta1",
 | 
				
			||||||
 | 
					        "pkg/apis/authentication/v1",
 | 
				
			||||||
 | 
					        "pkg/apis/authentication/v1beta1",
 | 
				
			||||||
 | 
					        "pkg/apis/authorization/v1",
 | 
				
			||||||
 | 
					        "pkg/apis/authorization/v1beta1",
 | 
				
			||||||
 | 
					        "pkg/apis/autoscaling/v1",
 | 
				
			||||||
 | 
					        "pkg/apis/autoscaling/v2alpha1",
 | 
				
			||||||
 | 
					        "pkg/apis/batch/v1",
 | 
				
			||||||
 | 
					        "pkg/apis/batch/v2alpha1",
 | 
				
			||||||
 | 
					        "pkg/apis/certificates/v1beta1",
 | 
				
			||||||
 | 
					        "pkg/apis/componentconfig/v1alpha1",
 | 
				
			||||||
 | 
					        "pkg/apis/extensions/v1beta1",
 | 
				
			||||||
 | 
					        "pkg/apis/imagepolicy/v1alpha1",
 | 
				
			||||||
 | 
					        "pkg/apis/policy/v1beta1",
 | 
				
			||||||
 | 
					        "pkg/apis/rbac/v1alpha1",
 | 
				
			||||||
 | 
					        "pkg/apis/rbac/v1beta1",
 | 
				
			||||||
 | 
					        "pkg/apis/settings/v1alpha1",
 | 
				
			||||||
 | 
					        "pkg/apis/storage/v1",
 | 
				
			||||||
 | 
					        "pkg/apis/storage/v1beta1",
 | 
				
			||||||
 | 
					        "pkg/version",
 | 
				
			||||||
 | 
					        "vendor/k8s.io/metrics/pkg/apis/custom_metrics/v1alpha1",
 | 
				
			||||||
 | 
					        "vendor/k8s.io/metrics/pkg/apis/metrics/v1alpha1",
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    tags = ["automanaged"],
 | 
					    tags = ["automanaged"],
 | 
				
			||||||
    deps = [
 | 
					    vendor_targets = [
 | 
				
			||||||
        "//vendor/github.com/go-openapi/spec:go_default_library",
 | 
					        "k8s.io/apimachinery/pkg/api/resource",
 | 
				
			||||||
        "//vendor/k8s.io/apimachinery/pkg/api/resource:go_default_library",
 | 
					        "k8s.io/apimachinery/pkg/apis/meta/v1",
 | 
				
			||||||
        "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
 | 
					        "k8s.io/apimachinery/pkg/runtime",
 | 
				
			||||||
        "//vendor/k8s.io/apimachinery/pkg/openapi:go_default_library",
 | 
					        "k8s.io/apimachinery/pkg/util/intstr",
 | 
				
			||||||
        "//vendor/k8s.io/apimachinery/pkg/util/intstr:go_default_library",
 | 
					        "k8s.io/apimachinery/pkg/version",
 | 
				
			||||||
 | 
					        "k8s.io/apiserver/pkg/apis/example/v1",
 | 
				
			||||||
 | 
					        "k8s.io/client-go/pkg/api/v1",
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										31
									
								
								pkg/generated/openapi/def.bzl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								pkg/generated/openapi/def.bzl
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,31 @@
 | 
				
			|||||||
 | 
					load("@io_bazel_rules_go//go:def.bzl", "go_library")
 | 
				
			||||||
 | 
					load("@io_kubernetes_build//defs:go.bzl", "go_genrule")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def openapi_library(name, tags, srcs, openapi_targets=[], vendor_targets=[]):
 | 
				
			||||||
 | 
					  deps = [
 | 
				
			||||||
 | 
					      "//vendor/github.com/go-openapi/spec:go_default_library",
 | 
				
			||||||
 | 
					      "//vendor/k8s.io/apimachinery/pkg/openapi:go_default_library",
 | 
				
			||||||
 | 
					  ] + ["//%s:go_default_library" % target for target in openapi_targets] + ["//vendor/%s:go_default_library" % target for target in vendor_targets]
 | 
				
			||||||
 | 
					  go_library(
 | 
				
			||||||
 | 
					      name=name,
 | 
				
			||||||
 | 
					      tags=tags,
 | 
				
			||||||
 | 
					      srcs=srcs + [":zz_generated.openapi"],
 | 
				
			||||||
 | 
					      deps=deps,
 | 
				
			||||||
 | 
					  )
 | 
				
			||||||
 | 
					  go_genrule(
 | 
				
			||||||
 | 
					      name = "zz_generated.openapi",
 | 
				
			||||||
 | 
					      srcs = srcs + ["//hack/boilerplate:boilerplate.go.txt"],
 | 
				
			||||||
 | 
					      outs = ["zz_generated.openapi.go"],
 | 
				
			||||||
 | 
					      cmd = " ".join([
 | 
				
			||||||
 | 
					        "$(location //cmd/libs/go2idl/openapi-gen)",
 | 
				
			||||||
 | 
					        "--v 1",
 | 
				
			||||||
 | 
					        "--logtostderr",
 | 
				
			||||||
 | 
					        "--go-header-file $(location //hack/boilerplate:boilerplate.go.txt)",
 | 
				
			||||||
 | 
					        "--output-file-base zz_generated.openapi",
 | 
				
			||||||
 | 
					        "--output-package k8s.io/kubernetes/pkg/generated/openapi",
 | 
				
			||||||
 | 
					        "--input-dirs " + ",".join(["k8s.io/kubernetes/" + target for target in openapi_targets] + ["k8s.io/kubernetes/vendor/" + target for target in vendor_targets]),
 | 
				
			||||||
 | 
					        "&& cp pkg/generated/openapi/zz_generated.openapi.go $(GENDIR)/pkg/generated/openapi",
 | 
				
			||||||
 | 
					      ]),
 | 
				
			||||||
 | 
					      go_deps = deps,
 | 
				
			||||||
 | 
					      tools = ["//cmd/libs/go2idl/openapi-gen"],
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
		Reference in New Issue
	
	Block a user