# Copyright 2026 Kingsrook, LLC # SPDX-License-Identifier: Apache-2.0 FROM maven:3.9.11-eclipse-temurin-21@sha256:6fdc855a6ed81d288ca7ca37ac6ff5e9308b612485c0801d70b25a858c83d237 AS build # DEVELOPMENT ONLY: exact public candidate, never installed into a host Maven cache. ADD --checksum=sha256:d99bafdf5520d0dc039b598787c003f23505cec3a652eb8ded496a24c6ed6060 https://github.com/QRun-IO/qqq/archive/ecf0f550a0357cec6387c2b54efca128a405a629.tar.gz /tmp/core.tar.gz RUN mkdir /candidate && tar -xzf /tmp/core.tar.gz -C /candidate --strip-components=1 && rm /tmp/core.tar.gz WORKDIR /candidate RUN mvn -B -Dmaven.repo.local=/candidate-maven -Drevision=4.1.0-native-dev-ecf0f550 -Dmaven.test.skip=true -pl qqq-bom,qqq-backend-core,qqq-backend-module-rdbms,qqq-backend-module-filesystem,qqq-middleware-javalin -am install WORKDIR /printing COPY pom.xml mvnw ./ COPY .mvn .mvn COPY checkstyle checkstyle COPY src src COPY LICENSE NOTICE ./ RUN chmod +x mvnw && ./mvnw -B -Dmaven.repo.local=/candidate-maven -Dqqq.version=4.1.0-native-dev-ecf0f550 -Dmaven.test.skip=true package dependency:copy-dependencies -DincludeScope=runtime -DoutputDirectory=target/runtime COPY dev/native-auth/java /fixture-src RUN mkdir /fixture-classes && javac -proc:none -cp 'target/classes:target/runtime/*' -d /fixture-classes /fixture-src/*.java FROM eclipse-temurin:21-jdk-jammy@sha256:742daacb9316be4b6fc60258f6e4ac2a11882f6c597373c92290a57bfad0d2e0 WORKDIR /app COPY --from=build /printing/target/classes classes COPY --from=build /printing/target/runtime lib COPY --from=build /fixture-classes fixture COPY dev/log4j2.xml /app/log4j2.xml COPY dev/native-auth/start-server.sh /app/start-server.sh RUN chmod 0555 /app/start-server.sh ENV NATIVE_CORE_SOURCE=ecf0f550a0357cec6387c2b54efca128a405a629 ENTRYPOINT ["/app/start-server.sh"]