blob: 6b032034986b9164deae16b0d45052fac175d7ef [file] [log] [blame]
#
# 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 regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
FROM arrow:python-3.6
# installing java and maven
ARG MAVEN_VERSION=3.6.2
ENV JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 \
MAVEN_HOME=/usr/local/maven \
M2_HOME=/root/.m2 \
PATH=/root/.m2/bin:/usr/local/maven/bin:$PATH
RUN apt-get update -q -y && \
apt-get install -q -y --no-install-recommends openjdk-8-jdk && \
wget -q -O maven-$MAVEN_VERSION.tar.gz "https://www.apache.org/dyn/mirrors/mirrors.cgi?action=download&filename=maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz" && \
tar -zxf /maven-$MAVEN_VERSION.tar.gz && \
rm /maven-$MAVEN_VERSION.tar.gz && \
mv /apache-maven-$MAVEN_VERSION /usr/local/maven \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# installing specific version of spark
ARG SPARK_VERSION=master
RUN wget -q -O /tmp/spark.tar.gz https://github.com/apache/spark/archive/$SPARK_VERSION.tar.gz && \
mkdir /spark && \
tar -xzf /tmp/spark.tar.gz -C /spark --strip-components=1 && \
rm /tmp/spark.tar.gz
# patch spark to build with current Arrow Java
COPY integration/spark/ARROW-6429.patch /tmp/
RUN patch -d /spark -p1 -i /tmp/ARROW-6429.patch && \
rm /tmp/ARROW-6429.patch
# build cpp with tests
ENV CC=gcc \
CXX=g++ \
ARROW_PYTHON=ON \
ARROW_HDFS=ON \
ARROW_BUILD_TESTS=OFF
# build and test
CMD ["/bin/bash", "-c", "arrow/ci/docker_build_cpp.sh && \
arrow/ci/docker_build_python.sh && \
arrow/ci/docker_build_java.sh && \
arrow/integration/spark/runtest.sh"]