From 5d1f6de86b0a6fb5d060fad1e8ea819c3fb7afed Mon Sep 17 00:00:00 2001 From: David Eads Date: Tue, 21 Nov 2017 13:47:00 -0500 Subject: [PATCH] UPSTREAM: : remove build/root that causes weird openapi problems --- vendor/k8s.io/kubernetes/build/root/.bazelrc | 24 - .../kubernetes/build/root/.kazelcfg.json | 8 - .../k8s.io/kubernetes/build/root/BUILD.root | 105 --- vendor/k8s.io/kubernetes/build/root/Makefile | 569 ------------- .../build/root/Makefile.generated_files | 805 ------------------ vendor/k8s.io/kubernetes/build/root/WORKSPACE | 71 -- 6 files changed, 1582 deletions(-) delete mode 100644 vendor/k8s.io/kubernetes/build/root/.bazelrc delete mode 100644 vendor/k8s.io/kubernetes/build/root/.kazelcfg.json delete mode 100644 vendor/k8s.io/kubernetes/build/root/BUILD.root delete mode 100644 vendor/k8s.io/kubernetes/build/root/Makefile delete mode 100644 vendor/k8s.io/kubernetes/build/root/Makefile.generated_files delete mode 100644 vendor/k8s.io/kubernetes/build/root/WORKSPACE diff --git a/vendor/k8s.io/kubernetes/build/root/.bazelrc b/vendor/k8s.io/kubernetes/build/root/.bazelrc deleted file mode 100644 index 4618eab08aa3..000000000000 --- a/vendor/k8s.io/kubernetes/build/root/.bazelrc +++ /dev/null @@ -1,24 +0,0 @@ -# Show us information about failures. -build --verbose_failures -test --test_output=errors - -# Include git version info -build --workspace_status_command hack/print-workspace-status.sh - -# Make /tmp hermetic -build --sandbox_tmpfs_path=/tmp - -# Ensure that Bazel never runs as root, which can cause unit tests to fail. -# This flag requires Bazel 0.5.0+ -build --sandbox_fake_username - -# rules_go@82483596ec203eb9c1849937636f4cbed83733eb has a typo that -# inadvertently relies on comprehension variables leaking. -# TODO(ixdy): Remove these defaults once rules_go is bumped. -# Ref kubernetes/kubernetes#52677 -build --incompatible_comprehension_variables_do_not_leak=false -query --incompatible_comprehension_variables_do_not_leak=false - -# TODO(ixdy): remove the following once repo-infra is bumped. -build --incompatible_disallow_set_constructor=false -query --incompatible_disallow_set_constructor=false diff --git a/vendor/k8s.io/kubernetes/build/root/.kazelcfg.json b/vendor/k8s.io/kubernetes/build/root/.kazelcfg.json deleted file mode 100644 index 3d5d1a1edb7b..000000000000 --- a/vendor/k8s.io/kubernetes/build/root/.kazelcfg.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "GoPrefix": "k8s.io/kubernetes", - "SkippedPaths": [ - "^_.*" - ], - "AddSourcesRules": true, - "K8sOpenAPIGen": true -} diff --git a/vendor/k8s.io/kubernetes/build/root/BUILD.root b/vendor/k8s.io/kubernetes/build/root/BUILD.root deleted file mode 100644 index 7411c8cdf53d..000000000000 --- a/vendor/k8s.io/kubernetes/build/root/BUILD.root +++ /dev/null @@ -1,105 +0,0 @@ -# gazelle:exclude _artifacts -# gazelle:exclude _gopath -# gazelle:exclude _output -# gazelle:exclude _tmp - -package(default_visibility = ["//visibility:public"]) - -load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_prefix") -load("@io_kubernetes_build//defs:build.bzl", "gcs_upload") - -go_prefix("k8s.io/kubernetes") - -filegroup( - name = "_binary-artifacts-and-hashes", - srcs = [ - "//build:client-targets-and-hashes", - "//build:docker-artifacts-and-hashes", - "//build:node-targets-and-hashes", - "//build:server-targets-and-hashes", - "//build/debs:debs-and-hashes", - ], - visibility = ["//visibility:private"], -) - -gcs_upload( - name = "push-build", - data = [ - ":_binary-artifacts-and-hashes", - "//build/release-tars:release-tars-and-hashes", - "//cluster/gce:gcs-release-artifacts-and-hashes", - ], - upload_paths = { - "//:_binary-artifacts-and-hashes": "bin/linux/amd64", - "//build/release-tars:release-tars-and-hashes": "", - "//cluster/gce:gcs-release-artifacts-and-hashes": "extra/gce", - }, -) - -filegroup( - name = "package-srcs", - srcs = glob( - ["**"], - exclude = [ - "bazel-*/**", - "_*/**", - ".config/**", - ".git/**", - ".gsutil/**", - ".make/**", - ], - ), - visibility = ["//visibility:private"], -) - -filegroup( - name = "all-srcs", - srcs = [ - ":package-srcs", - "//api:all-srcs", - "//build:all-srcs", - "//cluster:all-srcs", - "//cmd:all-srcs", - "//docs:all-srcs", - "//examples:all-srcs", - "//federation:all-srcs", - "//hack:all-srcs", - "//pkg:all-srcs", - "//plugin:all-srcs", - "//staging:all-srcs", - "//test:all-srcs", - "//third_party:all-srcs", - "//vendor:all-srcs", - ], - tags = ["automanaged"], -) - -genrule( - name = "save_git_version", - outs = ["version"], - cmd = "grep ^STABLE_BUILD_SCM_REVISION bazel-out/stable-status.txt | awk '{print $$2}' >$@", - stamp = 1, -) - -go_library( - name = "go_default_library", - srcs = [ - "generated.pb.go", - "types.go", - ], - deps = [ - "//vendor/github.com/gogo/protobuf/proto:go_default_library", - "//vendor/github.com/gogo/protobuf/sortkeys:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/api/resource:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/types:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/util/intstr:go_default_library", - ], -) - -filegroup( - name = "go_default_library_protos", - srcs = ["generated.proto"], - visibility = ["//visibility:public"], -) diff --git a/vendor/k8s.io/kubernetes/build/root/Makefile b/vendor/k8s.io/kubernetes/build/root/Makefile deleted file mode 100644 index ffed29909cd4..000000000000 --- a/vendor/k8s.io/kubernetes/build/root/Makefile +++ /dev/null @@ -1,569 +0,0 @@ -# Copyright 2016 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DBG_MAKEFILE ?= -ifeq ($(DBG_MAKEFILE),1) - $(warning ***** starting Makefile for goal(s) "$(MAKECMDGOALS)") - $(warning ***** $(shell date)) -else - # If we're not debugging the Makefile, don't echo recipes. - MAKEFLAGS += -s -endif - - -# Old-skool build tools. -# -# Commonly used targets (see each target for more information): -# all: Build code. -# test: Run tests. -# clean: Clean up. - -# It's necessary to set this because some environments don't link sh -> bash. -SHELL := /bin/bash - -# We don't need make's built-in rules. -MAKEFLAGS += --no-builtin-rules -.SUFFIXES: - -# Constants used throughout. -.EXPORT_ALL_VARIABLES: -OUT_DIR ?= _output -BIN_DIR := $(OUT_DIR)/bin -PRJ_SRC_PATH := k8s.io/kubernetes -GENERATED_FILE_PREFIX := zz_generated. - -# Metadata for driving the build lives here. -META_DIR := .make - -ifdef KUBE_GOFLAGS -$(info KUBE_GOFLAGS is now deprecated. Please use GOFLAGS instead.) -ifndef GOFLAGS -GOFLAGS := $(KUBE_GOFLAGS) -unexport KUBE_GOFLAGS -else -$(error Both KUBE_GOFLAGS and GOFLAGS are set. Please use just GOFLAGS) -endif -endif - -# Extra options for the release or quick-release options: -KUBE_RELEASE_RUN_TESTS := $(KUBE_RELEASE_RUN_TESTS) -KUBE_FASTBUILD := $(KUBE_FASTBUILD) - -# This controls the verbosity of the build. Higher numbers mean more output. -KUBE_VERBOSE ?= 1 - -define ALL_HELP_INFO -# Build code. -# -# Args: -# WHAT: Directory names to build. If any of these directories has a 'main' -# package, the build will produce executable files under $(OUT_DIR)/go/bin. -# If not specified, "everything" will be built. -# GOFLAGS: Extra flags to pass to 'go' when building. -# GOLDFLAGS: Extra linking flags passed to 'go' when building. -# GOGCFLAGS: Additional go compile flags passed to 'go' when building. -# -# Example: -# make -# make all -# make all WHAT=cmd/kubelet GOFLAGS=-v -# make all GOGCFLAGS="-N -l" -# Note: Use the -N -l options to disable compiler optimizations an inlining. -# Using these build options allows you to subsequently use source -# debugging tools like delve. -endef -.PHONY: all -ifeq ($(PRINT_HELP),y) -all: - @echo "$$ALL_HELP_INFO" -else -all: generated_files - hack/make-rules/build.sh $(WHAT) -endif - -define GINKGO_HELP_INFO -# Build ginkgo -# -# Example: -# make ginkgo -endef -.PHONY: ginkgo -ifeq ($(PRINT_HELP),y) -ginkgo: - @echo "$$GINKGO_HELP_INFO" -else -ginkgo: - hack/make-rules/build.sh vendor/github.com/onsi/ginkgo/ginkgo -endif - -define VERIFY_HELP_INFO -# Runs all the presubmission verifications. -# -# Args: -# BRANCH: Branch to be passed to verify-godeps.sh script. -# -# Example: -# make verify -# make verify BRANCH=branch_x -endef -.PHONY: verify -ifeq ($(PRINT_HELP),y) -verify: - @echo "$$VERIFY_HELP_INFO" -else -verify: verify_generated_files - KUBE_VERIFY_GIT_BRANCH=$(BRANCH) hack/make-rules/verify.sh -v -endif - -define QUICK_VERIFY_HELP_INFO -# Runs only the presubmission verifications that aren't slow. -# -# Example: -# make quick-verify -endef -.PHONY: quick-verify -ifeq ($(PRINT_HELP),y) -quick-verify: - @echo "$$QUICK_VERIFY_HELP_INFO" -else -quick-verify: verify_generated_files - hack/make-rules/verify.sh -v -Q -endif - -define UPDATE_HELP_INFO -# Runs all the generated updates. -# -# Example: -# make update -endef -.PHONY: update -ifeq ($(PRINT_HELP),y) -update: - @echo "$$UPDATE_HELP_INFO" -else -update: - hack/update-all.sh -endif - -define CHECK_TEST_HELP_INFO -# Build and run tests. -# -# Args: -# WHAT: Directory names to test. All *_test.go files under these -# directories will be run. If not specified, "everything" will be tested. -# TESTS: Same as WHAT. -# KUBE_COVER: Whether to run tests with code coverage. Set to 'y' to enable coverage collection. -# GOFLAGS: Extra flags to pass to 'go' when building. -# GOLDFLAGS: Extra linking flags to pass to 'go' when building. -# GOGCFLAGS: Additional go compile flags passed to 'go' when building. -# -# Example: -# make check -# make test -# make check WHAT=./pkg/kubelet GOFLAGS=-v -endef -.PHONY: check test -ifeq ($(PRINT_HELP),y) -check test: - @echo "$$CHECK_TEST_HELP_INFO" -else -check test: generated_files - hack/make-rules/test.sh $(WHAT) $(TESTS) -endif - -define TEST_IT_HELP_INFO -# Build and run integration tests. -# -# Args: -# WHAT: Directory names to test. All *_test.go files under these -# directories will be run. If not specified, "everything" will be tested. -# -# Example: -# make test-integration -endef -.PHONY: test-integration -ifeq ($(PRINT_HELP),y) -test-integration: - @echo "$$TEST_IT_HELP_INFO" -else -test-integration: generated_files - hack/make-rules/test-integration.sh $(WHAT) -endif - -define TEST_E2E_HELP_INFO -# Build and run end-to-end tests. -# -# Example: -# make test-e2e -endef -.PHONY: test-e2e -ifeq ($(PRINT_HELP),y) -test-e2e: - @echo "$$TEST_E2E_HELP_INFO" -else -test-e2e: ginkgo generated_files - go run hack/e2e.go -- -v --build --up --test --down -endif - -define TEST_E2E_NODE_HELP_INFO -# Build and run node end-to-end tests. -# -# Args: -# FOCUS: Regexp that matches the tests to be run. Defaults to "". -# SKIP: Regexp that matches the tests that needs to be skipped. Defaults -# to "". -# RUN_UNTIL_FAILURE: If true, pass --untilItFails to ginkgo so tests are run -# repeatedly until they fail. Defaults to false. -# REMOTE: If true, run the tests on a remote host instance on GCE. Defaults -# to false. -# IMAGES: For REMOTE=true only. Comma delimited list of images for creating -# remote hosts to run tests against. Defaults to a recent image. -# LIST_IMAGES: If true, don't run tests. Just output the list of available -# images for testing. Defaults to false. -# HOSTS: For REMOTE=true only. Comma delimited list of running gce hosts to -# run tests against. Defaults to "". -# DELETE_INSTANCES: For REMOTE=true only. Delete any instances created as -# part of this test run. Defaults to false. -# ARTIFACTS: For REMOTE=true only. Local directory to scp test artifacts into -# from the remote hosts. Defaults to "/tmp/_artifacts". -# REPORT: For REMOTE=false only. Local directory to write juntil xml results -# to. Defaults to "/tmp/". -# CLEANUP: For REMOTE=true only. If false, do not stop processes or delete -# test files on remote hosts. Defaults to true. -# IMAGE_PROJECT: For REMOTE=true only. Project containing images provided to -# IMAGES. Defaults to "kubernetes-node-e2e-images". -# INSTANCE_PREFIX: For REMOTE=true only. Instances created from images will -# have the name "${INSTANCE_PREFIX}-${IMAGE_NAME}". Defaults to "test". -# INSTANCE_METADATA: For REMOTE=true and running on GCE only. -# GUBERNATOR: For REMOTE=true only. Produce link to Gubernator to view logs. -# Defaults to false. -# PARALLELISM: The number of gingko nodes to run. Defaults to 8. -# RUNTIME: Container runtime to use (eg. docker, rkt, remote). -# Defaults to "docker". -# CONTAINER_RUNTIME_ENDPOINT: remote container endpoint to connect to. -# Used when RUNTIME is set to "remote". -# IMAGE_SERVICE_ENDPOINT: remote image endpoint to connect to, to prepull images. -# Used when RUNTIME is set to "remote". -# IMAGE_CONFIG_FILE: path to a file containing image configuration. -# SYSTEM_SPEC_NAME: The name of the system spec to be used for validating the -# image in the node conformance test. The specs are located at -# test/e2e_node/system/specs/. For example, "SYSTEM_SPEC_NAME=gke" will use -# the spec at test/e2e_node/system/specs/gke.yaml. If unspecified, the -# default built-in spec (system.DefaultSpec) will be used. -# -# Example: -# make test-e2e-node FOCUS=Kubelet SKIP=container -# make test-e2e-node REMOTE=true DELETE_INSTANCES=true -# make test-e2e-node TEST_ARGS='--kubelet-flags="--cgroups-per-qos=true"' -# Build and run tests. -endef -.PHONY: test-e2e-node -ifeq ($(PRINT_HELP),y) -test-e2e-node: - @echo "$$TEST_E2E_NODE_HELP_INFO" -else -test-e2e-node: ginkgo generated_files - hack/make-rules/test-e2e-node.sh -endif - -define TEST_CMD_HELP_INFO -# Build and run cmdline tests. -# -# Example: -# make test-cmd -endef -.PHONY: test-cmd -ifeq ($(PRINT_HELP),y) -test-cmd: - @echo "$$TEST_CMD_HELP_INFO" -else -test-cmd: generated_files - hack/make-rules/test-kubeadm-cmd.sh - hack/make-rules/test-cmd.sh - hack/make-rules/test-federation-cmd.sh -endif - -define CLEAN_HELP_INFO -# Remove all build artifacts. -# -# Example: -# make clean -# -# TODO(thockin): call clean_generated when we stop committing generated code. -endef -.PHONY: clean -ifeq ($(PRINT_HELP),y) -clean: - @echo "$$CLEAN_HELP_INFO" -else -clean: clean_meta - build/make-clean.sh - git clean -Xdf -endif - -define CLEAN_META_HELP_INFO -# Remove make-related metadata files. -# -# Example: -# make clean_meta -endef -.PHONY: clean_meta -ifeq ($(PRINT_HELP),y) -clean_meta: - @echo "$$CLEAN_META_HELP_INFO" -else -clean_meta: - rm -rf $(META_DIR) -endif - -define CLEAN_GENERATED_HELP_INFO -# Remove all auto-generated artifacts. Generated artifacts in staging folder should not be removed as they are not -# generated using generated_files. -# -# Example: -# make clean_generated -endef -.PHONY: clean_generated -ifeq ($(PRINT_HELP),y) -clean_generated: - @echo "$$CLEAN_GENERATED_HELP_INFO" -else -clean_generated: - find . -type f -name $(GENERATED_FILE_PREFIX)\* | grep -v "[.]/staging/.*" | xargs rm -f -endif - -define VET_HELP_INFO -# Run 'go vet'. -# -# Args: -# WHAT: Directory names to vet. All *.go files under these -# directories will be vetted. If not specified, "everything" will be -# vetted. -# -# Example: -# make vet -# make vet WHAT=./pkg/kubelet -endef -.PHONY: vet -ifeq ($(PRINT_HELP),y) -vet: - @echo "$$VET_HELP_INFO" -else -vet: generated_files - CALLED_FROM_MAIN_MAKEFILE=1 hack/make-rules/vet.sh $(WHAT) -endif - -define RELEASE_HELP_INFO -# Build a release -# -# Example: -# make release -endef -.PHONY: release -ifeq ($(PRINT_HELP),y) -release: - @echo "$$RELEASE_HELP_INFO" -else -release: - build/release.sh -endif - -define RELEASE_SKIP_TESTS_HELP_INFO -# Build a release, but skip tests -# -# Args: -# KUBE_RELEASE_RUN_TESTS: Whether to run tests. Set to 'y' to run tests anyways. -# KUBE_FASTBUILD: Whether to cross-compile for other architectures. Set to 'true' to do so. -# -# Example: -# make release-skip-tests -# make quick-release -endef -.PHONY: release-skip-tests quick-release -ifeq ($(PRINT_HELP),y) -release-skip-tests quick-release: - @echo "$$RELEASE_SKIP_TESTS_HELP_INFO" -else -release-skip-tests quick-release: KUBE_RELEASE_RUN_TESTS = n -release-skip-tests quick-release: KUBE_FASTBUILD = true -release-skip-tests quick-release: - build/release.sh -endif - -define CROSS_HELP_INFO -# Cross-compile for all platforms -# -# Example: -# make cross -endef -.PHONY: cross -ifeq ($(PRINT_HELP),y) -cross: - @echo "$$CROSS_HELP_INFO" -else -cross: - hack/make-rules/cross.sh -endif - -define CMD_HELP_INFO -# Add rules for all directories in cmd/ -# -# Example: -# make kubectl kube-proxy -endef -#TODO: make EXCLUDE_TARGET auto-generated when there are other files in cmd/ -EXCLUDE_TARGET=BUILD OWNERS -.PHONY: $(filter-out %$(EXCLUDE_TARGET),$(notdir $(abspath $(wildcard cmd/*/)))) -ifeq ($(PRINT_HELP),y) -$(filter-out %$(EXCLUDE_TARGET),$(notdir $(abspath $(wildcard cmd/*/)))): - @echo "$$CMD_HELP_INFO" -else -$(filter-out %$(EXCLUDE_TARGET),$(notdir $(abspath $(wildcard cmd/*/)))): generated_files - hack/make-rules/build.sh cmd/$@ -endif - -define PLUGIN_CMD_HELP_INFO -# Add rules for all directories in plugin/cmd/ -# -# Example: -# make kube-scheduler -endef -.PHONY: $(notdir $(abspath $(wildcard plugin/cmd/*/))) -ifeq ($(PRINT_HELP),y) -$(notdir $(abspath $(wildcard plugin/cmd/*/))): - @echo "$$PLUGIN_CMD_HELP_INFO" -else -$(notdir $(abspath $(wildcard plugin/cmd/*/))): generated_files - hack/make-rules/build.sh plugin/cmd/$@ -endif - -define FED_CMD_HELP_INFO -# Add rules for all directories in federation/cmd/ -# -# Example: -# make federation-apiserver federation-controller-manager -endef -.PHONY: $(notdir $(abspath $(wildcard federation/cmd/*/))) -ifeq ($(PRINT_HELP),y) -$(notdir $(abspath $(wildcard federation/cmd/*/))): - @echo "$$FED_CMD_HELP_INFO" -else -$(notdir $(abspath $(wildcard federation/cmd/*/))): generated_files - hack/make-rules/build.sh federation/cmd/$@ -endif - -define GENERATED_FILES_HELP_INFO -# Produce auto-generated files needed for the build. -# -# Example: -# make generated_files -endef -.PHONY: generated_files -ifeq ($(PRINT_HELP),y) -generated_files: - @echo "$$GENERATED_FILES_HELP_INFO" -else -generated_files: - $(MAKE) -f Makefile.generated_files $@ CALLED_FROM_MAIN_MAKEFILE=1 -endif - -define VERIFY_GENERATED_FILES_HELP_INFO -# Verify auto-generated files needed for the build. -# -# Example: -# make verify_generated_files -endef -.PHONY: verify_generated_files -ifeq ($(PRINT_HELP),y) -verify_generated_files: - @echo "$$VERIFY_GENERATED_FILES_HELP_INFO" -else -verify_generated_files: - $(MAKE) -f Makefile.generated_files $@ CALLED_FROM_MAIN_MAKEFILE=1 -endif - -define HELP_INFO -# Print make targets and help info -# -# Example: -# make help -endef -.PHONY: help -ifeq ($(PRINT_HELP),y) -help: - @echo "$$HELP_INFO" -else -help: - hack/make-rules/make-help.sh -endif - -# Non-dockerized bazel rules. -.PHONY: bazel-build bazel-test bazel-release - -ifeq ($(PRINT_HELP),y) -define BAZEL_BUILD_HELP_INFO -# Build with bazel -# -# Example: -# make bazel-build -endef -bazel-build: - @echo "$$BAZEL_BUILD_HELP_INFO" -else -bazel-build: - bazel build //cmd/... //hack/... //pkg/... //federation/... //plugin/... //third_party/... //examples/... //test/... //vendor/k8s.io/... -endif - - -ifeq ($(PRINT_HELP),y) -define BAZEL_TEST_HELP_INFO -# Test with bazel -# -# Example: -# make bazel-test -endef -bazel-test: - @echo "$$BAZEL_TEST_HELP_INFO" -else -bazel-test: - bazel test --test_tag_filters=-integration --flaky_test_attempts=3 //cmd/... //pkg/... //federation/... //plugin/... //third_party/... //hack/... //hack:verify-all //vendor/k8s.io/... -endif - -ifeq ($(PRINT_HELP),y) -define BAZEL_TEST_INTEGRATION_HELP_INFO -# Integration test with bazel -# -# Example: -# make bazel-test-integration -endef -bazel-test-integration: - @echo "$$BAZEL_TEST_INTEGRATION_HELP_INFO" -else -bazel-test-integration: - bazel test //test/integration/... -endif - -ifeq ($(PRINT_HELP),y) -define BAZEL_RELEASE_HELP_INFO -# Build release tars with bazel -# -# Example: -# make bazel-release -endef -bazel-release: - @echo "$$BAZEL_RELEASE_HELP_INFO" -else -bazel-release: - bazel build //build/release-tars -endif diff --git a/vendor/k8s.io/kubernetes/build/root/Makefile.generated_files b/vendor/k8s.io/kubernetes/build/root/Makefile.generated_files deleted file mode 100644 index 96caaf87a73a..000000000000 --- a/vendor/k8s.io/kubernetes/build/root/Makefile.generated_files +++ /dev/null @@ -1,805 +0,0 @@ -# Copyright 2016 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Don't allow users to call this directly. There are too many variables this -# assumes to inherit from the main Makefile. This is not a user-facing file. -ifeq ($(CALLED_FROM_MAIN_MAKEFILE),) - $(error Please use the main Makefile, e.g. `make generated_files`) -endif - -# Don't allow an implicit 'all' rule. This is not a user-facing file. -ifeq ($(MAKECMDGOALS),) - $(error This Makefile requires an explicit rule to be specified) -endif - -ifeq ($(DBG_MAKEFILE),1) - $(warning ***** starting Makefile.generated_files for goal(s) "$(MAKECMDGOALS)") - $(warning ***** $(shell date)) -endif - - -# It's necessary to set this because some environments don't link sh -> bash. -SHELL := /bin/bash - -# This rule collects all the generated file sets into a single rule. Other -# rules should depend on this to ensure generated files are rebuilt. -.PHONY: generated_files -generated_files: gen_deepcopy gen_defaulter gen_conversion gen_openapi - -.PHONY: verify_generated_files -verify_generated_files: verify_gen_deepcopy \ - verify_gen_defaulter \ - verify_gen_conversion - -# Code-generation logic. -# -# This stuff can be pretty tricky, and there's probably some corner cases that -# we don't handle well. That said, here's a straightforward test to prove that -# the most common cases work. Sadly, it is manual. -# -# make clean -# find . -name .make\* | xargs rm -f -# find . -name zz_generated\* | xargs rm -f -# # verify `find . -name zz_generated.deepcopy.go | wc -l` is 0 -# # verify `find . -name .make | wc -l` is 0 -# -# make nonexistent -# # expect "No rule to make target" -# # verify `find .make/ -type f | wc -l` has many files -# -# make gen_deepcopy -# # expect deepcopy-gen is built exactly once -# # expect many files to be regenerated -# # verify `find . -name zz_generated.deepcopy.go | wc -l` has files -# make gen_deepcopy -# # expect nothing to be rebuilt, finish in O(seconds) -# touch pkg/api/types.go -# make gen_deepcopy -# # expect one file to be regenerated -# make gen_deepcopy -# # expect nothing to be rebuilt, finish in O(seconds) -# touch vendor/k8s.io/code-generator/cmd/deepcopy-gen/main.go -# make gen_deepcopy -# # expect deepcopy-gen is built exactly once -# # expect many files to be regenerated -# # verify `find . -name zz_generated.deepcopy.go | wc -l` has files -# make gen_deepcopy -# # expect nothing to be rebuilt, finish in O(seconds) -# -# make gen_conversion -# # expect conversion-gen is built exactly once -# # expect many files to be regenerated -# # verify `find . -name zz_generated.conversion.go | wc -l` has files -# make gen_conversion -# # expect nothing to be rebuilt, finish in O(seconds) -# touch pkg/api/types.go -# make gen_conversion -# # expect one file to be regenerated -# make gen_conversion -# # expect nothing to be rebuilt, finish in O(seconds) -# touch vendor/k8s.io/code-generator/cmd/conversion-gen/main.go -# make gen_conversion -# # expect conversion-gen is built exactly once -# # expect many files to be regenerated -# # verify `find . -name zz_generated.conversion.go | wc -l` has files -# make gen_conversion -# # expect nothing to be rebuilt, finish in O(seconds) -# -# make all -# # expect it to build -# -# make test -# # expect it to pass -# -# make clean -# # verify `find . -name zz_generated.deepcopy.go | wc -l` is 0 -# # verify `find . -name .make | wc -l` is 0 -# -# make all WHAT=cmd/kube-proxy -# # expect it to build -# -# make clean -# make test WHAT=cmd/kube-proxy -# # expect it to pass - -# This variable holds a list of every directory that contains Go files in this -# project. Other rules and variables can use this as a starting point to -# reduce filesystem accesses. -ifeq ($(DBG_MAKEFILE),1) - $(warning ***** finding all *.go dirs) -endif -ALL_GO_DIRS := $(shell \ - hack/make-rules/helpers/cache_go_dirs.sh $(META_DIR)/all_go_dirs.mk \ -) - -# The name of the metadata file which lists *.go files in each pkg. -GOFILES_META := gofiles.mk - -# Establish a dependency between the deps file and the dir. Whenever a dir -# changes (files added or removed) the deps file will be considered stale. -# -# The variable value was set in $(GOFILES_META) and included as part of the -# dependency management logic. -# -# This is looser than we really need (e.g. we don't really care about non *.go -# files or even *_test.go files), but this is much easier to represent. -# -# Because we 'sinclude' the deps file, it is considered for rebuilding, as part -# of make's normal evaluation. If it gets rebuilt, make will restart. -# -# The '$(eval)' is needed because this has a different RHS for each LHS, and -# would otherwise produce results that make can't parse. -$(foreach dir, $(ALL_GO_DIRS), $(eval \ - $(META_DIR)/$(dir)/$(GOFILES_META): $(dir) \ -)) - -# How to rebuild a deps file. When make determines that the deps file is stale -# (see above), it executes this rule, and then re-loads the deps file. -# -# This is looser than we really need (e.g. we don't really care about test -# files), but this is MUCH faster than calling `go list`. -# -# We regenerate the output file in order to satisfy make's "newer than" rules, -# but we only need to rebuild targets if the contents actually changed. That -# is what the .stamp file represents. -$(foreach dir, $(ALL_GO_DIRS), \ - $(META_DIR)/$(dir)/$(GOFILES_META)): - FILES=$$(ls $$@.tmp; \ - if ! cmp -s $@.tmp $@; then \ - if [[ "$(DBG_CODEGEN)" == 1 ]]; then \ - echo "DBG: gofiles changed for $@"; \ - fi; \ - touch $@.stamp; \ - fi; \ - mv $@.tmp $@ - -# This is required to fill in the DAG, since some cases (e.g. 'make clean all') -# will reference the .stamp file when it doesn't exist. We don't need to -# rebuild it in that case, just keep make happy. -$(foreach dir, $(ALL_GO_DIRS), \ - $(META_DIR)/$(dir)/$(GOFILES_META).stamp): - -# Include any deps files as additional Makefile rules. This triggers make to -# consider the deps files for rebuild, which makes the whole -# dependency-management logic work. 'sinclude' is "silent include" which does -# not fail if the file does not exist. -$(foreach dir, $(ALL_GO_DIRS), $(eval \ - sinclude $(META_DIR)/$(dir)/$(GOFILES_META) \ -)) - -# Generate a list of all files that have a `+k8s:` comment-tag. This will be -# used to derive lists of files/dirs for generation tools. -ifeq ($(DBG_MAKEFILE),1) - $(warning ***** finding all +k8s: tags) -endif -ALL_K8S_TAG_FILES := $(shell \ - find $(ALL_GO_DIRS) -maxdepth 1 -type f -name \*.go \ - | xargs grep --color=never -l '^// *+k8s:' \ -) - -# -# Deep-copy generation -# -# Any package that wants deep-copy functions generated must include a -# comment-tag in column 0 of one file of the form: -# // +k8s:deepcopy-gen= -# -# The may be one of: -# generate: generate deep-copy functions into the package -# register: generate deep-copy functions and register them with a -# scheme - -# The result file, in each pkg, of deep-copy generation. -DEEPCOPY_BASENAME := $(GENERATED_FILE_PREFIX)deepcopy -DEEPCOPY_FILENAME := $(DEEPCOPY_BASENAME).go - -# The tool used to generate deep copies. -DEEPCOPY_GEN := $(BIN_DIR)/deepcopy-gen - -# Find all the directories that request deep-copy generation. -ifeq ($(DBG_MAKEFILE),1) - $(warning ***** finding all +k8s:deepcopy-gen tags) -endif -DEEPCOPY_DIRS := $(shell \ - grep --color=never -l '+k8s:deepcopy-gen=' $(ALL_K8S_TAG_FILES) \ - | xargs -n1 dirname \ - | LC_ALL=C sort -u \ -) -DEEPCOPY_FILES := $(addsuffix /$(DEEPCOPY_FILENAME), $(DEEPCOPY_DIRS)) - -# Shell function for reuse in rules. -RUN_GEN_DEEPCOPY = \ - function run_gen_deepcopy() { \ - if [[ -f $(META_DIR)/$(DEEPCOPY_GEN).todo ]]; then \ - pkgs=$$(cat $(META_DIR)/$(DEEPCOPY_GEN).todo | paste -sd, -); \ - if [[ "$(DBG_CODEGEN)" == 1 ]]; then \ - echo "DBG: running $(DEEPCOPY_GEN) for $$pkgs"; \ - fi; \ - ./hack/run-in-gopath.sh $(DEEPCOPY_GEN) \ - --v $(KUBE_VERBOSE) \ - --logtostderr \ - -i "$$pkgs" \ - --bounding-dirs $(PRJ_SRC_PATH),"k8s.io/api" \ - -O $(DEEPCOPY_BASENAME) \ - "$$@"; \ - fi \ - }; \ - run_gen_deepcopy - -# This rule aggregates the set of files to generate and then generates them all -# in a single run of the tool. -.PHONY: gen_deepcopy -gen_deepcopy: $(DEEPCOPY_FILES) $(DEEPCOPY_GEN) - $(RUN_GEN_DEEPCOPY) - -.PHONY: verify_gen_deepcopy -verify_gen_deepcopy: $(DEEPCOPY_GEN) - $(RUN_GEN_DEEPCOPY) --verify-only - -# For each dir in DEEPCOPY_DIRS, this establishes a dependency between the -# output file and the input files that should trigger a rebuild. -# -# Note that this is a deps-only statement, not a full rule (see below). This -# has to be done in a distinct step because wildcards don't work in static -# pattern rules. -# -# The '$(eval)' is needed because this has a different RHS for each LHS, and -# would otherwise produce results that make can't parse. -# -# We depend on the $(GOFILES_META).stamp to detect when the set of input files -# has changed. This allows us to detect deleted input files. -$(foreach dir, $(DEEPCOPY_DIRS), $(eval \ - $(dir)/$(DEEPCOPY_FILENAME): $(META_DIR)/$(dir)/$(GOFILES_META).stamp \ - $(gofiles__$(dir)) \ -)) - -# Unilaterally remove any leftovers from previous runs. -$(shell rm -f $(META_DIR)/$(DEEPCOPY_GEN)*.todo) - -# How to regenerate deep-copy code. This is a little slow to run, so we batch -# it up and trigger the batch from the 'generated_files' target. -$(DEEPCOPY_FILES): $(DEEPCOPY_GEN) - mkdir -p $$(dirname $(META_DIR)/$(DEEPCOPY_GEN)) - if [[ "$(DBG_CODEGEN)" == 1 ]]; then \ - echo "DBG: deepcopy needed $(@D): $?"; \ - ls -lf --full-time $@ $? || true; \ - fi - echo $(PRJ_SRC_PATH)/$(@D) >> $(META_DIR)/$(DEEPCOPY_GEN).todo - -# This calculates the dependencies for the generator tool, so we only rebuild -# it when needed. It is PHONY so that it always runs, but it only updates the -# file if the contents have actually changed. We 'sinclude' this later. -.PHONY: $(META_DIR)/$(DEEPCOPY_GEN).mk -$(META_DIR)/$(DEEPCOPY_GEN).mk: - mkdir -p $(@D); \ - (echo -n "$(DEEPCOPY_GEN): "; \ - ./hack/run-in-gopath.sh go list \ - -f '{{.ImportPath}}{{"\n"}}{{range .Deps}}{{.}}{{"\n"}}{{end}}' \ - ./vendor/k8s.io/code-generator/cmd/deepcopy-gen \ - | grep --color=never "^$(PRJ_SRC_PATH)/" \ - | xargs ./hack/run-in-gopath.sh go list \ - -f '{{$$d := .Dir}}{{$$d}}{{"\n"}}{{range .GoFiles}}{{$$d}}/{{.}}{{"\n"}}{{end}}' \ - | paste -sd' ' - \ - | sed 's/ / \\=,/g' \ - | tr '=,' '\n\t' \ - | sed "s|$$(pwd -P)/||"; \ - ) > $@.tmp; \ - if ! cmp -s $@.tmp $@; then \ - if [[ "$(DBG_CODEGEN)" == 1 ]]; then \ - echo "DBG: $(DEEPCOPY_GEN).mk changed"; \ - fi; \ - cat $@.tmp > $@; \ - rm -f $@.tmp; \ - fi - -# Include dependency info for the generator tool. This will cause the rule of -# the same name to be considered and if it is updated, make will restart. -sinclude $(META_DIR)/$(DEEPCOPY_GEN).mk - -# How to build the generator tool. The deps for this are defined in -# the $(DEEPCOPY_GEN).mk, above. -# -# A word on the need to touch: This rule might trigger if, for example, a -# non-Go file was added or deleted from a directory on which this depends. -# This target needs to be reconsidered, but Go realizes it doesn't actually -# have to be rebuilt. In that case, make will forever see the dependency as -# newer than the binary, and try to rebuild it over and over. So we touch it, -# and make is happy. -$(DEEPCOPY_GEN): - hack/make-rules/build.sh ./vendor/k8s.io/code-generator/cmd/deepcopy-gen - touch $@ - -# -# Defaulter generation -# -# Any package that wants defaulter functions generated must include a -# comment-tag in column 0 of one file of the form: -# // +k8s:defaulter-gen= -# -# The depends on context: -# on types: -# true: always generate a defaulter for this type -# false: never generate a defaulter for this type -# on functions: -# covers: if the function name matches SetDefault_NAME, instructs -# the generator not to recurse -# on packages: -# FIELDNAME: any object with a field of this name is a candidate -# for having a defaulter generated - -# The result file, in each pkg, of defaulter generation. -DEFAULTER_BASENAME := $(GENERATED_FILE_PREFIX)defaults -DEFAULTER_FILENAME := $(DEFAULTER_BASENAME).go - -# The tool used to generate defaulters. -DEFAULTER_GEN := $(BIN_DIR)/defaulter-gen - -# All directories that request any form of defaulter generation. -ifeq ($(DBG_MAKEFILE),1) - $(warning ***** finding all +k8s:defaulter-gen tags) -endif -DEFAULTER_DIRS := $(shell \ - grep --color=never -l '+k8s:defaulter-gen=' $(ALL_K8S_TAG_FILES) \ - | xargs -n1 dirname \ - | LC_ALL=C sort -u \ -) - -DEFAULTER_FILES := $(addsuffix /$(DEFAULTER_FILENAME), $(DEFAULTER_DIRS)) - -RUN_GEN_DEFAULTER := \ - function run_gen_defaulter() { \ - if [[ -f $(META_DIR)/$(DEFAULTER_GEN).todo ]]; then \ - pkgs=$$(cat $(META_DIR)/$(DEFAULTER_GEN).todo | paste -sd, -); \ - if [[ "$(DBG_CODEGEN)" == 1 ]]; then \ - echo "DBG: running $(DEFAULTER_GEN) for $$pkgs"; \ - fi; \ - ./hack/run-in-gopath.sh $(DEFAULTER_GEN) \ - --v $(KUBE_VERBOSE) \ - --logtostderr \ - -i "$$pkgs" \ - --extra-peer-dirs $$(echo $(addprefix $(PRJ_SRC_PATH)/, $(DEFAULTER_DIRS)) | sed 's/ /,/g') \ - -O $(DEFAULTER_BASENAME) \ - "$$@"; \ - fi \ - }; \ - run_gen_defaulter - -# This rule aggregates the set of files to generate and then generates them all -# in a single run of the tool. -.PHONY: gen_defaulter -gen_defaulter: $(DEFAULTER_FILES) $(DEFAULTER_GEN) - $(RUN_GEN_DEFAULTER) - -.PHONY: verify_gen_deepcopy -verify_gen_defaulter: $(DEFAULTER_GEN) - $(RUN_GEN_DEFAULTER) --verify-only - -# For each dir in DEFAULTER_DIRS, this establishes a dependency between the -# output file and the input files that should trigger a rebuild. -# -# The variable value was set in $(GOFILES_META) and included as part of the -# dependency management logic. -# -# Note that this is a deps-only statement, not a full rule (see below). This -# has to be done in a distinct step because wildcards don't work in static -# pattern rules. -# -# The '$(eval)' is needed because this has a different RHS for each LHS, and -# would otherwise produce results that make can't parse. -# -# We depend on the $(GOFILES_META).stamp to detect when the set of input files -# has changed. This allows us to detect deleted input files. -$(foreach dir, $(DEFAULTER_DIRS), $(eval \ - $(dir)/$(DEFAULTER_FILENAME): $(META_DIR)/$(dir)/$(GOFILES_META).stamp \ - $(gofiles__$(dir)) \ -)) - -# For each dir in DEFAULTER_DIRS, for each target in $(defaulters__$(dir)), -# this establishes a dependency between the output file and the input files -# that should trigger a rebuild. -# -# The variable value was set in $(GOFILES_META) and included as part of the -# dependency management logic. -# -# Note that this is a deps-only statement, not a full rule (see below). This -# has to be done in a distinct step because wildcards don't work in static -# pattern rules. -# -# The '$(eval)' is needed because this has a different RHS for each LHS, and -# would otherwise produce results that make can't parse. -# -# We depend on the $(GOFILES_META).stamp to detect when the set of input files -# has changed. This allows us to detect deleted input files. -$(foreach dir, $(DEFAULTER_DIRS), \ - $(foreach tgt, $(defaulters__$(dir)), $(eval \ - $(dir)/$(DEFAULTER_FILENAME): $(META_DIR)/$(tgt)/$(GOFILES_META).stamp \ - $(gofiles__$(tgt)) \ - )) \ -) - -# Unilaterally remove any leftovers from previous runs. -$(shell rm -f $(META_DIR)/$(DEFAULTER_GEN)*.todo) - -# How to regenerate defaulter code. This is a little slow to run, so we batch -# it up and trigger the batch from the 'generated_files' target. -$(DEFAULTER_FILES): $(DEFAULTER_GEN) - mkdir -p $$(dirname $(META_DIR)/$(DEFAULTER_GEN)) - if [[ "$(DBG_CODEGEN)" == 1 ]]; then \ - echo "DBG: defaulter needed $(@D): $?"; \ - ls -lf --full-time $@ $? || true; \ - fi - echo $(PRJ_SRC_PATH)/$(@D) >> $(META_DIR)/$(DEFAULTER_GEN).todo - -# This calculates the dependencies for the generator tool, so we only rebuild -# it when needed. It is PHONY so that it always runs, but it only updates the -# file if the contents have actually changed. We 'sinclude' this later. -.PHONY: $(META_DIR)/$(DEFAULTER_GEN).mk -$(META_DIR)/$(DEFAULTER_GEN).mk: - mkdir -p $(@D); \ - (echo -n "$(DEFAULTER_GEN): "; \ - ./hack/run-in-gopath.sh go list \ - -f '{{.ImportPath}}{{"\n"}}{{range .Deps}}{{.}}{{"\n"}}{{end}}' \ - ./vendor/k8s.io/code-generator/cmd/defaulter-gen \ - | grep --color=never "^$(PRJ_SRC_PATH)/" \ - | xargs ./hack/run-in-gopath.sh go list \ - -f '{{$$d := .Dir}}{{$$d}}{{"\n"}}{{range .GoFiles}}{{$$d}}/{{.}}{{"\n"}}{{end}}' \ - | paste -sd' ' - \ - | sed 's/ / \\=,/g' \ - | tr '=,' '\n\t' \ - | sed "s|$$(pwd -P)/||"; \ - ) > $@.tmp; \ - if ! cmp -s $@.tmp $@; then \ - if [[ "$(DBG_CODEGEN)" == 1 ]]; then \ - echo "DBG: $(DEFAULTER_GEN).mk changed"; \ - fi; \ - cat $@.tmp > $@; \ - rm -f $@.tmp; \ - fi - -# Include dependency info for the generator tool. This will cause the rule of -# the same name to be considered and if it is updated, make will restart. -sinclude $(META_DIR)/$(DEFAULTER_GEN).mk - -# How to build the generator tool. The deps for this are defined in -# the $(DEFAULTER_GEN).mk, above. -# -# A word on the need to touch: This rule might trigger if, for example, a -# non-Go file was added or deleted from a directory on which this depends. -# This target needs to be reconsidered, but Go realizes it doesn't actually -# have to be rebuilt. In that case, make will forever see the dependency as -# newer than the binary, and try to rebuild it over and over. So we touch it, -# and make is happy. -$(DEFAULTER_GEN): - hack/make-rules/build.sh ./vendor/k8s.io/code-generator/cmd/defaulter-gen - touch $@ - -# -# Open-api generation -# -# Any package that wants open-api functions generated must include a -# comment-tag in column 0 of one file of the form: -# // +k8s:openapi-gen=true -# -# The result file, in each pkg, of open-api generation. -OPENAPI_BASENAME := $(GENERATED_FILE_PREFIX)openapi -OPENAPI_FILENAME := $(OPENAPI_BASENAME).go -OPENAPI_OUTPUT_PKG := pkg/generated/openapi - -# The tool used to generate open apis. -OPENAPI_GEN := $(BIN_DIR)/openapi-gen - -# Find all the directories that request open-api generation. -ifeq ($(DBG_MAKEFILE),1) - $(warning ***** finding all +k8s:openapi-gen tags) -endif -OPENAPI_DIRS := $(shell \ - grep --color=never -l '+k8s:openapi-gen=' $(ALL_K8S_TAG_FILES) \ - | xargs -n1 dirname \ - | LC_ALL=C sort -u \ -) - -OPENAPI_OUTFILE := $(OPENAPI_OUTPUT_PKG)/$(OPENAPI_FILENAME) - -# This rule is the user-friendly entrypoint for openapi generation. -.PHONY: gen_openapi -gen_openapi: $(OPENAPI_OUTFILE) $(OPENAPI_GEN) - -# For each dir in OPENAPI_DIRS, this establishes a dependency between the -# output file and the input files that should trigger a rebuild. -# -# Note that this is a deps-only statement, not a full rule (see below). This -# has to be done in a distinct step because wildcards don't work in static -# pattern rules. -# -# The '$(eval)' is needed because this has a different RHS for each LHS, and -# would otherwise produce results that make can't parse. -# -# We depend on the $(GOFILES_META).stamp to detect when the set of input files -# has changed. This allows us to detect deleted input files. -$(foreach dir, $(OPENAPI_DIRS), $(eval \ - $(OPENAPI_OUTFILE): $(META_DIR)/$(dir)/$(GOFILES_META).stamp \ - $(gofiles__$(dir)) \ -)) - -# How to regenerate open-api code. This emits a single file for all results. -$(OPENAPI_OUTFILE): $(OPENAPI_GEN) $(OPENAPI_GEN) - function run_gen_openapi() { \ - ./hack/run-in-gopath.sh $(OPENAPI_GEN) \ - --v $(KUBE_VERBOSE) \ - --logtostderr \ - -i $$(echo $(addprefix $(PRJ_SRC_PATH)/, $(OPENAPI_DIRS)) | sed 's/ /,/g') \ - -p $(PRJ_SRC_PATH)/$(OPENAPI_OUTPUT_PKG) \ - -O $(OPENAPI_BASENAME) \ - "$$@"; \ - }; \ - run_gen_openapi - -# This calculates the dependencies for the generator tool, so we only rebuild -# it when needed. It is PHONY so that it always runs, but it only updates the -# file if the contents have actually changed. We 'sinclude' this later. -.PHONY: $(META_DIR)/$(OPENAPI_GEN).mk -$(META_DIR)/$(OPENAPI_GEN).mk: - mkdir -p $(@D); \ - (echo -n "$(OPENAPI_GEN): "; \ - ./hack/run-in-gopath.sh go list \ - -f '{{.ImportPath}}{{"\n"}}{{range .Deps}}{{.}}{{"\n"}}{{end}}' \ - ./vendor/k8s.io/code-generator/cmd/openapi-gen \ - | grep --color=never "^$(PRJ_SRC_PATH)/" \ - | xargs ./hack/run-in-gopath.sh go list \ - -f '{{$$d := .Dir}}{{$$d}}{{"\n"}}{{range .GoFiles}}{{$$d}}/{{.}}{{"\n"}}{{end}}' \ - | paste -sd' ' - \ - | sed 's/ / \\=,/g' \ - | tr '=,' '\n\t' \ - | sed "s|$$(pwd -P)/||"; \ - ) > $@.tmp; \ - if ! cmp -s $@.tmp $@; then \ - if [[ "$(DBG_CODEGEN)" == 1 ]]; then \ - echo "DBG: $(OPENAPI_GEN).mk changed"; \ - fi; \ - cat $@.tmp > $@; \ - rm -f $@.tmp; \ - fi - -# Include dependency info for the generator tool. This will cause the rule of -# the same name to be considered and if it is updated, make will restart. -sinclude $(META_DIR)/$(OPENAPI_GEN).mk - -# How to build the generator tool. The deps for this are defined in -# the $(OPENAPI_GEN).mk, above. -# -# A word on the need to touch: This rule might trigger if, for example, a -# non-Go file was added or deleted from a directory on which this depends. -# This target needs to be reconsidered, but Go realizes it doesn't actually -# have to be rebuilt. In that case, make will forever see the dependency as -# newer than the binary, and try to rebuild it over and over. So we touch it, -# and make is happy. -$(OPENAPI_GEN): - hack/make-rules/build.sh ./vendor/k8s.io/code-generator/cmd/openapi-gen - touch $@ - -# -# Conversion generation -# -# Any package that wants conversion functions generated must include one or -# more comment-tags in any .go file, in column 0, of the form: -# // +k8s:conversion-gen= -# -# The CONVERSION_TARGET_DIR is a project-local path to another directory which -# should be considered when evaluating peer types for conversions. Types which -# are found in the source package (where conversions are being generated) -# but do not have a peer in one of the target directories will not have -# conversions generated. -# -# TODO: it might be better in the long term to make peer-types explicit in the -# IDL. - -# The result file, in each pkg, of conversion generation. -CONVERSION_BASENAME := $(GENERATED_FILE_PREFIX)conversion -CONVERSION_FILENAME := $(CONVERSION_BASENAME).go - -# The tool used to generate conversions. -CONVERSION_GEN := $(BIN_DIR)/conversion-gen - -# The name of the metadata file listing conversion peers for each pkg. -CONVERSIONS_META := conversions.mk - -# All directories that request any form of conversion generation. -ifeq ($(DBG_MAKEFILE),1) - $(warning ***** finding all +k8s:conversion-gen tags) -endif -CONVERSION_DIRS := $(shell \ - grep --color=never '^// *+k8s:conversion-gen=' $(ALL_K8S_TAG_FILES) \ - | cut -f1 -d: \ - | xargs -n1 dirname \ - | LC_ALL=C sort -u \ -) - -CONVERSION_FILES := $(addsuffix /$(CONVERSION_FILENAME), $(CONVERSION_DIRS)) - -# Shell function for reuse in rules. -RUN_GEN_CONVERSION = \ - function run_gen_conversion() { \ - if [[ -f $(META_DIR)/$(CONVERSION_GEN).todo ]]; then \ - pkgs=$$(cat $(META_DIR)/$(CONVERSION_GEN).todo | paste -sd, -); \ - if [[ "$(DBG_CODEGEN)" == 1 ]]; then \ - echo "DBG: running $(CONVERSION_GEN) for $$pkgs"; \ - fi; \ - ./hack/run-in-gopath.sh $(CONVERSION_GEN) \ - --v $(KUBE_VERBOSE) \ - --logtostderr \ - -i "$$pkgs" \ - -O $(CONVERSION_BASENAME) \ - "$$@"; \ - fi \ - }; \ - run_gen_conversion - -# This rule aggregates the set of files to generate and then generates them all -# in a single run of the tool. -.PHONY: gen_conversion -gen_conversion: $(CONVERSION_FILES) $(CONVERSION_GEN) - $(RUN_GEN_CONVERSION) - -.PHONY: verify_gen_conversion -verify_gen_conversion: $(CONVERSION_GEN) - $(RUN_GEN_CONVERSION) --verify-only - -# Establish a dependency between the deps file and the dir. Whenever a dir -# changes (files added or removed) the deps file will be considered stale. -# -# This is looser than we really need (e.g. we don't really care about non *.go -# files or even *_test.go files), but this is much easier to represent. -# -# Because we 'sinclude' the deps file, it is considered for rebuilding, as part -# of make's normal evaluation. If it gets rebuilt, make will restart. -# -# The '$(eval)' is needed because this has a different RHS for each LHS, and -# would otherwise produce results that make can't parse. -$(foreach dir, $(CONVERSION_DIRS), $(eval \ - $(META_DIR)/$(dir)/$(CONVERSIONS_META): $(dir) \ -)) - -# How to rebuild a deps file. When make determines that the deps file is stale -# (see above), it executes this rule, and then re-loads the deps file. -# -# This is looser than we really need (e.g. we don't really care about test -# files), but this is MUCH faster than calling `go list`. -# -# We regenerate the output file in order to satisfy make's "newer than" rules, -# but we only need to rebuild targets if the contents actually changed. That -# is what the .stamp file represents. -$(foreach dir, $(CONVERSION_DIRS), \ - $(META_DIR)/$(dir)/$(CONVERSIONS_META)): - TAGS=$$(grep --color=never -h '^// *+k8s:conversion-gen=' $$@.tmp; \ - if ! cmp -s $@.tmp $@; then \ - if [[ "$(DBG_CODEGEN)" == 1 ]]; then \ - echo "DBG: conversions changed for $@"; \ - fi; \ - touch $@.stamp; \ - fi; \ - mv $@.tmp $@ - -# Include any deps files as additional Makefile rules. This triggers make to -# consider the deps files for rebuild, which makes the whole -# dependency-management logic work. 'sinclude' is "silent include" which does -# not fail if the file does not exist. -$(foreach dir, $(CONVERSION_DIRS), $(eval \ - sinclude $(META_DIR)/$(dir)/$(CONVERSIONS_META) \ -)) - -# For each dir in CONVERSION_DIRS, this establishes a dependency between the -# output file and the input files that should trigger a rebuild. -# -# The variable value was set in $(GOFILES_META) and included as part of the -# dependency management logic. -# -# Note that this is a deps-only statement, not a full rule (see below). This -# has to be done in a distinct step because wildcards don't work in static -# pattern rules. -# -# The '$(eval)' is needed because this has a different RHS for each LHS, and -# would otherwise produce results that make can't parse. -# -# We depend on the $(GOFILES_META).stamp to detect when the set of input files -# has changed. This allows us to detect deleted input files. -$(foreach dir, $(CONVERSION_DIRS), $(eval \ - $(dir)/$(CONVERSION_FILENAME): $(META_DIR)/$(dir)/$(GOFILES_META).stamp \ - $(gofiles__$(dir)) \ -)) - -# For each dir in CONVERSION_DIRS, for each target in $(conversions__$(dir)), -# this establishes a dependency between the output file and the input files -# that should trigger a rebuild. -# -# The variable value was set in $(GOFILES_META) and included as part of the -# dependency management logic. -# -# Note that this is a deps-only statement, not a full rule (see below). This -# has to be done in a distinct step because wildcards don't work in static -# pattern rules. -# -# The '$(eval)' is needed because this has a different RHS for each LHS, and -# would otherwise produce results that make can't parse. -# -# We depend on the $(GOFILES_META).stamp to detect when the set of input files -# has changed. This allows us to detect deleted input files. -$(foreach dir, $(CONVERSION_DIRS), \ - $(foreach tgt, $(conversions__$(dir)), $(eval \ - $(dir)/$(CONVERSION_FILENAME): $(META_DIR)/$(tgt)/$(GOFILES_META).stamp \ - $(gofiles__$(tgt)) \ - )) \ -) - -# Unilaterally remove any leftovers from previous runs. -$(shell rm -f $(META_DIR)/$(CONVERSION_GEN)*.todo) - -# How to regenerate conversion code. This is a little slow to run, so we batch -# it up and trigger the batch from the 'generated_files' target. -$(CONVERSION_FILES): $(CONVERSION_GEN) - mkdir -p $$(dirname $(META_DIR)/$(CONVERSION_GEN)) - if [[ "$(DBG_CODEGEN)" == 1 ]]; then \ - echo "DBG: conversion needed $(@D): $?"; \ - ls -lf --full-time $@ $? || true; \ - fi - echo $(PRJ_SRC_PATH)/$(@D) >> $(META_DIR)/$(CONVERSION_GEN).todo - -# This calculates the dependencies for the generator tool, so we only rebuild -# it when needed. It is PHONY so that it always runs, but it only updates the -# file if the contents have actually changed. We 'sinclude' this later. -.PHONY: $(META_DIR)/$(CONVERSION_GEN).mk -$(META_DIR)/$(CONVERSION_GEN).mk: - mkdir -p $(@D); \ - (echo -n "$(CONVERSION_GEN): "; \ - ./hack/run-in-gopath.sh go list \ - -f '{{.ImportPath}}{{"\n"}}{{range .Deps}}{{.}}{{"\n"}}{{end}}' \ - ./vendor/k8s.io/code-generator/cmd/conversion-gen \ - | grep --color=never "^$(PRJ_SRC_PATH)/" \ - | xargs ./hack/run-in-gopath.sh go list \ - -f '{{$$d := .Dir}}{{$$d}}{{"\n"}}{{range .GoFiles}}{{$$d}}/{{.}}{{"\n"}}{{end}}' \ - | paste -sd' ' - \ - | sed 's/ / \\=,/g' \ - | tr '=,' '\n\t' \ - | sed "s|$$(pwd -P)/||"; \ - ) > $@.tmp; \ - if ! cmp -s $@.tmp $@; then \ - if [[ "$(DBG_CODEGEN)" == 1 ]]; then \ - echo "DBG: $(CONVERSION_GEN).mk changed"; \ - fi; \ - cat $@.tmp > $@; \ - rm -f $@.tmp; \ - fi - -# Include dependency info for the generator tool. This will cause the rule of -# the same name to be considered and if it is updated, make will restart. -sinclude $(META_DIR)/$(CONVERSION_GEN).mk - -# How to build the generator tool. The deps for this are defined in -# the $(CONVERSION_GEN).mk, above. -# -# A word on the need to touch: This rule might trigger if, for example, a -# non-Go file was added or deleted from a directory on which this depends. -# This target needs to be reconsidered, but Go realizes it doesn't actually -# have to be rebuilt. In that case, make will forever see the dependency as -# newer than the binary, and try to rebuild it over and over. So we touch it, -# and make is happy. -$(CONVERSION_GEN): - hack/make-rules/build.sh ./vendor/k8s.io/code-generator/cmd/conversion-gen - touch $@ diff --git a/vendor/k8s.io/kubernetes/build/root/WORKSPACE b/vendor/k8s.io/kubernetes/build/root/WORKSPACE deleted file mode 100644 index 6b5fa03c64c2..000000000000 --- a/vendor/k8s.io/kubernetes/build/root/WORKSPACE +++ /dev/null @@ -1,71 +0,0 @@ -http_archive( - name = "io_bazel_rules_go", - sha256 = "27a13726ff8621cfa4592fbef116b253043c2b093c8814265dc4489a0e67d229", - strip_prefix = "rules_go-82483596ec203eb9c1849937636f4cbed83733eb", - urls = ["https://github.com/bazelbuild/rules_go/archive/82483596ec203eb9c1849937636f4cbed83733eb.tar.gz"], -) - -http_archive( - name = "io_kubernetes_build", - sha256 = "ca8fa1ee0928220d77fcaa6bcf40a26c57800c024e21b08c8dd9cc8fbf910236", - strip_prefix = "repo-infra-0aafaab9e158d3628804242c6a9c4dd3eb8bce1f", - urls = ["https://github.com/kubernetes/repo-infra/archive/0aafaab9e158d3628804242c6a9c4dd3eb8bce1f.tar.gz"], -) - -ETCD_VERSION = "3.0.17" - -new_http_archive( - name = "com_coreos_etcd", - build_file = "third_party/etcd.BUILD", - sha256 = "274c46a7f8d26f7ae99d6880610f54933cbcf7f3beafa19236c52eb5df8c7a0b", - strip_prefix = "etcd-v%s-linux-amd64" % ETCD_VERSION, - urls = ["https://github.com/coreos/etcd/releases/download/v%s/etcd-v%s-linux-amd64.tar.gz" % (ETCD_VERSION, ETCD_VERSION)], -) - -# This contains a patch to not prepend ./ to tarfiles produced by pkg_tar. -# When merged upstream, we'll no longer need to use ixdy's fork: -# https://bazel-review.googlesource.com/#/c/10390/ -http_archive( - name = "io_bazel", - sha256 = "892a84aa1e7c1f99fb57bb056cb648745c513077252815324579a012d263defb", - strip_prefix = "bazel-df2c687c22bdd7c76f3cdcc85f38fefd02f0b844", - urls = ["https://github.com/ixdy/bazel/archive/df2c687c22bdd7c76f3cdcc85f38fefd02f0b844.tar.gz"], -) - -http_archive( - name = "io_bazel_rules_docker", - sha256 = "40d780165c0b9fbb3ddca858df7347381af0e87e430c74863e4ce9d6f6441023", - strip_prefix = "rules_docker-8359263f35227a3634ea023ff4ae163189eb4b26", - urls = ["https://github.com/bazelbuild/rules_docker/archive/8359263f35227a3634ea023ff4ae163189eb4b26.tar.gz"], -) - -load("@io_bazel_rules_go//go:def.bzl", "go_repositories") -load("@io_bazel_rules_docker//docker:docker.bzl", "docker_repositories", "docker_pull") - -go_repositories( - go_version = "1.8.3", -) - -docker_repositories() - -http_file( - name = "kubernetes_cni", - sha256 = "05ab3937bc68562e989dc143362ec4d4275262ba9f359338aed720fc914457a5", - url = "https://storage.googleapis.com/kubernetes-release/network-plugins/cni-amd64-0799f5732f2a11b329d9e3d51b9c8f2e3759f2ff.tar.gz", -) - -docker_pull( - name = "debian-iptables-amd64", - digest = "sha256:2e747bc7455b46350d8e57f05c03e109fa306861e7b2a2e8e1cd563932170cf1", - registry = "gcr.io", - repository = "google-containers/debian-iptables-amd64", - tag = "v8", # ignored, but kept here for documentation -) - -docker_pull( - name = "official_busybox", - digest = "sha256:be3c11fdba7cfe299214e46edc642e09514dbb9bbefcd0d3836c05a1e0cd0642", - registry = "index.docker.io", - repository = "library/busybox", - tag = "latest", # ignored, but kept here for documentation -)