diff --git a/build/common.sh b/build/common.sh index cf58de3d187..aaf07139c1b 100755 --- a/build/common.sh +++ b/build/common.sh @@ -158,6 +158,38 @@ kube::build::get_docker_wrapped_binaries() { # --------------------------------------------------------------------------- # Basic setup functions +# Set up dynamic constants for build environment. +# This function sets up variables that are needed by both verification and cleaning. +# +# Vars set: +# KUBE_ROOT_HASH +# KUBE_BUILD_IMAGE_TAG_BASE +# KUBE_BUILD_IMAGE_TAG +# KUBE_BUILD_IMAGE +# KUBE_BUILD_CONTAINER_NAME_BASE +# KUBE_BUILD_CONTAINER_NAME +# KUBE_DATA_CONTAINER_NAME_BASE +# KUBE_DATA_CONTAINER_NAME +# KUBE_RSYNC_CONTAINER_NAME_BASE +# KUBE_RSYNC_CONTAINER_NAME +# DOCKER_MOUNT_ARGS +# LOCAL_OUTPUT_BUILD_CONTEXT +function kube::build::setup_vars() { + KUBE_GIT_BRANCH=$(git symbolic-ref --short -q HEAD 2>/dev/null || true) + KUBE_ROOT_HASH=$(kube::build::short_hash "${HOSTNAME:-}:${KUBE_ROOT}:${KUBE_GIT_BRANCH}") + KUBE_BUILD_IMAGE_TAG_BASE="build-${KUBE_ROOT_HASH}" + KUBE_BUILD_IMAGE_TAG="${KUBE_BUILD_IMAGE_TAG_BASE}-${KUBE_BUILD_IMAGE_VERSION}" + KUBE_BUILD_IMAGE="${KUBE_BUILD_IMAGE_REPO}:${KUBE_BUILD_IMAGE_TAG}" + KUBE_BUILD_CONTAINER_NAME_BASE="kube-build-${KUBE_ROOT_HASH}" + KUBE_BUILD_CONTAINER_NAME="${KUBE_BUILD_CONTAINER_NAME_BASE}-${KUBE_BUILD_IMAGE_VERSION}" + KUBE_RSYNC_CONTAINER_NAME_BASE="kube-rsync-${KUBE_ROOT_HASH}" + KUBE_RSYNC_CONTAINER_NAME="${KUBE_RSYNC_CONTAINER_NAME_BASE}-${KUBE_BUILD_IMAGE_VERSION}" + KUBE_DATA_CONTAINER_NAME_BASE="kube-build-data-${KUBE_ROOT_HASH}" + KUBE_DATA_CONTAINER_NAME="${KUBE_DATA_CONTAINER_NAME_BASE}-${KUBE_BUILD_IMAGE_VERSION}" + DOCKER_MOUNT_ARGS=(--volumes-from "${KUBE_DATA_CONTAINER_NAME}") + LOCAL_OUTPUT_BUILD_CONTEXT="${LOCAL_OUTPUT_IMAGE_STAGING}/${KUBE_BUILD_IMAGE}" +} + # Verify that the right utilities and such are installed for building Kube. Set # up some dynamic constants. # Args: @@ -195,19 +227,7 @@ function kube::build::verify_prereqs() { fi fi - KUBE_GIT_BRANCH=$(git symbolic-ref --short -q HEAD 2>/dev/null || true) - KUBE_ROOT_HASH=$(kube::build::short_hash "${HOSTNAME:-}:${KUBE_ROOT}:${KUBE_GIT_BRANCH}") - KUBE_BUILD_IMAGE_TAG_BASE="build-${KUBE_ROOT_HASH}" - KUBE_BUILD_IMAGE_TAG="${KUBE_BUILD_IMAGE_TAG_BASE}-${KUBE_BUILD_IMAGE_VERSION}" - KUBE_BUILD_IMAGE="${KUBE_BUILD_IMAGE_REPO}:${KUBE_BUILD_IMAGE_TAG}" - KUBE_BUILD_CONTAINER_NAME_BASE="kube-build-${KUBE_ROOT_HASH}" - KUBE_BUILD_CONTAINER_NAME="${KUBE_BUILD_CONTAINER_NAME_BASE}-${KUBE_BUILD_IMAGE_VERSION}" - KUBE_RSYNC_CONTAINER_NAME_BASE="kube-rsync-${KUBE_ROOT_HASH}" - KUBE_RSYNC_CONTAINER_NAME="${KUBE_RSYNC_CONTAINER_NAME_BASE}-${KUBE_BUILD_IMAGE_VERSION}" - KUBE_DATA_CONTAINER_NAME_BASE="kube-build-data-${KUBE_ROOT_HASH}" - KUBE_DATA_CONTAINER_NAME="${KUBE_DATA_CONTAINER_NAME_BASE}-${KUBE_BUILD_IMAGE_VERSION}" - DOCKER_MOUNT_ARGS=(--volumes-from "${KUBE_DATA_CONTAINER_NAME}") - LOCAL_OUTPUT_BUILD_CONTEXT="${LOCAL_OUTPUT_IMAGE_STAGING}/${KUBE_BUILD_IMAGE}" + kube::build::setup_vars kube::version::get_version_vars kube::version::save_version_vars "${KUBE_ROOT}/.dockerized-kube-version-defs" diff --git a/build/make-clean.sh b/build/make-clean.sh index 24c6e38b68d..7fc34751bc7 100755 --- a/build/make-clean.sh +++ b/build/make-clean.sh @@ -22,4 +22,5 @@ set -o pipefail KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/.. source "${KUBE_ROOT}/build/common.sh" +kube::build::setup_vars kube::build::clean