# ---- Stage 1: Build fat JAR ----
FROM eclipse-temurin:25-jdk AS builder

WORKDIR /app

# Copy dependency files first for better layer caching
COPY gradle/ gradle/
COPY gradlew build.gradle.kts settings.gradle.kts ./
RUN chmod +x gradlew
RUN ./gradlew dependencies --no-daemon --quiet || true

# Copy source and build fat JAR
COPY src/ src/
RUN ./gradlew buildFatJar --no-daemon

# ---- Stage 2: JRE runtime ----
FROM eclipse-temurin:25-jre

WORKDIR /app
COPY --from=builder /app/build/libs/idea-graveyard-service-all.jar app.jar

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