summaryrefslogtreecommitdiffhomepage
path: root/test/runtimes/java/Dockerfile
blob: e162d7218c27ca30c93a5fa2a979770f0c992dba (plain)
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
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_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 \
  make \
  unzip \
  zip

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}

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}

ENTRYPOINT ["/root/go/bin/go", "run", "proctor-java.go"]