blob: 1864fd1d6549efadbaeffb738835da60953aecd5 [file] [log] [blame]
FROM gcr.io/gcp-runtimes/ubuntu_16_0_4:latest
# Install Bazel (https://docs.bazel.build/versions/master/install-ubuntu.html#install-with-installer-ubuntu).
RUN apt-get update -y && apt-get install -y \
# The JDK requirement is from the instructions for the bazel apt package,
# which we're not using here, but let's be safe.
openjdk-8-jdk \
# These requirements are from the link above.
pkg-config zip g++ zlib1g-dev unzip python3 \
# And why should python3 have all the fun?
python \
# We also need git for git_repository to work. Maybe these other ones too.
git unzip build-essential \
# And wget for the below command.
wget
RUN wget https://github.com/bazelbuild/bazel/releases/download/0.28.0/bazel-0.28.0-installer-linux-x86_64.sh -O /tmp/bazel-installer.sh
RUN chmod +x /tmp/bazel-installer.sh && /tmp/bazel-installer.sh
# Sanity check the install.
RUN bazel help info >/dev/null 2>&1
# Build par files. We have a source and work directory to avoid stomping on
# other files as root.
CMD cp -r /opt/rules_python_source /opt/rules_python && \
cd /opt/rules_python && \
bazel clean && \
bazel build //packaging:piptool.par //packaging:whltool.par \
# This works around a bug in git_repository to give us better debugging
# if there's an error.
# TODO(brandjon): Remove this once we're using Bazel 0.29, which
# contains the fix.
--incompatible_string_join_requires_strings=false && \
cp bazel-bin/packaging/piptool.par bazel-bin/packaging/whltool.par /opt/rules_python_source/tools/ && \
chown --reference=/opt/rules_python_source/update_tools.sh /opt/rules_python_source/tools/piptool.par /opt/rules_python_source/tools/whltool.par