diff --git a/tools/piptool.par b/tools/piptool.par index 11ec453cd7..53df7d8a48 100755 Binary files a/tools/piptool.par and b/tools/piptool.par differ diff --git a/tools/update_tools/Dockerfile b/tools/update_tools/Dockerfile index 0fbf77bce5..1323478dab 100644 --- a/tools/update_tools/Dockerfile +++ b/tools/update_tools/Dockerfile @@ -1,19 +1,35 @@ FROM gcr.io/gcp-runtimes/ubuntu_16_0_4:latest -# Install Bazel (https://docs.bazel.build/versions/master/install-ubuntu.html) -RUN apt-get update -y && apt-get install openjdk-8-jdk wget git unzip build-essential -y -RUN wget https://github.com/bazelbuild/bazel/releases/download/0.24.0/bazel-0.24.0-installer-linux-x86_64.sh -O /tmp/bazel-installer.sh +# 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 -RUN bazel help info >/dev/null 2>&1 -# Install Python 2.7.12 -RUN apt-get install python -y +# 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. +# 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 //rules_python:piptool.par //rules_python:whltool.par && \ + bazel build //rules_python:piptool.par //rules_python: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/rules_python/piptool.par bazel-bin/rules_python/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 diff --git a/tools/whltool.par b/tools/whltool.par index 7cb59c0fbe..25f85e7e78 100755 Binary files a/tools/whltool.par and b/tools/whltool.par differ