# 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 apache/yetus:0.13.0

#####
# Update SpotBugs
#####
RUN rm -rf /opt/spotbugs \
    && curl -L https://github.com/spotbugs/spotbugs/releases/download/4.4.1/spotbugs-4.4.1.tgz --output spotbugs-4.4.1.tgz \
    && mkdir /opt/spotbugs \
    && tar -C /opt/spotbugs --strip-components 1 -xpf spotbugs-4.4.1.tgz \
    && chmod a+rx /opt/spotbugs/bin/* \
    && rm -rf ./spotbugs-4.4.1.tgz
ENV SPOTBUGS_HOME /opt/spotbugs
#####
# Enable spotbugs prefix for maven
#####
RUN sed -i -e 's/<\/pluginGroups>/<pluginGroup>com.github.spotbugs<\/pluginGroup><\/pluginGroups>/' /etc/maven/settings.xml
#####
# /run/user directory for gpg
#####
RUN mkdir -p /run/user/910/gnupg/ \
    && chmod -R 700 /run/user/910 \
    && chown -R 910:910 /run/user/910 \
    && mkdir -p /var/run/user/910/gnupg \
    && chown -R 910:910 /var/run/user/910 \
    && chmod -R 700 /var/run/user/910
#####
# Update Java 11 packages to the latest.
# We don't have to worry about avoiding the micro versions, because this runs with HBase 2.4,
# which has a fixed Jetty.
#####
RUN apt-get update \
    && apt-get -q install --no-install-recommends -y openjdk-11-jdk-headless openjdk-11-jre-headless openjdk-11-jre
#####
# Set default JDK to 11
#####
ENV JAVA_HOME /usr/lib/jvm/java-11-openjdk-amd64
