# Use Maven 3.5 and JDK8image:maven:3.5-jdk-8variables:# This will supress any download for dependencies and plugins or upload messages which would clutter the console log.# `showDateTime` will show the passed time in milliseconds. You need to specify `--batch-mode` to make this work.MAVEN_OPTS:"-Dmaven.repo.local=.m2/repository-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN-Dorg.slf4j.simpleLogger.showDateTime=true-Djava.awt.headless=true"# As of Maven 3.3.0 instead of this you may define these options in `.mvn/maven.config` so the same config is used# when running from the command line.# `installAtEnd` and `deployAtEnd`are only effective with recent version of the corresponding plugins.MAVEN_CLI_OPTS:"--batch-mode--errors--fail-at-end--show-version-DinstallAtEnd=true-DdeployAtEnd=true"# Cache downloaded dependencies and plugins between builds.# To keep cache across branches add 'key: "$CI_JOB_REF_NAME"'cache:paths:-.m2/repository# This will only validate and compile stuff and run e.g. maven-enforcer-plugin.# Because some enforcer rules might check dependency convergence and class duplications# we use `test-compile` here instead of `validate`, so the correct classpath is picked up.compile:stage:buildscript:-'mvn$MAVEN_CLI_OPTStest-compile'# Run `verify`.# See https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.htmlverify:stage:testscript:-'mvn$MAVEN_CLI_OPTSverify'artifacts:paths:-target/*.jar