# Copyright 2026 Kingsrook, LLC # SPDX-License-Identifier: Apache-2.0 FROM maven:3.9.11-eclipse-temurin-21@sha256:6fdc855a6ed81d288ca7ca37ac6ff5e9308b612485c0801d70b25a858c83d237 AS build WORKDIR /source COPY pom.xml mvnw ./ COPY .mvn .mvn COPY checkstyle checkstyle COPY src src COPY dev/java dev/java COPY dev/native-auth/java dev/native-auth/java COPY LICENSE NOTICE ./ RUN chmod +x mvnw && ./mvnw -B -Pui-demo -DskipTests package dependency:copy-dependencies -DincludeScope=runtime -DoutputDirectory=target/runtime RUN mkdir -p /fixture-classes && javac -proc:none -cp 'target/classes:target/runtime/*' -d /fixture-classes dev/java/*.java FROM eclipse-temurin:21-jdk-jammy@sha256:742daacb9316be4b6fc60258f6e4ac2a11882f6c597373c92290a57bfad0d2e0 ARG SOURCE_COMMIT=unknown ENV PRINTING_SOURCE_COMMIT=$SOURCE_COMMIT WORKDIR /app COPY --from=build /source/target/classes classes COPY --from=build /source/target/runtime lib COPY --from=build /fixture-classes fixture COPY dev/log4j2.xml /app/log4j2.xml COPY dev/run-tests.sh /app/run-tests.sh RUN chmod 0555 /app/run-tests.sh ENTRYPOINT ["java","-Xmx768m","-Dlog4j.configurationFile=/app/log4j2.xml","-cp","/app/classes:/app/lib/*:/app/fixture"] CMD ["com.kingsrook.qbits.printing.DevHost"]