feat: move codegen out of docker builder

This commit is contained in:
Finn Linck Ryan 2025-12-13 23:33:17 +01:00
parent e798f36851
commit 51cea5d0fe
4 changed files with 10 additions and 17 deletions

View file

@ -67,10 +67,6 @@ jobs:
with: with:
context: . context: .
push: true push: true
build-args: |
DB_URL=jdbc:postgresql://localhost:5432/homepage
DB_USERNAME=postgres
DB_PASSWORD=postgres
tags: ${{ steps.meta.outputs.tags }} tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }} labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha cache-from: type=gha

4
.gitignore vendored
View file

@ -38,6 +38,10 @@ replay_pid*
**/build/ **/build/
!**/src/**/build/ !**/src/**/build/
# Allow generated code fragments for Docker builds
!build/generated-src/
!build/generated-resources/
# Ignore Gradle GUI config # Ignore Gradle GUI config
gradle-app.setting gradle-app.setting

View file

@ -1,13 +1,6 @@
# --- Stage 1: Build the JAR --- # --- Stage 1: Build the JAR ---
FROM gradle:9.2.1-jdk21 AS build FROM gradle:9.2.1-jdk21 AS build
ARG DB_URL
ARG DB_USERNAME
ARG DB_PASSWORD
ENV DB_URL=${DB_URL}
ENV DB_USERNAME=${DB_USERNAME}
ENV DB_PASSWORD=${DB_PASSWORD}
# Set working dir # Set working dir
WORKDIR /app WORKDIR /app
@ -18,8 +11,12 @@ COPY --chown=gradle:gradle gradle ./gradle
# Copy source code # Copy source code
COPY --chown=gradle:gradle src ./src COPY --chown=gradle:gradle src ./src
# Build the fat jar # Copy pre-generated code fragments
RUN ./gradlew clean build --no-daemon COPY --chown=gradle:gradle build/generated-src ./build/generated-src
COPY --chown=gradle:gradle build/generated-resources ./build/generated-resources
# Build the fat jar without cleaning (preserves generated code)
RUN ./gradlew build -x clean -x cleanGenerated -x jooqCodegen -x flywayMigrate -x precompileJte --no-daemon
# --- Stage 2: Run the app --- # --- Stage 2: Run the app ---
FROM eclipse-temurin:21-jdk-alpine FROM eclipse-temurin:21-jdk-alpine

View file

@ -296,7 +296,3 @@ tasks.register("cleanGenerated") {
logger.lifecycle("✓ Cleaned generated code directories") logger.lifecycle("✓ Cleaned generated code directories")
} }
} }
tasks.named("clean") {
dependsOn("cleanGenerated")
}