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,9 +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 \
4950 clang \
51+ cmake \
5052 curl \
5153 doxygen \
5254 fuse \
@@ -62,6 +64,7 @@ RUN apt-get -q update \
6264 libsasl2-dev \
6365 libsnappy-dev \
6466 libssl-dev \
67+ libsnappy-dev \
6568 libtool \
6669 libzstd1-dev \
6770 locales \
@@ -75,8 +78,8 @@ RUN apt-get -q update \
7578 python-setuptools \
7679 python-wheel \
7780 rsync \
81+ shellcheck \
7882 software-properties-common \
79- snappy \
8083 sudo \
8184 valgrind \
8285 zlib1g-dev \
@@ -93,20 +96,8 @@ RUN apt-get -q update \
9396 && apt-get clean \
9497 && rm -rf /var/lib/apt/lists/*
9598
96-
97- # #####
98- # Install cmake 3.1.0 (3.5.1 ships with Xenial)
99- # #####
100- RUN mkdir -p /opt/cmake \
101- && curl -L -s -S \
102- https://cmake.org/files/v3.1/cmake-3.1.0-Linux-x86_64.tar.gz \
103- -o /opt/cmake.tar.gz \
104- && tar xzf /opt/cmake.tar.gz --strip-components 1 -C /opt/cmake
105- ENV CMAKE_HOME /opt/cmake
106- ENV PATH "${PATH}:/opt/cmake/bin"
107-
10899# #####
109- # Install Google Protobuf 3.7.1 (2.6 .0 ships with Xenial )
100+ # Install Google Protobuf 3.7.1 (3.0 .0 ships with Bionic )
110101# #####
111102# hadolint ignore=DL3003
112103RUN mkdir -p /opt/protobuf-src \
@@ -123,17 +114,19 @@ ENV PROTOBUF_HOME /opt/protobuf
123114ENV PATH "${PATH}:/opt/protobuf/bin"
124115
125116# #####
126- # Install Apache Maven 3.3.9 (3.3.9 ships with Xenial )
117+ # Install Apache Maven 3.6.0 (3.6.0 ships with Bionic )
127118# #####
128119# hadolint ignore=DL3008
129120RUN apt-get -q update \
130121 && apt-get -q install -y --no-install-recommends maven \
131122 && apt-get clean \
132123 && rm -rf /var/lib/apt/lists/*
133124ENV MAVEN_HOME /usr
125+ # JAVA_HOME must be set in Maven >= 3.5.0 (MNG-6003)
126+ ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64
134127
135128# #####
136- # Install findbugs 3.0.1 (3.0.1 ships with Xenial )
129+ # Install findbugs 3.1.0 (3.1.0 ships with Bionic )
137130# Ant is needed for findbugs
138131# #####
139132# hadolint ignore=DL3008
@@ -143,25 +136,6 @@ RUN apt-get -q update \
143136 && rm -rf /var/lib/apt/lists/*
144137ENV FINDBUGS_HOME /usr
145138
146- # ###
147- # Install shellcheck (0.4.6, the latest as of 2017-09-26)
148- # ###
149- # hadolint ignore=DL3008
150- RUN add-apt-repository -y ppa:hvr/ghc \
151- && apt-get -q update \
152- && apt-get -q install -y --no-install-recommends shellcheck ghc-8.0.2 \
153- && apt-get clean \
154- && rm -rf /var/lib/apt/lists/*
155-
156- # ###
157- # Install bats (0.4.0, the latest as of 2017-09-26, ships with Xenial)
158- # ###
159- # hadolint ignore=DL3008
160- RUN apt-get -q update \
161- && apt-get -q install -y --no-install-recommends bats \
162- && apt-get clean \
163- && rm -rf /var/lib/apt/lists/*
164-
165139# ###
166140# Install pylint at fixed version (2.0.0 removed python2 support)
167141# https://github.com/PyCQA/pylint/issues/2294
0 commit comments