FROM maven:3.9-eclipse-temurin-21-alpine AS builder

WORKDIR /app
COPY pom.xml ./pom.xml
COPY mci-shared ./mci-shared
COPY mci-channel-common ./mci-channel-common
COPY mci-server/pom.xml ./mci-server/pom.xml
COPY mci-server/src ./mci-server/src

RUN mvn -N install && \
    mvn -f mci-shared/pom.xml install -DskipTests && \
    mvn -f mci-channel-common/pom.xml install -DskipTests && \
    mvn -f mci-server/pom.xml package -DskipTests

FROM eclipse-temurin:21-jre-alpine

RUN apk add --no-cache curl

WORKDIR /app
COPY --from=builder /app/mci-server/target/*.jar app.jar

EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar"]
