image: maven:3-openjdk-15-slim

variables:
  MAVEN_OPTS: " \
    -Dhttps.protocols=TLSv1.2 \
    -Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository \
    -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN \
    -Dorg.slf4j.simpleLogger.showDateTime=true \
    -Djava.awt.headless=true"
  MAVEN_CLI_OPTS: "--batch-mode --errors --fail-at-end --show-version"

cache:
  paths:
    - .m2/repository

stages:
  - build
  - test

build:
  stage: build
  script:
    - "mvn clean compile $MAVEN_CLI_OPTS"
  artifacts:
    paths:
      - target/

unittest:
  stage: test
  needs: [build]
  script:
    - "mvn package $MAVEN_CLI_OPTS"
  artifacts:
    paths:
      - target/
    when: always
    reports:
      junit:
        - target/surefire-reports/TEST-*.xml
        - target/failsafe-reports/TEST-*.xml