blob: ad09ab1c6573e3a176bed5bd7e81753bde97beec [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.
ARG RANGER_BASE_IMAGE
ARG RANGER_BASE_BUILD_VERSION
FROM ${RANGER_BASE_IMAGE}:${RANGER_BASE_BUILD_VERSION}
ARG TARGETARCH
# Install necessary packages to build Ranger
RUN if grep -i ubuntu /etc/os-release; then\
apt-get update && apt-get -y install --no-install-recommends git maven build-essential;\
fi
RUN if grep -i rhel /etc/os-release; then\
microdnf install -y git maven gcc;\
fi
# Set environment variables
ENV MAVEN_HOME=/usr/share/maven
ENV PATH=/usr/java/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/apache-maven/bin
# setup ranger group, and users
RUN mkdir -p /home/ranger/git /home/ranger/.m2 && \
chown -R ranger:ranger /home/ranger
COPY ./scripts/ranger-build.sh /home/ranger/scripts/
VOLUME /home/ranger/.m2
VOLUME /home/ranger/scripts
VOLUME /home/ranger/patches
VOLUME /home/ranger/dist
VOLUME /home/ranger/src
USER ranger
ENTRYPOINT [ "/home/ranger/scripts/ranger-build.sh" ]