|
1 |
| -FROM mcr.microsoft.com/devcontainers/base:jammy |
| 1 | +FROM mcr.microsoft.com/vscode/devcontainers/base:dev-bookworm |
2 | 2 |
|
3 | 3 | # Install dependencies, including clang via through LLVM APT repository. Note that this
|
4 | 4 | # will also install lldb and clangd alongside dependencies.
|
5 | 5 | ARG LLVM_VERSION=16
|
6 | 6 | RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
|
7 |
| - && apt-get -y install --no-install-recommends software-properties-common python3 python3-distutils tclsh \ |
| 7 | + && apt-get -y install software-properties-common python3 python3-distutils tclsh nodejs npm \ |
8 | 8 | && curl -fSsL -o /tmp/llvm.sh https://apt.llvm.org/llvm.sh && chmod +x /tmp/llvm.sh && bash /tmp/llvm.sh ${LLVM_VERSION} \
|
9 | 9 | && apt-get -y install --no-install-recommends libunwind-${LLVM_VERSION} libc++abi1-${LLVM_VERSION} libc++1-${LLVM_VERSION} libc++-${LLVM_VERSION}-dev libclang-rt-${LLVM_VERSION}-dev -o DPkg::options::="--force-overwrite"
|
10 | 10 | ENV PATH /usr/lib/llvm-${LLVM_VERSION}/bin:$PATH
|
11 | 11 |
|
12 |
| -# Install NodeJS |
13 |
| -ARG NODEJS_VERSION=v20.10.0 |
14 |
| -ARG NODE_PACKAGE=node-${NODEJS_VERSION}-linux-x64 |
15 |
| -ARG NODE_HOME=/opt/$NODE_PACKAGE |
16 |
| -RUN curl https://nodejs.org/dist/${NODEJS_VERSION}/${NODE_PACKAGE}.tar.xz | tar xvfJ - -C /opt |
17 |
| -ENV NODE_PATH ${NODE_HOME}/lib/node_modules |
18 |
| -ENV PATH ${NODE_HOME}/bin:$PATH |
19 |
| - |
20 | 12 | # Install Bazel (via Bazelisk)
|
21 |
| -ARG BAZELISK_VERSION=v1.20.0 |
22 |
| -ARG BAZELISK_DOWNLOAD_SHA="d9af1fa808c0529753c3befda75123236a711d971d3485a390507122148773a3" |
23 |
| -RUN curl -fSsL -o /usr/local/bin/bazel https://github.com/bazelbuild/bazelisk/releases/download/${BAZELISK_VERSION}/bazelisk-linux-amd64 \ |
24 |
| - && echo "${BAZELISK_DOWNLOAD_SHA} /usr/local/bin/bazel" | sha256sum --check \ |
25 |
| - && chmod 0755 /usr/local/bin/bazel |
26 |
| - |
27 |
| -# Install Bazel Buildifer |
28 |
| -ARG BUILDIFER_VERSION=v7.1.2 |
29 |
| -ARG BUILDIFER_DOWNLOAD_SHA="28285fe7e39ed23dc1a3a525dfcdccbc96c0034ff1d4277905d2672a71b38f13" |
30 |
| -RUN curl -fSsL -o /usr/local/bin/buildifier https://github.com/bazelbuild/buildtools/releases/download/${BUILDIFER_VERSION}/buildifier-linux-amd64 \ |
31 |
| - && echo "${BUILDIFER_DOWNLOAD_SHA} /usr/local/bin/buildifier" | sha256sum --check \ |
32 |
| - && chmod 0755 /usr/local/bin/buildifier |
33 |
| - |
34 |
| -# Install watchexec https://watchexec.github.io/downloads/watchexec/ |
35 |
| -ARG WATCHEXEC_VERSION=1.23.0 |
36 |
| -ARG WATCHEXEC_ARCH=x86_64 |
37 |
| -ADD https://github.com/watchexec/watchexec/releases/download/v${WATCHEXEC_VERSION}/watchexec-${WATCHEXEC_VERSION}-${WATCHEXEC_ARCH}-unknown-linux-gnu.deb /tmp/ |
38 |
| -ADD https://github.com/watchexec/watchexec/releases/download/v${WATCHEXEC_VERSION}/watchexec-${WATCHEXEC_VERSION}-${WATCHEXEC_ARCH}-unknown-linux-gnu.deb.sha256 /tmp/ |
39 |
| -RUN echo "`cat /tmp/watchexec-${WATCHEXEC_VERSION}-${WATCHEXEC_ARCH}-unknown-linux-gnu.deb.sha256` /tmp/watchexec-${WATCHEXEC_VERSION}-${WATCHEXEC_ARCH}-unknown-linux-gnu.deb" | sha256sum --check \ |
40 |
| - && dpkg -i /tmp/watchexec-${WATCHEXEC_VERSION}-${WATCHEXEC_ARCH}-unknown-linux-gnu.deb |
| 13 | +RUN npm install -g @bazel/bazelisk |
0 commit comments