#!/usr/bin/env bash # this will allow matching files also in subdirs with **/*.json pattern shopt -s globstar source "$(dirname "${BASH_SOURCE}")/lib/init.sh" GODEP_ROOT="${OS_ROOT}/vendor" KUBE_ROOT=${1:-""} KUBE_GODEP_ROOT="${GODEP_ROOT}/k8s.io/kubernetes" if [ -z "$KUBE_ROOT" ]; then echo "usage: copy-kube-artifacts.sh <kubernetes root dir>" exit 255 fi # Copy special files. rsync -av \ --exclude='examples/blog-logging/diagrams/***' \ --exclude='pkg/ui/data/swagger/datafile.go' \ --include-from=- \ --include='*/' \ --exclude='*' \ --prune-empty-dirs \ $KUBE_ROOT/ $KUBE_GODEP_ROOT <<EOF /api/swagger-spec/*.json /cmd/integration/*** /cmd/kube-apiserver/*** /cmd/kube-controller-manager/*** /cmd/kube-proxy/*** /cmd/kubectl/*** /cmd/kubelet/*** /cmd/libs/*** /docs/admin/**.json /docs/admin/**.yaml /docs/user-guide/**.json /docs/user-guide/**.yaml /docs/user-guide/simple-yaml.md /docs/user-guide/walkthrough/README.md /examples/*** /federation/client/clientset_generated/**.go /pkg/*** /plugin/*** /test/e2e/*** /test/fixtures/*** /test/integration/*** /third_party/golang/*** /third_party/protobuf/*** /README.md EOF # Copy extra vendored files that aren't direct dependencies of any package rsync -av \ --exclude='examples/blog-logging/diagrams/***' \ --exclude='pkg/ui/data/swagger/datafile.go' \ --include-from=- \ --include='*/' \ --exclude='*' \ --prune-empty-dirs \ $KUBE_ROOT/vendor/ $GODEP_ROOT <<EOF /github.com/onsi/ginkgo/ginkgo/**.go /github.com/golang/mock/gomock/**.go /github.com/google/cadvisor/info/v1/test/**.go EOF