mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-03 19:58:17 +00:00 
			
		
		
		
	Make building contrib code optional
This commit is contained in:
		@@ -304,10 +304,9 @@ function kube::build::ensure_golang() {
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Set up the context directory for the kube-build image and build it.
 | 
					# The set of source targets to include in the kube-build image
 | 
				
			||||||
function kube::build::build_image() {
 | 
					function kube::build::source_targets() {
 | 
				
			||||||
  local -r build_context_dir="${LOCAL_OUTPUT_IMAGE_STAGING}/${KUBE_BUILD_IMAGE}"
 | 
					  local targets=(
 | 
				
			||||||
  local -r source=(
 | 
					 | 
				
			||||||
    api
 | 
					    api
 | 
				
			||||||
    build
 | 
					    build
 | 
				
			||||||
    cmd
 | 
					    cmd
 | 
				
			||||||
@@ -323,11 +322,22 @@ function kube::build::build_image() {
 | 
				
			|||||||
    test
 | 
					    test
 | 
				
			||||||
    third_party
 | 
					    third_party
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
 | 
					  if [ -n "${KUBERNETES_CONTRIB:-}" ]; then
 | 
				
			||||||
 | 
					    for contrib in "${KUBERNETES_CONTRIB}"; do
 | 
				
			||||||
 | 
					      targets+=($(eval "kube::contrib::${contrib}::source_targets"))
 | 
				
			||||||
 | 
					    done
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  echo "${targets[@]}"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Set up the context directory for the kube-build image and build it.
 | 
				
			||||||
 | 
					function kube::build::build_image() {
 | 
				
			||||||
 | 
					  local -r build_context_dir="${LOCAL_OUTPUT_IMAGE_STAGING}/${KUBE_BUILD_IMAGE}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  kube::build::build_image_cross
 | 
					  kube::build::build_image_cross
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  mkdir -p "${build_context_dir}"
 | 
					  mkdir -p "${build_context_dir}"
 | 
				
			||||||
  tar czf "${build_context_dir}/kube-source.tar.gz" "${source[@]}"
 | 
					  tar czf "${build_context_dir}/kube-source.tar.gz" $(kube::build::source_targets)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  kube::version::get_version_vars
 | 
					  kube::version::get_version_vars
 | 
				
			||||||
  kube::version::save_version_vars "${build_context_dir}/kube-version-defs"
 | 
					  kube::version::save_version_vars "${build_context_dir}/kube-version-defs"
 | 
				
			||||||
@@ -412,8 +422,12 @@ function kube::build::run_build_command() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  local -a docker_run_opts=(
 | 
					  local -a docker_run_opts=(
 | 
				
			||||||
    "--name=${KUBE_BUILD_CONTAINER_NAME}"
 | 
					    "--name=${KUBE_BUILD_CONTAINER_NAME}"
 | 
				
			||||||
     "${DOCKER_MOUNT_ARGS[@]}"
 | 
					    "${DOCKER_MOUNT_ARGS[@]}"
 | 
				
			||||||
    )
 | 
					  )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if [ -n "${KUBERNETES_CONTRIB:-}" ]; then
 | 
				
			||||||
 | 
					    docker_run_opts+=(-e "KUBERNETES_CONTRIB=${KUBERNETES_CONTRIB}")
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # If we have stdin we can run interactive.  This allows things like 'shell.sh'
 | 
					  # If we have stdin we can run interactive.  This allows things like 'shell.sh'
 | 
				
			||||||
  # to work.  However, if we run this way and don't have stdin, then it ends up
 | 
					  # to work.  However, if we run this way and don't have stdin, then it ends up
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -18,16 +18,32 @@
 | 
				
			|||||||
readonly KUBE_GO_PACKAGE=github.com/GoogleCloudPlatform/kubernetes
 | 
					readonly KUBE_GO_PACKAGE=github.com/GoogleCloudPlatform/kubernetes
 | 
				
			||||||
readonly KUBE_GOPATH="${KUBE_OUTPUT}/go"
 | 
					readonly KUBE_GOPATH="${KUBE_OUTPUT}/go"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Load contrib target functions
 | 
				
			||||||
 | 
					if [ -n "${KUBERNETES_CONTRIB:-}" ]; then
 | 
				
			||||||
 | 
					  for contrib in "${KUBERNETES_CONTRIB}"; do
 | 
				
			||||||
 | 
					    source "${KUBE_ROOT}/contrib/${contrib}/target.sh"
 | 
				
			||||||
 | 
					  done
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# The set of server targets that we are only building for Linux
 | 
					# The set of server targets that we are only building for Linux
 | 
				
			||||||
readonly KUBE_SERVER_TARGETS=(
 | 
					kube::golang::server_targets() {
 | 
				
			||||||
  cmd/kube-proxy
 | 
					  local targets=(
 | 
				
			||||||
  cmd/kube-apiserver
 | 
					    cmd/kube-proxy
 | 
				
			||||||
  cmd/kube-controller-manager
 | 
					    cmd/kube-apiserver
 | 
				
			||||||
  cmd/kubelet
 | 
					    cmd/kube-controller-manager
 | 
				
			||||||
  cmd/hyperkube
 | 
					    cmd/kubelet
 | 
				
			||||||
  cmd/kubernetes
 | 
					    cmd/hyperkube
 | 
				
			||||||
  plugin/cmd/kube-scheduler
 | 
					    cmd/kubernetes
 | 
				
			||||||
)
 | 
					    plugin/cmd/kube-scheduler
 | 
				
			||||||
 | 
					  )
 | 
				
			||||||
 | 
					  if [ -n "${KUBERNETES_CONTRIB:-}" ]; then
 | 
				
			||||||
 | 
					    for contrib in "${KUBERNETES_CONTRIB}"; do
 | 
				
			||||||
 | 
					      targets+=($(eval "kube::contrib::${contrib}::server_targets"))
 | 
				
			||||||
 | 
					    done
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  echo "${targets[@]}"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					readonly KUBE_SERVER_TARGETS=($(kube::golang::server_targets))
 | 
				
			||||||
readonly KUBE_SERVER_BINARIES=("${KUBE_SERVER_TARGETS[@]##*/}")
 | 
					readonly KUBE_SERVER_BINARIES=("${KUBE_SERVER_TARGETS[@]##*/}")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# The server platform we are building on.
 | 
					# The server platform we are building on.
 | 
				
			||||||
@@ -43,17 +59,26 @@ readonly KUBE_CLIENT_BINARIES=("${KUBE_CLIENT_TARGETS[@]##*/}")
 | 
				
			|||||||
readonly KUBE_CLIENT_BINARIES_WIN=("${KUBE_CLIENT_BINARIES[@]/%/.exe}")
 | 
					readonly KUBE_CLIENT_BINARIES_WIN=("${KUBE_CLIENT_BINARIES[@]/%/.exe}")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# The set of test targets that we are building for all platforms
 | 
					# The set of test targets that we are building for all platforms
 | 
				
			||||||
readonly KUBE_TEST_TARGETS=(
 | 
					kube::golang::test_targets() {
 | 
				
			||||||
  cmd/integration
 | 
					  local targets=(
 | 
				
			||||||
  cmd/gendocs
 | 
					    cmd/integration
 | 
				
			||||||
  cmd/genman
 | 
					    cmd/gendocs
 | 
				
			||||||
  cmd/genbashcomp
 | 
					    cmd/genman
 | 
				
			||||||
  cmd/genconversion
 | 
					    cmd/genbashcomp
 | 
				
			||||||
  cmd/gendeepcopy
 | 
					    cmd/genconversion
 | 
				
			||||||
  examples/k8petstore/web-server
 | 
					    cmd/gendeepcopy
 | 
				
			||||||
  github.com/onsi/ginkgo/ginkgo
 | 
					    examples/k8petstore/web-server
 | 
				
			||||||
  test/e2e/e2e.test
 | 
					    github.com/onsi/ginkgo/ginkgo
 | 
				
			||||||
)
 | 
					    test/e2e/e2e.test
 | 
				
			||||||
 | 
					  )
 | 
				
			||||||
 | 
					  if [ -n "${KUBERNETES_CONTRIB:-}" ]; then
 | 
				
			||||||
 | 
					    for contrib in "${KUBERNETES_CONTRIB}"; do
 | 
				
			||||||
 | 
					      targets+=($(eval "kube::contrib::${contrib}::test_targets"))
 | 
				
			||||||
 | 
					    done
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  echo "${targets[@]}"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					readonly KUBE_TEST_TARGETS=($(kube::golang::test_targets))
 | 
				
			||||||
readonly KUBE_TEST_BINARIES=("${KUBE_TEST_TARGETS[@]##*/}")
 | 
					readonly KUBE_TEST_BINARIES=("${KUBE_TEST_TARGETS[@]##*/}")
 | 
				
			||||||
readonly KUBE_TEST_BINARIES_WIN=("${KUBE_TEST_BINARIES[@]/%/.exe}")
 | 
					readonly KUBE_TEST_BINARIES_WIN=("${KUBE_TEST_BINARIES[@]/%/.exe}")
 | 
				
			||||||
readonly KUBE_TEST_PORTABLE=(
 | 
					readonly KUBE_TEST_PORTABLE=(
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user