forked from kubernetes/test-infra
-
Notifications
You must be signed in to change notification settings - Fork 0
/
gather-static.sh
executable file
·76 lines (67 loc) · 2.24 KB
/
gather-static.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#!/usr/bin/env bash
# Copyright 2022 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.
set -o errexit
set -o nounset
set -o pipefail
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd -P)"
cd "${REPO_ROOT}"
# Build ts-rollup so that it can run in docker
source hack/build/setup-go.sh
if [[ -z ${NO_DOCKER:-} ]]; then
GOOS=linux GOARCH=amd64 go build -o _bin/ts-rollup k8s.io/test-infra/hack/ts-rollup
else
go build -o _bin/ts-rollup k8s.io/test-infra/hack/ts-rollup
fi
readonly STATIC_MAP_FILE="prow/cmd/deck/static-map"
readonly JS_OUTPUT_DIR="_output/js"
mkdir -p "${JS_OUTPUT_DIR}"
readonly KO_DATA_PATH="prow/cmd/deck/kodata"
if [[ -d $KO_DATA_PATH ]]; then
rm -rf $KO_DATA_PATH
fi
# Clean if meant to be
if [[ "${1:-}" == "--cleanup" ]]; then
echo "Running in cleanup mode"
./hack/run-in-node-container.sh _bin/ts-rollup --packages="${REPO_ROOT}/prow/cmd/deck/.ts-packages" --root-dir=. --cleanup-only
rm -rf ${KO_DATA_PATH}
exit 0
fi
# ensure deps are installed
./hack/build/ensure-node_modules.sh
# Roll up typescripts
./hack/run-in-node-container.sh _bin/ts-rollup --packages="${REPO_ROOT}/prow/cmd/deck/.ts-packages" --root-dir=.
STATIC_MAP=()
while IFS= read -r map; do
STATIC_MAP+=("${map}")
done < "${STATIC_MAP_FILE}"
for map in "${STATIC_MAP[@]}"; do
parts=(${map//->/ })
src="${REPO_ROOT}/${parts[0]}"
dst="${KO_DATA_PATH}/${parts[1]}"
echo "src: $src, dst: $dst"
mkdir -p $dst
rsync \
-av \
--exclude='*.go' \
--exclude='*.ts' \
--exclude='tsconfig.json' \
--exclude='*.bazel' \
--exclude='*/*.go' \
--exclude='*/*.ts' \
--exclude='*/tsconfig.json' \
--exclude='*/*.bazel' \
$src \
$dst
done