diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d19f952e5fccac3b62f334b2cc2f0c5b8419e6cf..917258b7a9a9c57d75a82fae552bd977e01327d4 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,3 +1,18 @@
+variables:
+ # This will suppress 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: "-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"
+ # 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_NAME"'
+cache:
+ paths:
+ - .m2/repository
+
stages:
- compile
- deploy
@@ -6,19 +21,29 @@ run tests in branches:
stage: compile
image: maven:3-jdk-8
script:
- - MAVEN_OPTS="${MAVEN_OPTS} -Dorg.slf4j.simpleLogger.defaultLogLevel=warn" mvn test -B
+ - mvn test -B
except:
- master
- tags
-publish artifacts:
- stage: deploy
- image: maven:3-jdk-8
+publish snapshot artifacts:
+ stage: deploy
+ image: maven:3-jdk-8
before_script:
- echo "${GPG_KEY_SECRET}" | gpg --batch --import
- gpg --list-keys
script:
- - mvn clean deploy -P release --settings .ci-maven-settings.xml -B -U
+ - mvn clean deploy --settings .ci-maven-settings.xml -B -U
only:
- master
- - tags
+
+publish artifacts on central:
+ stage: deploy
+ image: maven:3-jdk-8
+ before_script:
+ - echo "${GPG_KEY_SECRET}" | gpg --batch --import
+ - gpg --list-keys
+ script:
+ - mvn -P release clean deploy --settings .ci-maven-settings.xml -B -U
+ only:
+ - /^file\-repository\-/
diff --git a/pom.xml b/pom.xml
index 6ec2745c2a01a8d837a729ddd68315a02189e604..6d894f9d92a1af95470c7476936d379d8f998803 100644
--- a/pom.xml
+++ b/pom.xml
@@ -266,6 +266,8 @@
2.5.3
false
+ true
+ file-repository-@{project.version}