# 1. Этап сборки (Build stage)
FROM eclipse-temurin:17-jdk-jammy AS build

# Устанавливаем Node.js и npm для сборки Angular
RUN apt-get update && apt-get install -y curl \
    && curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \
    && apt-get install -y nodejs \
    && apt-get clean

WORKDIR /app

# Сначала копируем только обертку Gradle для кэширования слоев
COPY gradlew .
COPY gradle gradle
RUN chmod +x gradlew

# Копируем всё остальное
COPY . .

# Запускаем твою главную "педаль" сборки
RUN ./gradlew copyAngularBuild_prod bootJar -x test

# 2. Финальный образ (Runtime stage)
FROM eclipse-temurin:17-jre-jammy
WORKDIR /app

# Копируем только собранный jar-файл
COPY --from=build /app/build/libs/*.jar app.jar

EXPOSE 8080

# Используем профиль prod для подхвата настроек базы
ENTRYPOINT ["java", "-jar", "-Dspring.profiles.active=prod", "app.jar"]