# Используем образ с JDK и Node.js, так как Gradle будет вызывать npm
FROM eclipse-temurin:17-jdk-jammy AS build

# Установка Node.js (нужен для твоих задач buildAngular_prod)
RUN apt-get update && apt-get install -y curl && \
    curl -sL https://deb.nodesource.com/setup_18.x | bash - && \
    apt-get install -y nodejs

WORKDIR /app
# 1. Сначала копируем файлы обертки Gradle
COPY gradlew .
COPY gradle gradle

# 2. Даем права на исполнение
RUN chmod +x gradlew

# 3. Копируем исходники (включая Angular и Java части)
COPY . .

# КРИТИЧЕСКИ ВАЖНО: принудительно даем права на выполнение
RUN chmod +x gradlew

# Теперь запускаем сборку - теперь ошибки 126 (Permission denied) не будет
RUN ./gradlew copyAngularBuild_prod bootJar -x test
# 4. Теперь твоя "педаль" сработает
RUN ./gradlew copyAngularBuild_prod bootJar -x test

# Финальный легковесный образ
FROM eclipse-temurin:17-jre-jammy
WORKDIR /app
COPY --from=build /app/build/libs/*.jar app.jar

EXPOSE 8080
ENTRYPOINT ["java", "-jar", "-Dspring.profiles.active=production", "app.jar"]