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
|
# Create a Docker image that is ready to run the main Checker Framework tests,
# using JDK 8.
FROM ubuntu
MAINTAINER Michael Ernst <mernst@cs.washington.edu>
# According to
# https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/:
# * Put "apt-get update" and "apt-get install" and apt cleanup in the same RUN command.
# * Do not run "apt-get upgrade"; instead get upstream to update.
RUN export DEBIAN_FRONTEND=noninteractive \
&& apt-get -qqy update \
&& apt-get -qqy install \
openjdk-8-jdk \
&& update-java-alternatives --set java-1.8.0-openjdk-amd64
RUN export DEBIAN_FRONTEND=noninteractive \
&& apt-get -qqy update \
&& apt-get -qqy install \
ant \
cpp \
git \
gradle \
jq \
libcurl3-gnutls \
make \
maven \
mercurial \
python3-pip \
python3-requests \
unzip \
wget
# Ubuntu 18.04 has Maven 3.6.0, but 3.6.1 apparently has better retry
# behavior to work around network problems.
RUN export DEBIAN_FRONTEND=noninteractive \
&& VER=3.6.3 \
&& mkdir -p $HOME/bin/install \
&& cd $HOME/bin/install \
&& wget http://apache.mirrors.pair.com/maven/maven-3/${VER}/binaries/apache-maven-${VER}-bin.tar.gz \
&& tar xzf apache-maven-${VER}-bin.tar.gz \
&& (cd /usr/local/bin && ln -sf $HOME/bin/install/apache-maven-${VER}/bin/* .) \
&& hash -r
RUN export DEBIAN_FRONTEND=noninteractive \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
|