Repository: hbase Updated Branches: refs/heads/HBASE-19054 [created] 93b402d3d
HBASE-19054 switch precommit image to one from maven Amending Author: Mike Drob <md...@apache.org> Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/93b402d3 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/93b402d3 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/93b402d3 Branch: refs/heads/HBASE-19054 Commit: 93b402d3dde2af9e52c0f044d4e1ed73698532a0 Parents: 5facade Author: Misty Stanley-Jones <mi...@apache.org> Authored: Thu Oct 19 16:13:17 2017 -0500 Committer: Mike Drob <md...@apache.org> Committed: Fri Oct 20 14:21:33 2017 -0500 ---------------------------------------------------------------------- dev-support/docker/Dockerfile | 141 ++++--------------------------------- 1 file changed, 14 insertions(+), 127 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/93b402d3/dev-support/docker/Dockerfile ---------------------------------------------------------------------- diff --git a/dev-support/docker/Dockerfile b/dev-support/docker/Dockerfile index c23c70d..717f911 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,141 +17,29 @@ # 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 - -####### -# 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 . + bats \ + findbugs \ + libperl-critic-perl \ + pylint \ + python-dateutil \ + ruby \ + shellcheck \ + wget \ + && \ + gem install rake rubocop ruby-lint -###### -# 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: