# syntax=docker/dockerfile:1.7
ARG SERVICE_MODULE=tenant-service

FROM --platform=linux/amd64 maven:3.9.9-eclipse-temurin-21 AS build
ARG SERVICE_MODULE
WORKDIR /workspace

COPY pom.xml ./pom.xml
COPY maven-settings.xml ./maven-settings.xml
COPY common ./common
COPY im-sdk ./im-sdk
COPY tenant-service ./tenant-service
COPY im-service ./im-service
COPY push-service ./push-service
COPY update-service ./update-service
COPY demo-service ./demo-service
COPY file-service ./file-service

RUN --mount=type=cache,target=/root/.m2,sharing=locked \
    mvn -U -s /workspace/maven-settings.xml -pl ${SERVICE_MODULE} -am -DskipTests package

FROM --platform=linux/amd64 eclipse-temurin:21-jre-jammy
WORKDIR /app
ARG SERVICE_MODULE

COPY --from=build /workspace/${SERVICE_MODULE}/target/${SERVICE_MODULE}-0.1.0-SNAPSHOT.jar /app/app.jar

ENTRYPOINT ["java", "-jar", "/app/app.jar"]
