# 빌드 컨텍스트: 저장소 루트 (전체 멀티모듈을 함께 포함해야 하므로)
# docker build -f devjob-statistics/Dockerfile -t devjob-statistics .
# ── 1단계: 빌드 (Gradle 공식 이미지 — 배포판 내장, 다운로드 없음) ──
FROM gradle:9.1.0-jdk21-alpine AS build
COPY --chown=gradle:gradle . /home/gradle/src
WORKDIR /home/gradle/src
RUN gradle :devjob-statistics:bootJar -x test --no-daemon

# ── 2단계: 실행 (가벼운 JRE) ──
# Kafka Streams의 상태 저장소(RocksDB) 네이티브 라이브러리는 glibc가 필요하다.
# Alpine(musl)에서는 로드에 실패하므로, 이 모듈만 glibc 기반 이미지를 쓴다.
FROM eclipse-temurin:21-jre
WORKDIR /app
COPY --from=build /home/gradle/src/devjob-statistics/build/libs/*.jar app.jar
ENTRYPOINT ["java", "-jar", "app.jar"]
