# Multi-stage build for Java Faker project
# Stage 1: build with Maven
FROM maven:3.6.3-jdk-8 AS builder
WORKDIR /workspace
# Copy POM and source so we can leverage Docker layer caching
COPY pom.xml .
COPY src ./src
# Build the project (skip tests for quicker smoke build)
RUN mvn -B -DskipTests package
# Stage 2: runtime image
FROM maven:3.6.3-jdk-8
WORKDIR /app
# Copy the built jar from the builder stage
COPY --from=builder /workspace/target/javafaker-1.0.3-SNAPSHOT.jar /app/javafaker-1.0.3-SNAPSHOT.jar
# Run the application by default
CMD ["java", "-jar", "javafaker-1.0.3-SNAPSHOT.jar"]