From 3ce5cd9b78707452da593c8be94d58b221bb7ea7 Mon Sep 17 00:00:00 2001
From: David Diederich <d.diederich@opengroup.org>
Date: Fri, 10 Jul 2020 11:29:09 -0400
Subject: [PATCH] Configured Maven build scripts to use GitLab's package
 repository

---
 .mvn/community-maven.settings.xml  | 55 ++++++++++++++++++++++++++++++
 pom.xml                            | 18 +++++-----
 provider/register-gcp/pom.xml      | 18 ++++++++++
 register-core/pom.xml              | 18 ++++++++++
 testing/register-test-core/pom.xml | 21 +++++++-----
 testing/register-test-gcp/pom.xml  | 21 +++++++-----
 6 files changed, 125 insertions(+), 26 deletions(-)
 create mode 100644 .mvn/community-maven.settings.xml

diff --git a/.mvn/community-maven.settings.xml b/.mvn/community-maven.settings.xml
new file mode 100644
index 000000000..75718a6d5
--- /dev/null
+++ b/.mvn/community-maven.settings.xml
@@ -0,0 +1,55 @@
+<settings>
+	<profiles>
+		<profile>
+			<!-- This profile uses the CI-Token to authenticate with the server, and is the default case -->
+			<id>GitLab-Authenticate-With-Job-Token</id>
+			<activation>
+				<activeByDefault>true</activeByDefault>
+			</activation>
+			<properties>
+				<gitlab-server>community-maven-via-job-token</gitlab-server>
+			</properties>
+		</profile>
+
+		<profile>
+			<!-- This profile uses a personal token to authenticate, which is useful for local or manual runs. The
+			     presence of the COMMUNITY_MAVEN_TOKEN variable triggers this and overrides the CI Token
+			     based authentication -->
+			<id>GitLab-Authenticate-With-Private-Token</id>
+			<activation>
+			<property>
+				<name>env.COMMUNITY_MAVEN_TOKEN</name>
+			</property>
+			</activation>
+			<properties>
+				<gitlab-server>community-maven-via-private-token</gitlab-server>
+			</properties>
+		</profile>
+	</profiles>
+
+	<servers>
+		<server>
+			<id>community-maven-via-job-token</id>
+			<configuration>
+				<httpHeaders>
+					<property>
+						<name>Job-Token</name>
+						<value>${env.CI_JOB_TOKEN}</value>
+					</property>
+				</httpHeaders>
+			</configuration>
+		</server>
+
+		<server>
+			<id>community-maven-via-private-token</id>
+			<configuration>
+				<httpHeaders>
+					<property>
+						<name>Private-Token</name>
+						<value>${env.COMMUNITY_MAVEN_TOKEN}</value>
+					</property>
+				</httpHeaders>
+			</configuration>
+		</server>
+	</servers>
+</settings>
diff --git a/pom.xml b/pom.xml
index eaef85596..bb5b63e2a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -87,14 +87,8 @@
 
     <repositories>
         <repository>
-            <id>os-core</id>
-            <url>https://pkgs.dev.azure.com/slb-des-ext-collaboration/_packaging/os-core/maven/v1</url>
-            <releases>
-                <enabled>true</enabled>
-            </releases>
-            <snapshots>
-                <enabled>true</enabled>
-            </snapshots>
+            <id>${gitlab-server}</id>
+            <url>https://community.opengroup.org/api/v4/groups/17/-/packages/maven</url>
         </repository>
     </repositories>
 
@@ -105,8 +99,12 @@
 
     <distributionManagement>
         <repository>
-            <id>os-core</id>
-            <url>https://pkgs.dev.azure.com/slb-des-ext-collaboration/_packaging/os-core/maven/v1</url>
+            <id>${gitlab-server}</id>
+            <url>https://community.opengroup.org/api/v4/projects/157/packages/maven</url>
         </repository>
+        <snapshotRepository>
+            <id>${gitlab-server}</id>
+            <url>https://community.opengroup.org/api/v4/projects/157/packages/maven</url>
+        </snapshotRepository>
     </distributionManagement>
 </project>
