diff options
author | Samantha Sample <samsample@google.com> | 2019-08-05 17:18:51 -0700 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2019-08-05 17:20:05 -0700 |
commit | fb996668e40031671e08d107e1a5307e813215f9 (patch) | |
tree | cba2bce2e38dfbf97f56d42a5099b1e26bc3469f /test/runtimes/java/Dockerfile | |
parent | 23e740433d6a92c06068923ab58232a19c7a5acb (diff) |
Alter Dockerfiles to include common.go and use a prebuilt JDK.
After the refactoring of the proctor binaries, the Dockerfiles for each
language must be altered to copy the common folder into their image.
Additionally, Java has been changed to use the pre-built version of
JDK-11 from Ubuntu, instead of building it from the source. This allows
for a smaller image and faster test execution within the container.
PiperOrigin-RevId: 261805158
Diffstat (limited to 'test/runtimes/java/Dockerfile')
-rw-r--r-- | test/runtimes/java/Dockerfile | 43 |
1 files changed, 13 insertions, 30 deletions
diff --git a/test/runtimes/java/Dockerfile b/test/runtimes/java/Dockerfile index e162d7218..b9132b575 100644 --- a/test/runtimes/java/Dockerfile +++ b/test/runtimes/java/Dockerfile @@ -1,25 +1,16 @@ FROM ubuntu:bionic # This hash is associated with a specific JDK release and needed for ensuring # the same version is downloaded every time. -ENV LANG_HASH=af47e0398606 -ENV LANG_VER=11u-dev +ENV LANG_HASH=76072a077ee1 +ENV LANG_VER=11 ENV LANG_NAME=Java RUN apt-get update && apt-get install -y \ autoconf \ build-essential \ - curl\ - file \ - libasound2-dev \ - libcups2-dev \ - libfontconfig1-dev \ - libx11-dev \ - libxext-dev \ - libxrandr-dev \ - libxrender-dev \ - libxt-dev \ - libxtst-dev \ + curl \ make \ + openjdk-${LANG_VER}-jdk \ unzip \ zip @@ -27,26 +18,18 @@ WORKDIR /root RUN curl -o go.tar.gz https://dl.google.com/go/go1.12.6.linux-amd64.tar.gz RUN tar -zxf go.tar.gz -# Use curl instead of ADD to prevent redownload every time. -RUN curl -o jdk.tar.gz http://hg.openjdk.java.net/jdk-updates/jdk${LANG_VER}/archive/${LANG_HASH}.tar.gz -# Download Java version N-1 to be used as the Boot JDK to build Java version N. -RUN curl -o bootjdk.tar.gz https://download.java.net/openjdk/jdk10/ri/openjdk-10+44_linux-x64_bin_ri.tar.gz - -RUN tar -zxf jdk.tar.gz -RUN tar -zxf bootjdk.tar.gz - -# Specify the JDK to be used by jtreg. -ENV JT_JAVA=/root/jdk${LANG_VER}-${LANG_HASH}/build/linux-x86_64-normal-server-release/jdk -ENV LANG_DIR=/root/jdk${LANG_VER}-${LANG_HASH} - -WORKDIR ${LANG_DIR} +# Download the JDK test library. +RUN set -ex \ + && curl -fsSL --retry 10 -o /tmp/jdktests.tar.gz http://hg.openjdk.java.net/jdk/jdk${LANG_VER}/archive/${LANG_HASH}.tar.gz/test \ + && tar -xzf /tmp/jdktests.tar.gz -C /root \ + && rm -f /tmp/jdktests.tar.gz RUN curl -o jtreg.tar.gz https://ci.adoptopenjdk.net/view/Dependencies/job/jtreg/lastSuccessfulBuild/artifact/jtreg-4.2.0-tip.tar.gz RUN tar -xzf jtreg.tar.gz -RUN bash configure --with-boot-jdk=/root/jdk-10 --with-jtreg=${LANG_DIR}/jtreg -RUN make clean -RUN make images -COPY proctor-java.go ${LANG_DIR} +ENV LANG_DIR=/root + +COPY common /root/go/src/gvisor.dev/gvisor/test/runtimes/common/common +COPY java/proctor-java.go ${LANG_DIR} ENTRYPOINT ["/root/go/bin/go", "run", "proctor-java.go"] |