PIG-5343: Upgrade developer build environment (nielsbasjes via szita)

git-svn-id: https://svn.apache.org/repos/asf/pig/trunk@1840299 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/BUILDING.md b/BUILDING.md
index a3ee000..8bf51db 100644
--- a/BUILDING.md
+++ b/BUILDING.md
@@ -3,7 +3,7 @@
 ## Requirements:
 
 * Unix System
-* JDK 1.7+
+* JDK 1.8+
 * Ant 1.8.1+
 * Findbugs 3.x+
 * Forrest 0.9 (for building the documentation)
diff --git a/CHANGES.txt b/CHANGES.txt
index c56859a..7f28168 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -26,6 +26,8 @@
  
 IMPROVEMENTS
 
+PIG-5343: Upgrade developer build environment (nielsbasjes via szita)
+
 PIG-5191: Pig HBase 2.0.0 support (nkollar via szita, reviewed by rohini)
 
 PIG-5344: Update Apache HTTPD LogParser to latest version (nielsbasjes via szita)
diff --git a/build.xml b/build.xml
index 34697ee..c65b81c 100644
--- a/build.xml
+++ b/build.xml
@@ -952,7 +952,7 @@
             <sysproperty key="ivy.lib.dir" value="${ivy.lib.dir}" />
             <sysproperty key="java.io.tmpdir" value="${junit.tmp.dir}" />
             <sysproperty key="hadoop.log.dir" value="${test.log.dir}"/>
-            <jvmarg line="-XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=128M ${debugArgs} -Djava.library.path=${hadoop.root}\bin"/>
+            <jvmarg line="-XX:+CMSClassUnloadingEnabled ${debugArgs} -Djava.library.path=${hadoop.root}\bin"/>
             <sysproperty key="java.security.krb5.realm" value="" />
             <sysproperty key="java.security.krb5.kdc" value="" />
             <sysproperty key="log4j.configuration" value="file:${basedir}/conf/test-log4j.properties"/>
diff --git a/dev-support/docker/Dockerfile b/dev-support/docker/Dockerfile
index 3f9bbe3..7f5e600 100644
--- a/dev-support/docker/Dockerfile
+++ b/dev-support/docker/Dockerfile
@@ -17,7 +17,7 @@
 # Dockerfile for installing the necessary dependencies for building Apache Pig.
 # See BUILDING.md.
 
-FROM ubuntu:trusty
+FROM ubuntu:bionic
 
 # Define working directory.
 WORKDIR /root
@@ -29,16 +29,17 @@
     apt-get install -y build-essential && \
     apt-get install -y software-properties-common && \
     apt-get install --no-install-recommends -y \
+            sudo \
             git subversion \
             byobu htop man unzip vim \
             cabal-install \
             curl wget \
-            openjdk-7-jdk \
+            openjdk-8-jdk \
             ant ant-contrib ant-optional make maven \
             cmake gcc g++ protobuf-compiler \
             build-essential libtool \
             zlib1g-dev pkg-config libssl-dev \
-            snappy libsnappy-dev \
+            ubuntu-snappy ubuntu-snappy-cli libsnappy-dev \
             bzip2 libbz2-dev \
             libjansson-dev \
             fuse libfuse-dev \
@@ -47,11 +48,7 @@
     rm -rf /var/lib/apt/lists/*
 
 # Define commonly used JAVA_HOME variable
-ENV JAVA_HOME /usr/lib/jvm/java-7-openjdk-amd64
-
-# 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-lang.jar .
+ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64
 
 # Avoid out of memory errors in builds
 ENV MAVEN_OPTS -Xms256m -Xmx512m
@@ -64,12 +61,9 @@
 ENV FINDBUGS_HOME /opt/findbugs
 
 # Install Forrest in /usr/local/apache-forrest
-# Screenscrape the download page for a local mirror URL
-RUN cd /usr/local/ && \
-    curl https://forrest.apache.org/mirrors.cgi | \
-    fgrep href | fgrep apache-forrest-0.9 | \
-    sed 's@^.*"\(http[^"]*apache-forrest-[^"]*.tar.gz\)".*@\1@' | \
-    xargs -n1 -r wget
+# Download
+RUN cd /usr/local/ && wget "http://www.apache.org/dyn/closer.lua?action=download&filename=/forrest/apache-forrest-0.9-sources.tar.gz"      -O "apache-forrest-0.9-sources.tar.gz"
+RUN cd /usr/local/ && wget "http://www.apache.org/dyn/closer.lua?action=download&filename=/forrest/apache-forrest-0.9-dependencies.tar.gz" -O "apache-forrest-0.9-dependencies.tar.gz"
 
 # Unpack Apache Forrest
 RUN cd /usr/local/ && \