FROM mcd.jfrog.io/brep-docker/alpine AS tools
WORKDIR /workspace/app

ENV NEW_RELIC_JAVA_APM_VERSION 5.11.0

ADD https://download.newrelic.com/newrelic/java-agent/newrelic-agent/$NEW_RELIC_JAVA_APM_VERSION/newrelic-java.zip newrelic-java.zip
RUN unzip newrelic-java.zip -d /opt
RUN rm -f newrelic-java.zip

FROM mcd.jfrog.io/brep-docker/menuapi/openjdk AS build
WORKDIR /workspace/app

COPY mvnw .
COPY .mvn .mvn
COPY pom.xml .
COPY src src

RUN mvn -f pom.xml clean install -DskipTests=false -Dmaven.wagon.http.retryHandler.count=3

RUN mkdir -p target/dependency && (cd target/dependency; jar -xf ../*.jar)

FROM mcd.jfrog.io/brep-docker/menuapi/openjdk
VOLUME /tmp
ARG DEPENDENCY=/workspace/app/target/dependency
COPY --from=build ${DEPENDENCY}/BOOT-INF/lib /app/lib
COPY --from=build ${DEPENDENCY}/META-INF /app/META-INF
COPY --from=build ${DEPENDENCY}/BOOT-INF/classes /app
COPY --from=tools /opt/newrelic/newrelic.jar /opt/newrelic/newrelic.jar
COPY --from=tools /opt/newrelic/newrelic.yml /opt/newrelic/newrelic.yml

ENTRYPOINT ["java","-javaagent:/opt/newrelic/newrelic.jar","-cp","app:app/lib/*","com.mcd.restaurant.RestaurantAssetsApplication"]

EXPOSE 8080
