diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ac8b0065..06a06fdd 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,7 +1,7 @@
image: maven:3.6.1-jdk-8
variables:
- MAVEN_CLI_OPTS: "--show-version"
+ MAVEN_CLI_OPTS: "--show-version -Dorg.slf4j.simpleLogger.showDateTime=true -Dorg.slf4j.simpleLogger.dateTimeFormat=yyyy-MM-dd@HH:mm:ss,SSS"
MAVEN_OPTS: "-Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository -Djava.awt.headless=true"
cache:
@@ -12,59 +12,106 @@ cache:
include:
- template: Code-Quality.gitlab-ci.yml
-
-
+
+
stages:
- build
- test
- package
- deploy
-
+
+
build:
stage: build
script:
- - mvn $MAVEN_CLI_OPTS clean compile install -f system/platform-core
- - mvn $MAVEN_CLI_OPTS clean compile install -f system/rest-spring
- - mvn $MAVEN_CLI_OPTS clean compile install -f connectors/hazelcast/hazelcast-connector
- - mvn $MAVEN_CLI_OPTS clean compile install -f connectors/kafka/kafka-connector
+ - mvn $MAVEN_CLI_OPTS clean compile install -f system/parent
+ - mvn $MAVEN_CLI_OPTS clean compile install
cache:
key: $CI_PIPELINE_IID
policy: push # this is the only job that needs to publish to the cache, therefore it is overriding the policy
paths:
- $CI_PROJECT_DIR/.m2/repository
-
-test_and_coverage:
+
+
+############################
+# TEST
+
+.test_and_coverage:
stage: test
- script:
- - mvn $MAVEN_CLI_OPTS test -f system/platform-core
- - ls -la system/platform-core/target/surefire-reports
- - cat system/platform-core/target/site/jacoco/index.html
- - mv system/platform-core/target/site/jacoco jacoco
+ needs: ['build']
coverage: '/Total.*?([0-9]{1,3})%/'
artifacts:
reports:
junit:
- - system/platform-core/target/surefire-reports/TEST-*.xml
+ - $CI_PROJECT_DIR/**/target/surefire-reports/TEST-*.xml
paths:
- jacoco
expire_in: 30 days
-
-javadoc:
+
+# just test platform core
+# TODO: is it possible to generate coverage report across all modules?
+# The current coverage report is only for the platform core submodule
+platform_test:
+ extends: .test_and_coverage
+ script:
+ - mvn $MAVEN_CLI_OPTS test -f system/platform-core
+ - ls -la system/platform-core/target/surefire-reports
+ - cat system/platform-core/target/site/jacoco/index.html
+ - mv system/platform-core/target/site/jacoco jacoco
+
+
+# test all modules
+submodules_test:
+ extends: .test_and_coverage
+ script:
+ - mvn $MAVEN_CLI_OPTS test
+
+
+############################
+# Publish
+
+.publish:
+ stage: deploy
+ dependencies: ['build', 'submodules_test']
+ needs: ['build', 'submodules_test']
+
+snapshot:
+ extends: .publish
+ script:
+ - echo "Publish snapshot"
+ - mvn $MAVEN_CLI_OPTS deploy -s .gitlab_maven_settings.xml -DskipTests
+
+release:
+ extends: .publish
+ script:
+ - echo "Publish release"
+ - mvn $MAVEN_CLI_OPTS deploy -s .gitlab_maven_settings.xml -DskipTests -Drevision=$CI_COMMIT_TAG
+ only:
+ - tags
+
+############################
+# JavaDoc
+
+javadoc:
stage: package
- script:
+ dependencies:
+ - build
+ needs: ['build']
+ script:
- mvn $MAVEN_CLI_OPTS javadoc:javadoc -f system/platform-core
- mv system/platform-core/target/site/apidocs apidocs
artifacts:
paths:
- apidocs
expire_in: 30 days
-
+
pages:
stage: deploy
dependencies:
- - test_and_coverage
+ - platform_test
- javadoc
+ needs: ['platform_test', 'javadoc']
script:
- mkdir -p public/coverage public/docs
- mv jacoco/* public/coverage
@@ -73,4 +120,3 @@ pages:
paths:
- public
expire_in: 90 days
-
diff --git a/.gitlab_maven_settings.xml b/.gitlab_maven_settings.xml
new file mode 100644
index 00000000..5465fb8f
--- /dev/null
+++ b/.gitlab_maven_settings.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ gitlab-maven
+
+
+
+ Job-Token
+ ${env.CI_JOB_TOKEN}
+
+
+
+
+
+
diff --git a/connectors/event-node/pom.xml b/connectors/event-node/pom.xml
index 6ef62d8d..91ebc021 100644
--- a/connectors/event-node/pom.xml
+++ b/connectors/event-node/pom.xml
@@ -7,17 +7,18 @@
event-node
jar
- 1.12.65
+ ${revision}
Event Node - Platform-in-a-box
- org.springframework.boot
- spring-boot-starter-parent
- 2.3.3.RELEASE
+ org.platformlambda
+ mercury-parent
+ 1.12-SNAPSHOT
+ 1.12-SNAPSHOT
UTF-8
4.0.1
1.8
@@ -39,7 +40,7 @@
org.platformlambda
rest-spring
- 1.12.65
+ 1.12-SNAPSHOT
diff --git a/connectors/hazelcast/hazelcast-connector/pom.xml b/connectors/hazelcast/hazelcast-connector/pom.xml
index 6edb1a16..3e845b56 100644
--- a/connectors/hazelcast/hazelcast-connector/pom.xml
+++ b/connectors/hazelcast/hazelcast-connector/pom.xml
@@ -7,17 +7,18 @@
hazelcast-connector
jar
- 1.12.65
+ ${revision}
Cloud connector for Hazelcast cluster
- org.springframework.boot
- spring-boot-starter-parent
- 2.3.3.RELEASE
+ org.platformlambda
+ mercury-parent
+ 1.12-SNAPSHOT
+ 1.12-SNAPSHOT
UTF-8
4.0.1
1.8
@@ -39,7 +40,7 @@
org.platformlambda
platform-core
- 1.12.65
+ 1.12-SNAPSHOT
diff --git a/connectors/hazelcast/hazelcast-presence/pom.xml b/connectors/hazelcast/hazelcast-presence/pom.xml
index 0c1d226f..ee020956 100644
--- a/connectors/hazelcast/hazelcast-presence/pom.xml
+++ b/connectors/hazelcast/hazelcast-presence/pom.xml
@@ -5,17 +5,18 @@
org.platformlambda
hazelcast-presence
jar
- 1.12.65
+ ${revision}
hazelcast-presence-monitor
- org.springframework.boot
- spring-boot-starter-parent
- 2.3.3.RELEASE
+ org.platformlambda
+ mercury-parent
+ 1.12-SNAPSHOT
+ 1.12-SNAPSHOT
UTF-8
4.0.1
1.8
@@ -37,13 +38,13 @@
org.platformlambda
hazelcast-connector
- 1.12.65
+ 1.12-SNAPSHOT
org.platformlambda
rest-spring
- 1.12.65
+ 1.12-SNAPSHOT
diff --git a/connectors/kafka/kafka-connector/pom.xml b/connectors/kafka/kafka-connector/pom.xml
index 54f1a83b..6c66bb7e 100644
--- a/connectors/kafka/kafka-connector/pom.xml
+++ b/connectors/kafka/kafka-connector/pom.xml
@@ -7,17 +7,18 @@
kafka-connector
jar
- 1.12.65
+ ${revision}
Cloud connector for Kafka cluster
- org.springframework.boot
- spring-boot-starter-parent
- 2.3.3.RELEASE
+ org.platformlambda
+ mercury-parent
+ 1.12-SNAPSHOT
+ 1.12-SNAPSHOT
UTF-8
4.0.1
1.8
@@ -39,7 +40,7 @@
org.platformlambda
platform-core
- 1.12.65
+ 1.12-SNAPSHOT
diff --git a/connectors/kafka/kafka-presence/pom.xml b/connectors/kafka/kafka-presence/pom.xml
index aea4429a..7ef92f3a 100644
--- a/connectors/kafka/kafka-presence/pom.xml
+++ b/connectors/kafka/kafka-presence/pom.xml
@@ -5,17 +5,18 @@
org.platformlambda
kafka-presence
jar
- 1.12.65
+ ${revision}
kafka-presence-monitor
- org.springframework.boot
- spring-boot-starter-parent
- 2.3.3.RELEASE
+ org.platformlambda
+ mercury-parent
+ 1.12-SNAPSHOT
+ 1.12-SNAPSHOT
UTF-8
4.0.1
1.8
@@ -37,13 +38,13 @@
org.platformlambda
kafka-connector
- 1.12.65
+ 1.12-SNAPSHOT
org.platformlambda
rest-spring
- 1.12.65
+ 1.12-SNAPSHOT
diff --git a/connectors/kafka/kafka-standalone/pom.xml b/connectors/kafka/kafka-standalone/pom.xml
index c0d41398..de5ef089 100644
--- a/connectors/kafka/kafka-standalone/pom.xml
+++ b/connectors/kafka/kafka-standalone/pom.xml
@@ -7,17 +7,18 @@
kafka-standalone
jar
- 1.12.65
+ ${revision}
Standalone kafka system for development
- org.springframework.boot
- spring-boot-starter-parent
- 2.3.3.RELEASE
+ org.platformlambda
+ mercury-parent
+ 1.12-SNAPSHOT
+ 1.12-SNAPSHOT
UTF-8
4.0.1
1.8
@@ -39,7 +40,7 @@
org.platformlambda
platform-core
- 1.12.65
+ 1.12-SNAPSHOT
diff --git a/examples/lambda-example/pom.xml b/examples/lambda-example/pom.xml
index 49d03195..eff4ac4e 100644
--- a/examples/lambda-example/pom.xml
+++ b/examples/lambda-example/pom.xml
@@ -7,17 +7,18 @@
lambda-example
jar
- 1.12.65
+ ${revision}
Example for simple microservices executable
- org.springframework.boot
- spring-boot-starter-parent
- 2.3.3.RELEASE
+ org.platformlambda
+ mercury-parent
+ 1.12-SNAPSHOT
+ 1.12-SNAPSHOT
UTF-8
4.0.1
1.8
@@ -39,25 +40,25 @@
org.platformlambda
platform-core
- 1.12.65
+ 1.12-SNAPSHOT
org.platformlambda
kafka-connector
- 1.12.65
+ 1.12-SNAPSHOT
org.platformlambda
hazelcast-connector
- 1.12.65
+ 1.12-SNAPSHOT
diff --git a/examples/rest-example/pom.xml b/examples/rest-example/pom.xml
index 23701570..3d684df5 100644
--- a/examples/rest-example/pom.xml
+++ b/examples/rest-example/pom.xml
@@ -5,18 +5,19 @@
com.accenture
rest-example
- 1.12.65
+ ${revision}
jar
REST example application
- org.springframework.boot
- spring-boot-starter-parent
- 2.3.3.RELEASE
+ org.platformlambda
+ mercury-parent
+ 1.12-SNAPSHOT
+ 1.12-SNAPSHOT
UTF-8
4.0.1
1.8
@@ -38,25 +39,25 @@
org.platformlambda
rest-spring
- 1.12.65
+ 1.12-SNAPSHOT
org.platformlambda
kafka-connector
- 1.12.65
+ 1.12-SNAPSHOT
org.platformlambda
hazelcast-connector
- 1.12.65
+ 1.12-SNAPSHOT
diff --git a/extensions/api-playground/pom.xml b/extensions/api-playground/pom.xml
index edd9c6c1..7a314f01 100644
--- a/extensions/api-playground/pom.xml
+++ b/extensions/api-playground/pom.xml
@@ -7,17 +7,18 @@
api-playground
jar
- 1.12.65
+ ${revision}
API playground using OpenAPI
- org.springframework.boot
- spring-boot-starter-parent
- 2.3.3.RELEASE
+ org.platformlambda
+ mercury-parent
+ 1.12-SNAPSHOT
+ 1.12-SNAPSHOT
UTF-8
4.0.1
1.8
@@ -39,7 +40,7 @@
org.platformlambda
rest-spring
- 1.12.65
+ 1.12-SNAPSHOT
diff --git a/extensions/distributed-tracer/pom.xml b/extensions/distributed-tracer/pom.xml
index c9d1eaa2..4a9a8b3d 100644
--- a/extensions/distributed-tracer/pom.xml
+++ b/extensions/distributed-tracer/pom.xml
@@ -7,17 +7,18 @@
distributed-tracer
jar
- 1.12.65
+ ${revision}
Distributed trace processor example
- org.springframework.boot
- spring-boot-starter-parent
- 2.3.3.RELEASE
+ org.platformlambda
+ mercury-parent
+ 1.12-SNAPSHOT
+ 1.12-SNAPSHOT
UTF-8
4.0.1
1.8
@@ -39,7 +40,7 @@
org.platformlambda
rest-spring
- 1.12.65
+ 1.12-SNAPSHOT
diff --git a/extensions/rest-automation-app/pom.xml b/extensions/rest-automation-app/pom.xml
index a504faa5..e8712397 100644
--- a/extensions/rest-automation-app/pom.xml
+++ b/extensions/rest-automation-app/pom.xml
@@ -7,17 +7,18 @@
rest-automation-app
jar
- 1.12.65
+ ${revision}
REST automation application
- org.springframework.boot
- spring-boot-starter-parent
- 2.3.3.RELEASE
+ org.platformlambda
+ mercury-parent
+ 1.12-SNAPSHOT
+ 1.12-SNAPSHOT
UTF-8
4.0.1
1.8
@@ -39,13 +40,13 @@
org.platformlambda
rest-automation
- 1.12.65
+ 1.12-SNAPSHOT
org.platformlambda
rest-spring
- 1.12.65
+ 1.12-SNAPSHOT
diff --git a/extensions/rest-automation-lib/pom.xml b/extensions/rest-automation-lib/pom.xml
index 49434510..b54bc2ce 100644
--- a/extensions/rest-automation-lib/pom.xml
+++ b/extensions/rest-automation-lib/pom.xml
@@ -7,17 +7,18 @@
rest-automation
jar
- 1.12.65
+ ${revision}
REST automation library
- org.springframework.boot
- spring-boot-starter-parent
- 2.3.3.RELEASE
+ org.platformlambda
+ mercury-parent
+ 1.12-SNAPSHOT
+ 1.12-SNAPSHOT
UTF-8
4.0.1
1.8
@@ -40,7 +41,7 @@
org.platformlambda
rest-spring
- 1.12.65
+ 1.12-SNAPSHOT
provided
@@ -54,13 +55,13 @@
org.platformlambda
kafka-connector
- 1.12.65
+ 1.12-SNAPSHOT
provided
org.platformlambda
hazelcast-connector
- 1.12.65
+ 1.12-SNAPSHOT
provided
diff --git a/extensions/simple-scheduler/pom.xml b/extensions/simple-scheduler/pom.xml
index 845e0a47..12882901 100644
--- a/extensions/simple-scheduler/pom.xml
+++ b/extensions/simple-scheduler/pom.xml
@@ -7,17 +7,18 @@
simple-scheduler
jar
- 1.12.65
+ ${revision}
Simple Scheduler
- org.springframework.boot
- spring-boot-starter-parent
- 2.3.3.RELEASE
+ org.platformlambda
+ mercury-parent
+ 1.12-SNAPSHOT
+ 1.12-SNAPSHOT
UTF-8
4.0.1
1.8
@@ -28,10 +29,6 @@
central
https://repo1.maven.org/maven2/
-
-
-
-
@@ -39,7 +36,7 @@
org.platformlambda
rest-spring
- 1.12.65
+ 1.12-SNAPSHOT
diff --git a/extensions/websocket-notification/pom.xml b/extensions/websocket-notification/pom.xml
index 98c550ff..3176b2fa 100644
--- a/extensions/websocket-notification/pom.xml
+++ b/extensions/websocket-notification/pom.xml
@@ -7,17 +7,18 @@
websocket-notification
jar
- 1.12.65
+ ${revision}
WebSocket notification example
- org.springframework.boot
- spring-boot-starter-parent
- 2.3.3.RELEASE
+ org.platformlambda
+ mercury-parent
+ 1.12-SNAPSHOT
+ 1.12-SNAPSHOT
UTF-8
4.0.1
1.8
@@ -39,7 +40,7 @@
org.platformlambda
rest-spring
- 1.12.65
+ 1.12-SNAPSHOT
diff --git a/language-packs/language-connector/pom.xml b/language-packs/language-connector/pom.xml
index 0edd67c7..966b9966 100644
--- a/language-packs/language-connector/pom.xml
+++ b/language-packs/language-connector/pom.xml
@@ -7,7 +7,7 @@
language-connector
jar
- 1.12.65
+ ${revision}
Language Connector for Python and others
@@ -18,6 +18,7 @@
+ 1.12-SNAPSHOT
UTF-8
4.0.1
1.8
@@ -32,32 +33,47 @@
+
+ gitlab-maven
+ ${env.CI_SERVER_URL}/api/v4/projects/${env.CI_PROJECT_ID}/packages/maven
+
+
+
+ gitlab-maven
+ ${env.CI_SERVER_URL}/api/v4/projects/${env.CI_PROJECT_ID}/packages/maven
+
+
+ gitlab-maven
+ ${env.CI_SERVER_URL}/api/v4/projects/${env.CI_PROJECT_ID}/packages/maven
+
+
+
org.platformlambda
rest-spring
- 1.12.65
+ 1.12-SNAPSHOT
org.platformlambda
kafka-connector
- 1.12.65
+ 1.12-SNAPSHOT
org.platformlambda
hazelcast-connector
- 1.12.65
+ 1.12-SNAPSHOT
diff --git a/pom.xml b/pom.xml
index bc9ac52a..78bb86bf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,16 @@
com.accenture.mercury
parent-mercury
pom
- 1.0.0
+
+
+
+ ${revision}
+
+ 1.12-SNAPSHOT
+
+
Parent Mercury
@@ -29,5 +38,16 @@
examples/lambda-example
examples/rest-example
-
+
+
+
+ gitlab-maven
+ ${env.CI_SERVER_URL}/api/v4/projects/${env.CI_PROJECT_ID}/packages/maven
+
+
+ gitlab-maven
+ ${env.CI_SERVER_URL}/api/v4/projects/${env.CI_PROJECT_ID}/packages/maven
+
+
+
diff --git a/system/parent/pom.xml b/system/parent/pom.xml
new file mode 100644
index 00000000..106db189
--- /dev/null
+++ b/system/parent/pom.xml
@@ -0,0 +1,45 @@
+
+
+ 4.0.0
+
+ org.platformlambda
+ mercury-parent
+ ${revision}
+ pom
+
+
+ 1.12-SNAPSHOT
+ UTF-8
+
+
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.3.3.RELEASE
+
+
+
+
+
+ central
+ https://repo1.maven.org/maven2/
+
+
+ gitlab-maven
+ ${env.CI_SERVER_URL}/api/v4/projects/${env.CI_PROJECT_ID}/packages/maven
+
+
+
+
+
+ gitlab-maven
+ ${env.CI_SERVER_URL}/api/v4/projects/${env.CI_PROJECT_ID}/packages/maven
+
+
+ gitlab-maven
+ ${env.CI_SERVER_URL}/api/v4/projects/${env.CI_PROJECT_ID}/packages/maven
+
+
+
+
diff --git a/system/platform-core/pom.xml b/system/platform-core/pom.xml
index 32f4d67b..aa4161e4 100644
--- a/system/platform-core/pom.xml
+++ b/system/platform-core/pom.xml
@@ -7,17 +7,18 @@
platform-core
jar
- 1.12.65
+ ${revision}
Mercury core library
+ 1.12-SNAPSHOT
UTF-8
- org.springframework.boot
- spring-boot-starter-parent
- 2.3.3.RELEASE
+ org.platformlambda
+ mercury-parent
+ 1.12-SNAPSHOT
@@ -30,8 +31,23 @@
+
+ gitlab-maven
+ ${env.CI_SERVER_URL}/api/v4/projects/${env.CI_PROJECT_ID}/packages/maven
+
+
+
+ gitlab-maven
+ ${env.CI_SERVER_URL}/api/v4/projects/${env.CI_PROJECT_ID}/packages/maven
+
+
+ gitlab-maven
+ ${env.CI_SERVER_URL}/api/v4/projects/${env.CI_PROJECT_ID}/packages/maven
+
+
+
diff --git a/system/rest-spring/pom.xml b/system/rest-spring/pom.xml
index 33896e8d..cf8bf2d2 100644
--- a/system/rest-spring/pom.xml
+++ b/system/rest-spring/pom.xml
@@ -6,20 +6,21 @@
org.platformlambda
rest-spring
- 1.12.65
+ ${revision}
jar
rest-spring
Preconfigured spring boot with proper serializers, exception handlers and loaders
- org.springframework.boot
- spring-boot-starter-parent
- 2.3.3.RELEASE
+ org.platformlambda
+ mercury-parent
+ 1.12-SNAPSHOT
+ 1.12-SNAPSHOT
UTF-8
4.0.1
1.8
@@ -30,10 +31,6 @@
central
https://repo1.maven.org/maven2/
-
-
-
-
@@ -103,7 +100,7 @@
org.platformlambda
platform-core
- 1.12.65
+ 1.12-SNAPSHOT