From 090db75326a3d93c9ec3209eaf5f583155e58473 Mon Sep 17 00:00:00 2001
From: Colin DAMON <cdamon@ippon.fr>
Date: Sun, 26 Jul 2020 16:14:39 +0200
Subject: [PATCH] Mutualise builds

---
 .gitlab-common-ci.yml           | 24 +++++++++++++++++++++++-
 romanNumerals/.gitlab-ci.yml    | 24 ++----------------------
 stringCalculator/.gitlab-ci.yml | 24 ++----------------------
 wordWrap/.gitlab-ci.yml         | 24 ++----------------------
 4 files changed, 29 insertions(+), 67 deletions(-)

diff --git a/.gitlab-common-ci.yml b/.gitlab-common-ci.yml
index d2d59422..b1a37c43 100644
--- a/.gitlab-common-ci.yml
+++ b/.gitlab-common-ci.yml
@@ -2,11 +2,33 @@ 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 -DinstallAtEnd=true -DdeployAtEnd=true"
 
+stages:
+  - build
+
 cache:
   paths:
     - .m2/repository
 
 .java:
   image: maven:3.6.3-jdk-14
-  tags: docker
+  stage: build
+  tags: 
+    - docker
+  before_script:
+    - cd $PROJECT_FOLDER
+  script:
+    - mvn $MAVEN_CLI_OPTS clean package
+    - cat target/site/jacoco/index.html
+  artifacts:
+    reports:
+      junit: $PROJECT_FOLDER/target/surefire-reports/TEST-*.xml
+    expire_in: 1 day
+  only:
+    refs:
+      - master
+      - merge_requests
+    changes:
+      - ".gitlab-ci.yml"
+      - ".gitlab-common-ci.yml"
+      - "$PROJECT_FOLDER/**/*"
   coverage: '/Total.*?([0-9]{1,3})%/'
diff --git a/romanNumerals/.gitlab-ci.yml b/romanNumerals/.gitlab-ci.yml
index 23919fbd..9f5015b5 100644
--- a/romanNumerals/.gitlab-ci.yml
+++ b/romanNumerals/.gitlab-ci.yml
@@ -1,24 +1,4 @@
-stages:
-  - build
-  
 package-roman-numerals:
+  variables:
+    PROJECT_FOLDER: "romanNumerals"
   extends: .java
-  stage: build
-  tags:
-    - docker
-  script:
-    - cd romanNumerals
-    - mvn $MAVEN_CLI_OPTS clean package
-    - cat target/site/jacoco/index.html
-  artifacts:
-    reports:
-      junit: romanNumerals/target/surefire-reports/TEST-*.xml
-    expire_in: 1 day
-  only:
-    refs:
-      - master
-      - merge_requests
-    changes:
-      - ".gitlab-ci.yml"
-      - ".gitlab-common-ci.yml"
-      - "romanNumerals/**/*"
diff --git a/stringCalculator/.gitlab-ci.yml b/stringCalculator/.gitlab-ci.yml
index a83cd56f..da18480e 100644
--- a/stringCalculator/.gitlab-ci.yml
+++ b/stringCalculator/.gitlab-ci.yml
@@ -1,24 +1,4 @@
-stages:
-  - build
-  
 package-string-calculator:
+  variables:
+    PROJECT_FOLDER: "stringCalculator"
   extends: .java
-  stage: build
-  tags:
-    - docker
-  script:
-    - cd stringCalculator
-    - mvn $MAVEN_CLI_OPTS clean package
-    - cat target/site/jacoco/index.html
-  artifacts:
-    reports:
-      junit: stringCalculator/target/surefire-reports/TEST-*.xml
-    expire_in: 1 day
-  only:
-    refs:
-      - master
-      - merge_requests
-    changes:
-      - ".gitlab-ci.yml"
-      - ".gitlab-common-ci.yml"
-      - "stringCalculator/**/*"
diff --git a/wordWrap/.gitlab-ci.yml b/wordWrap/.gitlab-ci.yml
index 54e0b17d..fb6a6835 100644
--- a/wordWrap/.gitlab-ci.yml
+++ b/wordWrap/.gitlab-ci.yml
@@ -1,24 +1,4 @@
-stages:
-  - build
-  
 package-word-wrap:
+  variables:
+    PROJECT_FOLDER: "wordWrap"
   extends: .java
-  stage: build
-  tags:
-    - docker
-  script:
-    - cd wordWrap
-    - mvn $MAVEN_CLI_OPTS clean package
-    - cat target/site/jacoco/index.html
-  artifacts:
-    reports:
-      junit: wordWrap/target/surefire-reports/TEST-*.xml
-    expire_in: 1 day
-  only:
-    refs:
-      - master
-      - merge_requests
-    changes:
-      - ".gitlab-ci.yml"
-      - ".gitlab-common-ci.yml"
-      - "wordWrap/**/*"
-- 
GitLab