forked from kythe/kythe
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile
52 lines (42 loc) · 1.82 KB
/
Dockerfile
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
# Copyright 2020 The Kythe Authors. All rights reserved.
#
# 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.
FROM debian:sid
# Install C++ compilers and other deps
# note that openjdk-8-jdk is a dependency of the java extractor
RUN apt-get update && \
apt-get install -y git clang-11 build-essential zip python openjdk-8-jdk && \
apt-get clean
# Create clang symlinks
RUN ln -s /usr/bin/clang-11 /usr/bin/clang && \
ln -s /usr/bin/clang++-11 /usr/bin/clang++
RUN echo 'build --client_env=CC=/usr/bin/clang' >> ~/.bazelrc
RUN echo 'build --client_env=CXX=/usr/bin/clang++' >> ~/.bazelrc
# Extract the Kythe release archive to /kythe
COPY kythe/release/kythe-v*.tar.gz /tmp/
RUN tar --no-same-owner -xzf /tmp/kythe-v*.tar.gz && \
mv kythe-v*/ /kythe && \
rm /tmp/kythe-v*.tar.gz
# Tools and configuration
ADD kythe/extractors/bazel/extract.sh /kythe/
ADD kythe/extractors/bazel/bazel_wrapper.sh /kythe/
ADD kythe/release/base/fix_permissions.sh /kythe/
# Bazelisk
ADD external/com_github_bazelbuild_bazelisk/bazelisk_/bazelisk /kythe/
RUN mkdir -p /workspace
WORKDIR /workspace
# copied from gcr.io bazel image
# Store the Bazel outputs under /workspace so that the symlinks under bazel-bin
# (et al) are accessible to downstream build steps.
RUN echo 'startup --output_base=/workspace/.bazel' >> ~/.bazelrc
ENTRYPOINT ["/kythe/extract.sh"]