diff --git a/provider/register-gcp/pom.xml b/provider/register-gcp/pom.xml
index 12882d5ed..dd84b8bda 100644
--- a/provider/register-gcp/pom.xml
+++ b/provider/register-gcp/pom.xml
@@ -77,6 +77,24 @@
 
   </dependencies>
 
+  <repositories>
+    <repository>
+      <id>${gitlab-server}</id>
+      <url>https://community.opengroup.org/api/v4/groups/17/-/packages/maven</url>
+    </repository>
+  </repositories>
+
+  <distributionManagement>
+    <repository>
+      <id>${gitlab-server}</id>
+      <url>https://community.opengroup.org/api/v4/projects/157/packages/maven</url>
+    </repository>
+    <snapshotRepository>
+      <id>${gitlab-server}</id>
+      <url>https://community.opengroup.org/api/v4/projects/157/packages/maven</url>
+    </snapshotRepository>
+  </distributionManagement>
+
   <build>
     <plugins>
       <plugin>
diff --git a/register-core/pom.xml b/register-core/pom.xml
index 5259f0d4a..01745ce18 100644
--- a/register-core/pom.xml
+++ b/register-core/pom.xml
@@ -223,4 +223,22 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
+
+    <repositories>
+        <repository>
+            <id>${gitlab-server}</id>
+            <url>https://community.opengroup.org/api/v4/groups/17/-/packages/maven</url>
+        </repository>
+    </repositories>
+
+    <distributionManagement>
+        <repository>
+            <id>${gitlab-server}</id>
+            <url>https://community.opengroup.org/api/v4/projects/157/packages/maven</url>
+        </repository>
+        <snapshotRepository>
+            <id>${gitlab-server}</id>
+            <url>https://community.opengroup.org/api/v4/projects/157/packages/maven</url>
+        </snapshotRepository>
+    </distributionManagement>
 </project>
diff --git a/testing/register-test-core/pom.xml b/testing/register-test-core/pom.xml
index b9be2cf6a..ff446e8f6 100644
--- a/testing/register-test-core/pom.xml
+++ b/testing/register-test-core/pom.xml
@@ -128,14 +128,19 @@
 
     <repositories>
         <repository>
-            <id>os-core</id>
-            <url>https://pkgs.dev.azure.com/slb-des-ext-collaboration/_packaging/os-core/maven/v1</url>
-            <releases>
-                <enabled>true</enabled>
-            </releases>
-            <snapshots>
-                <enabled>true</enabled>
-            </snapshots>
+            <id>${gitlab-server}</id>
+            <url>https://community.opengroup.org/api/v4/groups/17/-/packages/maven</url>
         </repository>
     </repositories>
+
+    <distributionManagement>
+        <repository>
+            <id>${gitlab-server}</id>
+            <url>https://community.opengroup.org/api/v4/projects/157/packages/maven</url>
+        </repository>
+        <snapshotRepository>
+            <id>${gitlab-server}</id>
+            <url>https://community.opengroup.org/api/v4/projects/157/packages/maven</url>
+        </snapshotRepository>
+    </distributionManagement>
 </project>
diff --git a/testing/register-test-gcp/pom.xml b/testing/register-test-gcp/pom.xml
index c16b8a18b..2feaf305f 100644
--- a/testing/register-test-gcp/pom.xml
+++ b/testing/register-test-gcp/pom.xml
@@ -128,14 +128,19 @@
 
     <repositories>
         <repository>
-            <id>os-core</id>
-            <url>https://pkgs.dev.azure.com/slb-des-ext-collaboration/_packaging/os-core/maven/v1</url>
-            <releases>
-                <enabled>true</enabled>
-            </releases>
-            <snapshots>
-                <enabled>true</enabled>
-            </snapshots>
+            <id>${gitlab-server}</id>
+            <url>https://community.opengroup.org/api/v4/groups/17/-/packages/maven</url>
         </repository>
     </repositories>
+
+    <distributionManagement>
+        <repository>
+            <id>${gitlab-server}</id>
+            <url>https://community.opengroup.org/api/v4/projects/157/packages/maven</url>
+        </repository>
+        <snapshotRepository>
+            <id>${gitlab-server}</id>
+            <url>https://community.opengroup.org/api/v4/projects/157/packages/maven</url>
+        </snapshotRepository>
+    </distributionManagement>
 </project>
-- 
GitLab