From 9f2f2db91c2ede894a86d4d5af21b1705dc4d3c3 Mon Sep 17 00:00:00 2001 From: Misty Stanley-Jones Date: Tue, 24 Oct 2017 14:50:23 -0500 Subject: [PATCH] HBASE-19054 switch precommit image to one from maven Amending Author: Mike Drob Signed-off-by: Sean Busbey --- dev-support/docker/Dockerfile | 143 ++++------------------------------ 1 file changed, 15 insertions(+), 128 deletions(-) diff --git a/dev-support/docker/Dockerfile b/dev-support/docker/Dockerfile index da5f32e4f8f..49ad14dc6a2 100644 --- a/dev-support/docker/Dockerfile +++ b/dev-support/docker/Dockerfile @@ -1,4 +1,3 @@ - # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information @@ -18,142 +17,30 @@ # Dockerfile for installing the necessary dependencies for building Hadoop. # See BUILDING.txt. +FROM maven:3.5-jdk-8 -FROM ubuntu:trusty - -WORKDIR /root - -ENV DEBIAN_FRONTEND noninteractive -ENV DEBCONF_TERSE true - -###### -# Install common dependencies from packages -# -# WARNING: DO NOT PUT JAVA APPS HERE! Otherwise they will install default -# Ubuntu Java. See Java section below! -###### RUN apt-get -q update && apt-get -q install --no-install-recommends -y \ - build-essential \ - bzip2 \ - cmake \ - curl \ - doxygen \ - fuse \ - g++ \ - gcc \ - git \ - gnupg-agent \ - make \ - libbz2-dev \ - libcurl4-openssl-dev \ - libfuse-dev \ - libperl-critic-perl \ - libprotobuf-dev \ - libprotoc-dev \ - libsnappy-dev \ - libssl-dev \ - libtool \ - pinentry-curses \ - pkg-config \ - protobuf-compiler \ - protobuf-c-compiler \ - python \ - python2.7 \ - python-pip \ - rsync \ - snappy \ - zlib1g-dev \ - wget + bats \ + findbugs \ + libperl-critic-perl \ + pylint \ + python-dateutil \ + rsync \ + ruby \ + shellcheck \ + wget \ + && \ + gem install rake rubocop ruby-lint -####### -# OpenJDK 8 -####### - -RUN echo "dot_style = mega" > "/root/.wgetrc" -RUN echo "quiet = on" >> "/root/.wgetrc" - -RUN apt-get -q update && apt-get -q install --no-install-recommends -y software-properties-common -RUN add-apt-repository -y ppa:openjdk-r/ppa -RUN apt-get -q update -RUN apt-get -q install --no-install-recommends -y openjdk-8-jdk -RUN update-alternatives --config java -RUN update-alternatives --config javac - -#### -# Apps that require Java -### -RUN apt-get -q update && apt-get -q install --no-install-recommends -y \ - ant \ - maven - -# Fixing the Apache commons / Maven dependency problem under Ubuntu: -# See http://wiki.apache.org/commons/VfsProblems -RUN cd /usr/share/maven/lib && ln -s ../../java/commons-lang3-3.6.jar . - -###### -# Install findbugs -###### -RUN mkdir -p /opt/findbugs && \ - curl -L -s -S \ - https://sourceforge.net/projects/findbugs/files/findbugs/3.0.1/findbugs-noUpdateChecks-3.0.1.tar.gz/download \ - -o /opt/findbugs.tar.gz && \ - tar xzf /opt/findbugs.tar.gz --strip-components 1 -C /opt/findbugs -ENV FINDBUGS_HOME /opt/findbugs - -#### -# Install shellcheck -#### -RUN apt-get -q install -y cabal-install -RUN mkdir /root/.cabal -RUN echo "remote-repo: hackage.fpcomplete.com:http://hackage.fpcomplete.com/" >> /root/.cabal/config -#RUN echo "remote-repo: hackage.haskell.org:http://hackage.haskell.org/" > /root/.cabal/config -RUN echo "remote-repo-cache: /root/.cabal/packages" >> /root/.cabal/config -RUN cabal update -RUN cabal install shellcheck --global - -#### -# Install bats -#### -RUN add-apt-repository -y ppa:duggan/bats -RUN apt-get -q update -RUN apt-get -q install --no-install-recommends -y bats - -#### -# Install pylint -#### -RUN pip install pylint - -#### -# Install dateutil.parser -#### -RUN pip install python-dateutil - -#### -# Install Ruby 2, based on Yetus 0.4.0 dockerfile -### -RUN echo 'gem: --no-rdoc --no-ri' >> /root/.gemrc -RUN apt-add-repository ppa:brightbox/ruby-ng -RUN apt-get -q update - -RUN apt-get -q install --no-install-recommends -y ruby2.2 ruby-switch -RUN ruby-switch --set ruby2.2 - -#### -# Install rubocop -### -RUN gem install rake -RUN gem install rubocop - -#### -# Install ruby-lint -### -RUN gem install ruby-lint +ENV FINDBUGS_HOME /usr ### # Avoid out of memory errors in builds ### ENV MAVEN_OPTS -Xmx3g +CMD /bin/bash + ### # Everything past this point is either not needed for testing or breaks Yetus. # So tell Yetus not to read the rest of the file: