summaryrefslogtreecommitdiffhomepage
path: root/kokoro/kythe/generate_xrefs.sh
blob: 471b90e92308280364c6cfb6f91dd7d6cd1ef486 (plain)
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
#!/bin/bash

# Copyright 2019 The gVisor 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 -ex

# Install the latest version of Bazel. The default on Kokoro images is out of
# date.
if command -v use_bazel.sh >/dev/null; then
  use_bazel.sh latest
fi
bazel version

# We need to use python 3.6 (the Kokoro PY3 default is 3.4) to compile `//...`
# because benchmarktools requires a version of `requests` that is not a
# available in 3.4.
pyenv versions
pyenv global 3.6.1

readonly KYTHE_VERSION='v0.0.37'
readonly WORKDIR="$(mktemp -d)"
readonly KYTHE_DIR="${WORKDIR}/kythe-${KYTHE_VERSION}"
if [[ -n "$KOKORO_GIT_COMMIT" ]]; then
  readonly KZIP_FILENAME="${KOKORO_ARTIFACTS_DIR}/${KOKORO_GIT_COMMIT}.kzip"
else
  readonly KZIP_FILENAME="$(git rev-parse HEAD).kzip"
fi

wget -q -O "${WORKDIR}/kythe.tar.gz" \
  "https://github.com/kythe/kythe/releases/download/${KYTHE_VERSION}/kythe-${KYTHE_VERSION}.tar.gz"
tar --no-same-owner -xzf "${WORKDIR}/kythe.tar.gz" --directory "$WORKDIR"

if [[ -n "$KOKORO_ARTIFACTS_DIR" ]]; then
  cd "${KOKORO_ARTIFACTS_DIR}/github/gvisor"
fi
bazel \
  --bazelrc="${KYTHE_DIR}/extractors.bazelrc" \
  build \
  --override_repository kythe_release="${KYTHE_DIR}" \
  --define=kythe_corpus=gvisor.dev \
  //...

"${KYTHE_DIR}/tools/kzip" merge \
  --output "$KZIP_FILENAME" \
  $(find -L bazel-out/*/extra_actions/ -name '*.kzip')