# syntax=docker/dockerfile:experimental
FROM maven:3.6.3-jdk-11 AS maven
RUN mkdir -p /opt/app/src
COPY src /opt/app/src
COPY pom.xml /opt/app
RUN --mount=type=cache,target=/root/.m2 mvn -f /opt/app/pom.xml clean package

FROM adoptopenjdk:11-jre-hotspot as builder
WORKDIR application
COPY --from=maven /opt/app/target/middleware-0.0.1-SNAPSHOT.jar application.jar
RUN java -Djarmode=layertools -jar application.jar extract

FROM adoptopenjdk:11-jre-hotspot
WORKDIR application
COPY --from=builder application/dependencies/ ./
COPY --from=builder application/spring-boot-loader/ ./
COPY --from=builder application/snapshot-dependencies/ ./
COPY --from=builder application/application/ ./
ENTRYPOINT [ "java", "org.springframework.boot.loader.JarLauncher" ]