FROM registry.redhat.io/ubi9/go-toolset:1.24 AS builder

# 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
# End Konflux-specific steps
ENV __doozer=update BUILD_RELEASE=202604201807.p2.gb0c783a.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.gb0c783a.assembly.stream.el9 SOURCE_GIT_TREE_STATE=clean __doozer_group=mta-8.1 __doozer_key=mta-java-external-provider __doozer_uuid_tag=mta-java-external-provider-rhel9-8.1.1-20260420.180740 __doozer_version=8.1.1 
ENV __doozer=merge OS_GIT_COMMIT=b0c783a OS_GIT_VERSION=8.1.1-202604201807.p2.gb0c783a.assembly.stream.el9-b0c783a SOURCE_DATE_EPOCH=1775237936 SOURCE_GIT_COMMIT=b0c783ad24678a5d3c9c7a3e94163a80cd40af63 SOURCE_GIT_TAG=b0c783a SOURCE_GIT_URL=https://github.com/migtools/mta-analyzer-lsp 
COPY --chown=1001:0 . /workspace

WORKDIR /workspace/external-providers/java-external-provider
ENV GOEXPERIMENT strictfipsruntime
RUN go mod edit -replace=github.com/konveyor/analyzer-lsp=../../ && CGO_ENABLED=1 go build -tags strictfipsruntime -a -o java-external-provider main.go

FROM quay.io/redhat-user-workloads/ocp-art-tenant/art-images:mta-jdtls-server-base-rhel9-8.1.1-20260420.180740

# 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
# End Konflux-specific steps
ENV __doozer=update BUILD_RELEASE=202604201807.p2.gb0c783a.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.gb0c783a.assembly.stream.el9 SOURCE_GIT_TREE_STATE=clean __doozer_group=mta-8.1 __doozer_key=mta-java-external-provider __doozer_uuid_tag=mta-java-external-provider-rhel9-8.1.1-20260420.180740 __doozer_version=8.1.1 
ENV __doozer=merge OS_GIT_COMMIT=b0c783a OS_GIT_VERSION=8.1.1-202604201807.p2.gb0c783a.assembly.stream.el9-b0c783a SOURCE_DATE_EPOCH=1775237936 SOURCE_GIT_COMMIT=b0c783ad24678a5d3c9c7a3e94163a80cd40af63 SOURCE_GIT_TAG=b0c783a SOURCE_GIT_URL=https://github.com/migtools/mta-analyzer-lsp 

WORKDIR /addon
RUN chgrp -R 0 /addon && chmod -R g=u /addon
USER 1001

COPY --from=builder /workspace/external-providers/java-external-provider/java-external-provider /usr/local/bin/java-external-provider
COPY --from=builder /workspace/LICENSE /licenses/

ENV HOME /addon
EXPOSE 14651
ENTRYPOINT ["java-external-provider", "--port", "14651"]

LABEL \
        description="Migration Toolkit for Applications - Java External Provider" \
        io.k8s.description="Migration Toolkit for Applications - Java External Provider" \
        io.k8s.display-name="MTA - Java External Provider" \
        io.openshift.maintainer.project="MTA" \
        io.openshift.tags="migration,modernization,mta,tackle,konveyor" \
        summary="Migration Toolkit for Applications - Java External Provider" \
        name="mta/mta-java-external-provider-rhel9" \
        vendor="Red Hat, Inc." \
        cpe="cpe:/a:redhat:migration_toolkit_applications:8.1::el9" \
        com.redhat.component="mta-java-external-provider-container" \
        io.openshift.maintainer.component="Application Analysis" \
        version="8.1.1" \
        release="202604201807.p2.gb0c783a.assembly.stream.el9" \
        io.openshift.build.commit.id="b0c783ad24678a5d3c9c7a3e94163a80cd40af63" \
        io.openshift.build.source-location="https://github.com/migtools/mta-analyzer-lsp" \
        io.openshift.build.commit.url="https://github.com/migtools/mta-analyzer-lsp/commit/b0c783ad24678a5d3c9c7a3e94163a80cd40af63"

