From 30b20f184e3d81582b1ab3477306011a226e5e27 Mon Sep 17 00:00:00 2001 From: Tim Hockin Date: Sat, 26 Feb 2022 13:21:11 -0800 Subject: [PATCH 1/2] Use build.sh to build go2make This allows common flags to be passed in (upcoming commits). --- build/root/Makefile.generated_files | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/build/root/Makefile.generated_files b/build/root/Makefile.generated_files index d86a90cbb39..0fac7ab0717 100644 --- a/build/root/Makefile.generated_files +++ b/build/root/Makefile.generated_files @@ -67,7 +67,8 @@ $(META_DIR)/$(GO_PKGDEPS_FILE): FORCE if [[ "$(DBG_CODEGEN)" == 1 ]]; then \ echo "DBG: calculating Go dependencies"; \ fi - hack/run-in-gopath.sh go install ./hack/make-rules/helpers/go2make + KUBE_BUILD_PLATFORMS="" \ + hack/make-rules/build.sh hack/make-rules/helpers/go2make hack/run-in-gopath.sh go2make \ k8s.io/kubernetes/... \ --prune k8s.io/kubernetes/staging \ @@ -205,7 +206,8 @@ $(PRERELEASE_LIFECYCLE_FILES): $(PRERELEASE_LIFECYCLE_GEN) # newer than the binary, and try to "rebuild" it over and over. So we touch # it, and make is happy. $(PRERELEASE_LIFECYCLE_GEN): $(GODEPS_k8s.io/kubernetes/vendor/k8s.io/code-generator/cmd/prerelease-lifecycle-gen) - KUBE_BUILD_PLATFORMS="" hack/make-rules/build.sh ./vendor/k8s.io/code-generator/cmd/prerelease-lifecycle-gen + KUBE_BUILD_PLATFORMS="" \ + hack/make-rules/build.sh vendor/k8s.io/code-generator/cmd/prerelease-lifecycle-gen touch $@ @@ -299,7 +301,8 @@ $(DEEPCOPY_FILES): $(DEEPCOPY_GEN) # newer than the binary, and try to "rebuild" it over and over. So we touch # it, and make is happy. $(DEEPCOPY_GEN): $(GODEPS_k8s.io/kubernetes/vendor/k8s.io/code-generator/cmd/deepcopy-gen) - KUBE_BUILD_PLATFORMS="" hack/make-rules/build.sh ./vendor/k8s.io/code-generator/cmd/deepcopy-gen + KUBE_BUILD_PLATFORMS="" \ + hack/make-rules/build.sh vendor/k8s.io/code-generator/cmd/deepcopy-gen touch $@ @@ -399,7 +402,8 @@ $(DEFAULTER_FILES): $(DEFAULTER_GEN) # newer than the binary, and try to "rebuild" it over and over. So we touch # it, and make is happy. $(DEFAULTER_GEN): $(GODEPS_k8s.io/kubernetes/vendor/k8s.io/code-generator/cmd/defaulter-gen) - KUBE_BUILD_PLATFORMS="" hack/make-rules/build.sh ./vendor/k8s.io/code-generator/cmd/defaulter-gen + KUBE_BUILD_PLATFORMS="" \ + hack/make-rules/build.sh vendor/k8s.io/code-generator/cmd/defaulter-gen touch $@ @@ -512,7 +516,8 @@ $(CONVERSION_FILES): $(CONVERSION_GEN) # newer than the binary, and try to rebuild it over and over. So we touch it, # and make is happy. $(CONVERSION_GEN): $(GODEPS_k8s.io/kubernetes/vendor/k8s.io/code-generator/cmd/conversion-gen) - KUBE_BUILD_PLATFORMS="" hack/make-rules/build.sh ./vendor/k8s.io/code-generator/cmd/conversion-gen + KUBE_BUILD_PLATFORMS="" \ + hack/make-rules/build.sh vendor/k8s.io/code-generator/cmd/conversion-gen touch $@ @@ -636,5 +641,6 @@ gen_openapi: $(OPENAPI_GEN) $(KUBE_OPENAPI_OUTFILE) $(AGGREGATOR_OPENAPI_OUTFILE # newer than the binary, and try to "rebuild" it over and over. So we touch # it, and make is happy. $(OPENAPI_GEN): $(GODEPS_k8s.io/kubernetes/vendor/k8s.io/kube-openapi/cmd/openapi-gen) - KUBE_BUILD_PLATFORMS="" hack/make-rules/build.sh ./vendor/k8s.io/kube-openapi/cmd/openapi-gen + KUBE_BUILD_PLATFORMS="" \ + hack/make-rules/build.sh vendor/k8s.io/kube-openapi/cmd/openapi-gen touch $@ From 4a0c6c2444f6e13a2e61bf9b59a4c6b650f302a7 Mon Sep 17 00:00:00 2001 From: Tim Hockin Date: Sat, 26 Feb 2022 14:32:08 -0800 Subject: [PATCH 2/2] Slightly nicer output when building before: ``` $ make generated_files +++ [0226 13:42:17] Building go targets for linux/amd64: hack/make-rules/helpers/go2make > non-static build: k8s.io/kubernetes/hack/make-rules/helpers/go2make ``` after: ``` $ make generated_files +++ [0226 14:30:08] Building go targets for linux/amd64 k8s.io/kubernetes/hack/make-rules/helpers/go2make (non-static) ``` --- hack/lib/golang.sh | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/hack/lib/golang.sh b/hack/lib/golang.sh index 34bd3cb8d91..2b83d3912be 100755 --- a/hack/lib/golang.sh +++ b/hack/lib/golang.sh @@ -696,18 +696,21 @@ kube::golang::build_binaries_for_platform() { local -a nonstatics=() local -a tests=() - V=2 kube::log::info "Env for ${platform}: GOOS=${GOOS-} GOARCH=${GOARCH-} GOROOT=${GOROOT-} CGO_ENABLED=${CGO_ENABLED-} CC=${CC-}" - for binary in "${binaries[@]}"; do if [[ "${binary}" =~ ".test"$ ]]; then tests+=("${binary}") + kube::log::info " ${binary} (test)" elif kube::golang::is_statically_linked_library "${binary}"; then statics+=("${binary}") + kube::log::info " ${binary} (static)" else nonstatics+=("${binary}") + kube::log::info " ${binary} (non-static)" fi done + V=2 kube::log::info "Env for ${platform}: GOOS=${GOOS-} GOARCH=${GOARCH-} GOROOT=${GOROOT-} CGO_ENABLED=${CGO_ENABLED-} CC=${CC-}" + local -a build_args if [[ "${#statics[@]}" != 0 ]]; then build_args=( @@ -718,7 +721,6 @@ kube::golang::build_binaries_for_platform() { -ldflags "${goldflags:-}" -tags "${gotags:-}" ) - V=1 kube::log::info "> static build CGO_ENABLED=0: ${statics[*]}" CGO_ENABLED=0 kube::golang::build_some_binaries "${statics[@]}" fi @@ -730,7 +732,6 @@ kube::golang::build_binaries_for_platform() { -ldflags "${goldflags:-}" -tags "${gotags:-}" ) - V=1 kube::log::info "> non-static build: ${nonstatics[*]}" kube::golang::build_some_binaries "${nonstatics[@]}" fi @@ -872,7 +873,7 @@ kube::golang::build_binaries() { exit "${fails}" else for platform in "${platforms[@]}"; do - kube::log::status "Building go targets for ${platform}:" "${targets[@]}" + kube::log::status "Building go targets for ${platform}" ( kube::golang::set_platform_envs "${platform}" kube::golang::build_binaries_for_platform "${platform}"