FROM registry.redhat.io/ubi9/ubi:latest AS artifacts

# Start Konflux-specific steps
ENV ART_BUILD_ENGINE=konflux
ENV ART_BUILD_DEPS_METHOD=cachi2
ENV ART_BUILD_NETWORK=hermetic
RUN go clean -cache || true
ENV ART_BUILD_DEPS_MODE=default
USER 0
RUN dnf module enable -y maven:3.9
# End Konflux-specific steps
ENV __doozer=update BUILD_RELEASE=202604201807.p2.g8da9a4f.assembly.stream.el9 BUILD_VERSION=8.1.1 OS_GIT_MAJOR=8 OS_GIT_MINOR=1 OS_GIT_PATCH=1 OS_GIT_TREE_STATE=clean OS_GIT_VERSION=8.1.1-202604201807.p2.g8da9a4f.assembly.stream.el9 SOURCE_GIT_TREE_STATE=clean __doozer_group=mta-8.1 __doozer_key=mta-jdtls-server-base __doozer_uuid_tag=mta-jdtls-server-base-rhel9-8.1.1-20260420.180740 __doozer_version=8.1.1 
ENV __doozer=merge OS_GIT_COMMIT=8da9a4f OS_GIT_VERSION=8.1.1-202604201807.p2.g8da9a4f.assembly.stream.el9-8da9a4f SOURCE_DATE_EPOCH=1775237932 SOURCE_GIT_COMMIT=8da9a4f8b5803c4d0411a392678806e7d5609d17 SOURCE_GIT_TAG=v0.8.1-alpha.2-32-g8da9a4f SOURCE_GIT_URL=https://github.com/migtools/mta-java-analyzer-bundle 
RUN dnf -y install tar unzip gzip && dnf -y clean all
COPY --chown=1001:0 . /workspace

RUN cp /cachi2/output/deps/generic/fernflower.jar /opt/fernflower.jar
RUN cp /cachi2/output/deps/generic/java-analyzer-bundle.core.jar /opt/java-analyzer-bundle.core.jar

WORKDIR /maven-index-data
RUN cp /cachi2/output/deps/generic/maven-index-data.zip /maven-index-data/maven-index-data.zip
RUN unzip maven-index-data.zip && rm -rf maven-index-data.zip

WORKDIR /jdtls
RUN cp /cachi2/output/deps/generic/jdtls-product.tar.gz /jdtls/jdtls-product.tar.gz
RUN tar -xvf jdtls-product.tar.gz --no-same-owner && chmod 755 /jdtls/bin/jdtls && rm -rf jdtls-product.tar.gz
RUN cp /workspace/jdtls-bin-override/jdtls.py /jdtls/bin/jdtls.py

FROM registry.redhat.io/ubi9/ubi:latest

# Start Konflux-specific steps
ENV ART_BUILD_ENGINE=konflux
ENV ART_BUILD_DEPS_METHOD=cachi2
ENV ART_BUILD_NETWORK=hermetic
RUN go clean -cache || true
ENV ART_BUILD_DEPS_MODE=default
USER 0
RUN dnf module enable -y maven:3.9
# End Konflux-specific steps
ENV __doozer=update BUILD_RELEASE=202604201807.p2.g8da9a4f.assembly.stream.el9 BUILD_VERSION=8.1.1 OS_GIT_MAJOR=8 OS_GIT_MINOR=1 OS_GIT_PATCH=1 OS_GIT_TREE_STATE=clean OS_GIT_VERSION=8.1.1-202604201807.p2.g8da9a4f.assembly.stream.el9 SOURCE_GIT_TREE_STATE=clean __doozer_group=mta-8.1 __doozer_key=mta-jdtls-server-base __doozer_uuid_tag=mta-jdtls-server-base-rhel9-8.1.1-20260420.180740 __doozer_version=8.1.1 
ENV __doozer=merge OS_GIT_COMMIT=8da9a4f OS_GIT_VERSION=8.1.1-202604201807.p2.g8da9a4f.assembly.stream.el9-8da9a4f SOURCE_DATE_EPOCH=1775237932 SOURCE_GIT_COMMIT=8da9a4f8b5803c4d0411a392678806e7d5609d17 SOURCE_GIT_TAG=v0.8.1-alpha.2-32-g8da9a4f SOURCE_GIT_URL=https://github.com/migtools/mta-java-analyzer-bundle 
RUN dnf module list
RUN dnf -y install openssl python39 java-1.8.0-openjdk-devel java-21-openjdk-devel maven-openjdk21 tar gzip --nodocs --setopt=install_weak_deps=0 && dnf -y clean all
ENV JAVA_HOME /usr/lib/jvm/java-21-openjdk
ENV JAVA8_HOME /usr/lib/jvm/java-1.8.0-openjdk
RUN mvn --version

RUN mkdir /root/.gradle
COPY --from=artifacts /workspace/gradle/build.gradle /usr/local/etc/task.gradle
COPY --from=artifacts /workspace/gradle/build-v9.gradle /usr/local/etc/task-v9.gradle

COPY --from=artifacts /workspace/hack/maven.default.index /usr/local/etc/maven.default.index
COPY --from=artifacts /maven-index-data/central.archive-metadata.txt /usr/local/etc/maven-index.txt

COPY --from=artifacts /jdtls /jdtls/
COPY --from=artifacts /opt/java-analyzer-bundle.core.jar /jdtls/java-analyzer-bundle/java-analyzer-bundle.core/target/
COPY --from=artifacts /opt/fernflower.jar /bin/fernflower.jar
#COPY --from=artifacts /workspace/jdtls-bin-override/jdtls.py /jdtls/bin/jdtls.py
COPY --from=artifacts /workspace/LICENSE /licenses/

RUN ln -sf /root/.m2 /.m2 && chgrp -R 0 /root && chmod -R g=u /root

ENTRYPOINT ["/jdtls/bin/jdtls"]

LABEL \
        description="Migration Toolkit for Applications - JDTLS Server" \
        io.k8s.description="Migration Toolkit for Applications - JDTLS Server" \
        io.k8s.display-name="MTA - JDTLS Server" \
        io.openshift.maintainer.project="MTA" \
        io.openshift.tags="migration,modernization,mta,tackle,konveyor" \
        summary="Migration Toolkit for Applications - JDTLS Server" \
        name="mta/mta-jdtls-server-base-rhel9" \
        vendor="Red Hat, Inc." \
        cpe="cpe:/a:redhat:migration_toolkit_applications:8.1::el9" \
        com.redhat.component="mta-jdtls-server-base-container" \
        io.openshift.maintainer.component="JDTLS Server" \
        version="8.1.1" \
        release="202604201807.p2.g8da9a4f.assembly.stream.el9" \
        io.openshift.build.commit.id="8da9a4f8b5803c4d0411a392678806e7d5609d17" \
        io.openshift.build.source-location="https://github.com/migtools/mta-java-analyzer-bundle" \
        io.openshift.build.commit.url="https://github.com/migtools/mta-java-analyzer-bundle/commit/8da9a4f8b5803c4d0411a392678806e7d5609d17"

