# Create a Docker image that is ready to run the main Checker Framework tests,
# using JDK 8.

# "ubuntu" is the latest LTS release.  "ubuntu:rolling" is the latest release.
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

RUN export DEBIAN_FRONTEND=noninteractive \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
