1818# Dockerfile for installing the necessary dependencies for building Hadoop.
1919# See BUILDING.txt.
2020
21- FROM ubuntu:xenial
21+ FROM ubuntu:bionic
2222
2323WORKDIR /root
2424
@@ -44,8 +44,11 @@ ENV DEBCONF_TERSE true
4444RUN apt-get -q update \
4545 && apt-get -q install -y --no-install-recommends \
4646 apt-utils \
47+ bats \
4748 build-essential \
4849 bzip2 \
50+ clang \
51+ cmake \
4952 curl \
5053 doxygen \
5154 fuse \
@@ -61,6 +64,7 @@ RUN apt-get -q update \
6164 libsasl2-dev \
6265 libsnappy-dev \
6366 libssl-dev \
67+ libsnappy-dev \
6468 libtool \
6569 libzstd1-dev \
6670 locales \
@@ -74,8 +78,8 @@ RUN apt-get -q update \
7478 python-setuptools \
7579 python-wheel \
7680 rsync \
81+ shellcheck \
7782 software-properties-common \
78- snappy \
7983 sudo \
8084 zlib1g-dev \
8185 && apt-get clean \
@@ -101,18 +105,7 @@ RUN curl -L -s -S https://cdn.azul.com/zulu/bin/zulu7.38.0.11-ca-jdk7.0.262-linu
101105 && rm -rf /var/lib/apt/lists/*
102106
103107# #####
104- # Install cmake 3.1.0 (3.5.1 ships with Xenial)
105- # #####
106- RUN mkdir -p /opt/cmake \
107- && curl -L -s -S \
108- https://cmake.org/files/v3.1/cmake-3.1.0-Linux-x86_64.tar.gz \
109- -o /opt/cmake.tar.gz \
110- && tar xzf /opt/cmake.tar.gz --strip-components 1 -C /opt/cmake
111- ENV CMAKE_HOME /opt/cmake
112- ENV PATH "${PATH}:/opt/cmake/bin"
113-
114- # #####
115- # Install Google Protobuf 2.5.0 (2.6.0 ships with Xenial)
108+ # Install Google Protobuf 2.5.0 (3.0.0 ships with Bionic)
116109# #####
117110# hadolint ignore=DL3003
118111RUN mkdir -p /opt/protobuf-src \
@@ -129,23 +122,16 @@ ENV PROTOBUF_HOME /opt/protobuf
129122ENV PATH "${PATH}:/opt/protobuf/bin"
130123
131124# #####
132- # Install Apache Maven 3.3.9 (3.3.9 ships with Xenial )
125+ # Install Apache Maven 3.6.0 (3.6.0 ships with Bionic )
133126# #####
134127# hadolint ignore=DL3008
135128RUN apt-get -q update \
136129 && apt-get -q install -y --no-install-recommends maven \
137130 && apt-get clean \
138131 && rm -rf /var/lib/apt/lists/*
139132ENV MAVEN_HOME /usr
140-
141- # #####
142- # Install Apache Ant 1.9.6 (1.9.6 ships with Xenial)
143- # #####
144- # hadolint ignore=DL3008
145- RUN apt-get -q update \
146- && apt-get -q install -y --no-install-recommends ant \
147- && apt-get clean \
148- && rm -rf /var/lib/apt/lists/*
133+ # JAVA_HOME must be set in Maven >= 3.5.0 (MNG-6003)
134+ ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64
149135
150136# ######
151137# Install SpotBugs 4.2.2
@@ -157,25 +143,6 @@ RUN mkdir -p /opt/spotbugs \
157143 && chmod +x /opt/spotbugs/bin/*
158144ENV SPOTBUGS_HOME /opt/spotbugs
159145
160- # ###
161- # Install shellcheck (0.4.6, the latest as of 2017-09-26)
162- # ###
163- # hadolint ignore=DL3008
164- RUN add-apt-repository -y ppa:hvr/ghc \
165- && apt-get -q update \
166- && apt-get -q install -y --no-install-recommends shellcheck ghc-8.0.2 \
167- && apt-get clean \
168- && rm -rf /var/lib/apt/lists/*
169-
170- # ###
171- # Install bats (0.4.0, the latest as of 2017-09-26, ships with Xenial)
172- # ###
173- # hadolint ignore=DL3008
174- RUN apt-get -q update \
175- && apt-get -q install -y --no-install-recommends bats \
176- && apt-get clean \
177- && rm -rf /var/lib/apt/lists/*
178-
179146# ###
180147# Install pylint at fixed version (2.0.0 removed python2 support)
181148# https://github.com/PyCQA/pylint/issues/2294
0 commit comments