# --- Build Stage ---
FROM maven:3.9-eclipse-temurin-21 AS build
WORKDIR /productdefinitions

# 1. Abhängigkeiten (External Lib) klonen und installieren
RUN git clone -b feature/Produkte --single-branch https://bitbucket.org/omds/omdsservicedefinitions.git /tmp/lib \
    && cd /tmp/lib/OMDSServiceDefinition \
    && mvn clean install -DskipTests

# 2. Projekt-Struktur kopieren
# Zuerst nur die poms, um den Cache besser zu nutzen (optional, aber empfohlen)
COPY pom.xml .
COPY server-app/pom.xml server-app/
# (Andere Modul-poms hier auch kopieren, falls vorhanden)

# 3. Den Rest kopieren
COPY . .

# 4. Bauen: Wir installieren das Root-Projekt und bauen dann gezielt das Modul
RUN mvn clean install -DskipTests -pl server-app -am

# --- Run Stage ---
FROM eclipse-temurin:21-jre-alpine
WORKDIR /app

# Hier liegt der Trick: Wir kopieren gezielt die Datei, 
# die NICHT ".original" im Namen hat, oder nutzen einen präzisen Namen.
# Da 'mvn install' im Modul-Ordner das JAR erzeugt:
COPY --from=build /productdefinitions/server-app/target/server-app-*.jar app.jar

# Debug-Schritt: Zeig uns im Log, ob die Datei da ist und wie groß sie ist
RUN ls -lh app.jar

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