# Build context : racine du monorepo
#   docker build -f file-manager-ms/Dockerfile .

# ─── Étape 1 : build ───────────────────────────────────────
FROM maven:3.9-eclipse-temurin-17 AS build
WORKDIR /workspace

# Installer common-module dans le repo Maven local
COPY common-module/pom.xml common-module/pom.xml
COPY common-module/src     common-module/src
RUN mvn -f common-module/pom.xml clean install -DskipTests -q

# Résoudre les dépendances (optimise le cache Docker)
COPY file-manager-ms/pom.xml file-manager-ms/pom.xml
COPY file-manager-ms/sonar-project.properties file-manager-ms/sonar-project.properties
RUN mvn -f file-manager-ms/pom.xml dependency:go-offline -q

# Compiler
COPY file-manager-ms/src file-manager-ms/src
RUN mvn -f file-manager-ms/pom.xml clean package -DskipTests -q

# ─── Étape 2 : image finale ────────────────────────────────
FROM eclipse-temurin:17-jre-jammy
WORKDIR /app
COPY --from=build /workspace/file-manager-ms/target/*.jar app.jar
EXPOSE 8082
ENTRYPOINT ["java", "-jar", "app.jar"]
