Preserve current rendering, operator and retained-source behavior while integrating script quality, meaningful headers and strict Error Prone/NullAway contracts. Production and test compilation and the 189-case verification gate pass with zero failures and one intentional workload skip. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Signed-off-by: James Maes <james@kof22.com>
31 lines
1.8 KiB
Docker
31 lines
1.8 KiB
Docker
# 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 dev/java dev/java
|
|
COPY dev/native-auth/java dev/native-auth/java
|
|
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
|
|
RUN mkdir /fixture-classes && javac -proc:none -cp 'target/classes:target/runtime/*' -d /fixture-classes dev/native-auth/java/*.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"]
|