# 1. Этап сборки
FROM eclipse-temurin:26-jdk-alpine AS build

WORKDIR /app

# Устанавливаем Node.js и npm
RUN apk add --no-cache nodejs npm curl bash

# Копируем весь проект (включая папку spring-angular-ui)
COPY . .

# Даем права на выполнение Gradle Wrapper
RUN chmod +x gradlew

# Запускаем сборку Angular и упаковку Spring Boot
RUN ./gradlew copyAngularBuild -x test --no-daemon
RUN ./gradlew bootJar -x test --no-daemon

# 2. Финальный образ
FROM eclipse-temurin:26-jre-alpine

WORKDIR /app

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

EXPOSE 8080

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