From 9f7957dc73174dc80d706667d758e14f5d6e42a3 Mon Sep 17 00:00:00 2001
From: bhill6 <brian.hill@wisc.edu>
Date: Thu, 21 Jul 2022 14:34:46 -0500
Subject: [PATCH] Migrate_Deployment: Migrating deployment to gitlab, also
 removing dependencies on external com.gitlab.nblair repo in favor of local
 gitlab copy of adi-development library

---
 .gitlab-ci.yml                                | 34 +++++++++++++++++++
 .m2/settings.xml                              | 15 ++++++++
 pom.xml                                       | 27 ++++-----------
 uw-spring-security-config/pom.xml             |  2 +-
 ...ePreAuthenticationHttpSecurityAmender.java |  2 --
 ...uthenticationDevelopmentConfiguration.java |  4 +--
 uw-spring-security-core/pom.xml               |  2 +-
 uw-spring-security-sample-war/pom.xml         |  2 +-
 ...ionOnlyPreAuthenticationConfiguration.java |  2 +-
 uw-spring-security-web/pom.xml                |  2 +-
 10 files changed, 63 insertions(+), 29 deletions(-)
 create mode 100644 .gitlab-ci.yml
 create mode 100644 .m2/settings.xml

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..3f02397
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,34 @@
+image: maven:3-amazoncorretto-8
+
+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: "-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: "--settings .m2/settings.xml --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
+
+default:
+  tags:
+    - aws
+    - docker
+
+test:
+  stage: test
+  script:
+    - mvn clean $MAVEN_CLI_OPTS verify
+
+deploy:
+  stage: deploy
+  only:
+    - main
+  script:
+    - env
+    - mvn $MAVEN_CLI_OPTS deploy -Pdeploy -X
diff --git a/.m2/settings.xml b/.m2/settings.xml
new file mode 100644
index 0000000..a4f939d
--- /dev/null
+++ b/.m2/settings.xml
@@ -0,0 +1,15 @@
+<settings>
+	<servers>
+		<server>
+			<id>adi-ia-libraries</id>
+			<configuration>
+				<httpHeaders>
+					<property>
+						<name>Job-Token</name>
+						<value>${env.CI_JOB_TOKEN}</value>
+					</property>
+				</httpHeaders>
+			</configuration>
+		</server>
+	</servers>
+</settings>
diff --git a/pom.xml b/pom.xml
index 848f7cf..6800eb6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2,7 +2,7 @@
 	<modelVersion>4.0.0</modelVersion>
 	<groupId>edu.wisc.uwss</groupId>
 	<artifactId>uw-spring-security</artifactId>
-	<version>3.0.4-SNAPSHOT</version>
+	<version>3.0.4</version>
 	<packaging>pom</packaging>
 	<name>UW Spring Security Parent</name>
 	<description>Parent project for module to integrate Spring Security with UW authentication mechanism.</description>
@@ -16,34 +16,21 @@
 
 	<distributionManagement>
 		<repository>
-			<id>artifacts.doit.wisc.edu-maven-uw-open-releases-proxy</id>
-			<url>https://ia-tools-nexus.doit.wisc.edu/repository/artifacts.doit.wisc.edu-maven-uw-open-releases-proxy</url>
+			<id>adi-ia</id>
+			<url>https://git.doit.wisc.edu/api/v4/projects/392/packages/maven</url>
 		</repository>
-		<snapshotRepository>
-			<id>maven-snapshots</id>
-			<url>https://ia-tools-nexus.doit.wisc.edu/repository/maven-snapshots/</url>
-		</snapshotRepository>
 	</distributionManagement>
 
 	<repositories>
 		<repository>
-			<id>maven-private</id>
-			<url>https://ia-tools-nexus.doit.wisc.edu/repository/maven-private/</url>
-		</repository>
-		<repository>
-			<id>maven-public</id>
-			<url>https://ia-tools-nexus.doit.wisc.edu/repository/maven-public/</url>
-		</repository>
-		<repository>
-			<id>artifacts.doit.wisc.edu-maven-uw-open-releases-proxy</id>
-			<name>artifacts.doit.wisc.edu-maven-uw-open-releases-proxy</name>
-			<url>https://ia-tools-nexus.doit.wisc.edu/repository/artifacts.doit.wisc.edu-maven-uw-open-releases-proxy</url>
+			<id>adi-ia-libraries</id>
+			<url>https://git.doit.wisc.edu/api/v4/groups/15/-/packages/maven</url>
 		</repository>
 	</repositories>
 
 	<properties>
-		<revision>3.0.1-SNAPSHOT</revision>
-		<adi.development.version>0.5.1</adi.development.version>
+		<revision>3.0.4</revision>
+		<adi.development.version>2.0.1</adi.development.version>
 		<jackson.version>2.11.1</jackson.version>
 		<slf4j.version>1.7.7</slf4j.version>
 		<spring.framework.version>5.2.7.RELEASE</spring.framework.version>
diff --git a/uw-spring-security-config/pom.xml b/uw-spring-security-config/pom.xml
index 32f50c8..62b9037 100644
--- a/uw-spring-security-config/pom.xml
+++ b/uw-spring-security-config/pom.xml
@@ -3,7 +3,7 @@
 	<parent>
 		<groupId>edu.wisc.uwss</groupId>
 		<artifactId>uw-spring-security</artifactId>
-		<version>3.0.4-SNAPSHOT</version>
+		<version>3.0.4</version>
 	</parent>
 	<artifactId>uw-spring-security-config</artifactId>
 	<name>UW Spring Security Configuration</name>
diff --git a/uw-spring-security-config/src/main/java/edu/wisc/uwss/configuration/development/SimulatePreAuthenticationHttpSecurityAmender.java b/uw-spring-security-config/src/main/java/edu/wisc/uwss/configuration/development/SimulatePreAuthenticationHttpSecurityAmender.java
index 903d607..0d4fcda 100644
--- a/uw-spring-security-config/src/main/java/edu/wisc/uwss/configuration/development/SimulatePreAuthenticationHttpSecurityAmender.java
+++ b/uw-spring-security-config/src/main/java/edu/wisc/uwss/configuration/development/SimulatePreAuthenticationHttpSecurityAmender.java
@@ -1,7 +1,5 @@
 package edu.wisc.uwss.configuration.development;
 
-import com.github.nblair.web.PreAuthenticationSimulationServletFilter;
-
 
 import org.springframework.security.config.annotation.web.builders.HttpSecurity;
 import org.springframework.security.web.context.SecurityContextPersistenceFilter;
diff --git a/uw-spring-security-config/src/main/java/edu/wisc/uwss/configuration/preauth/PreAuthenticationDevelopmentConfiguration.java b/uw-spring-security-config/src/main/java/edu/wisc/uwss/configuration/preauth/PreAuthenticationDevelopmentConfiguration.java
index 48fb3aa..eed1061 100644
--- a/uw-spring-security-config/src/main/java/edu/wisc/uwss/configuration/preauth/PreAuthenticationDevelopmentConfiguration.java
+++ b/uw-spring-security-config/src/main/java/edu/wisc/uwss/configuration/preauth/PreAuthenticationDevelopmentConfiguration.java
@@ -7,6 +7,8 @@ import javax.inject.Inject;
 import javax.servlet.Filter;
 import javax.servlet.ServletException;
 
+import edu.wisc.doit.adi.web.PreAuthenticationSimulationServletFilter;
+import edu.wisc.doit.adi.web.ProfileConditionalDelegatingFilterProxy;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -17,8 +19,6 @@ import org.springframework.core.env.Environment;
 import org.springframework.security.config.annotation.web.builders.HttpSecurity;
 import org.springframework.security.web.context.SecurityContextPersistenceFilter;
 
-import com.github.nblair.web.PreAuthenticationSimulationServletFilter;
-import com.github.nblair.web.ProfileConditionalDelegatingFilterProxy;
 
 import edu.wisc.uwss.configuration.HttpSecurityAmender;
 import edu.wisc.uwss.configuration.development.SimulatePreAuthenticationHttpSecurityAmender;
diff --git a/uw-spring-security-core/pom.xml b/uw-spring-security-core/pom.xml
index f521d04..c2b36d3 100644
--- a/uw-spring-security-core/pom.xml
+++ b/uw-spring-security-core/pom.xml
@@ -3,7 +3,7 @@
 	<parent>
 		<groupId>edu.wisc.uwss</groupId>
 		<artifactId>uw-spring-security</artifactId>
-		<version>3.0.4-SNAPSHOT</version>
+		<version>3.0.4</version>
 	</parent>
 	<artifactId>uw-spring-security-core</artifactId>
 	<name>UW Spring Security Core</name>
diff --git a/uw-spring-security-sample-war/pom.xml b/uw-spring-security-sample-war/pom.xml
index e107445..9e6ace0 100644
--- a/uw-spring-security-sample-war/pom.xml
+++ b/uw-spring-security-sample-war/pom.xml
@@ -3,7 +3,7 @@
 	<parent>
 		<groupId>edu.wisc.uwss</groupId>
 		<artifactId>uw-spring-security</artifactId>
-		<version>3.0.4-SNAPSHOT</version>
+		<version>3.0.4</version>
 	</parent>
 	<artifactId>uw-spring-security-sample-war</artifactId>
 	<name>UW Spring Security Sample War</name>
diff --git a/uw-spring-security-sample-war/src/main/java/edu/wisc/uwss/sample/configuration/DemonstrationOnlyPreAuthenticationConfiguration.java b/uw-spring-security-sample-war/src/main/java/edu/wisc/uwss/sample/configuration/DemonstrationOnlyPreAuthenticationConfiguration.java
index 07db4b8..fa8c773 100644
--- a/uw-spring-security-sample-war/src/main/java/edu/wisc/uwss/sample/configuration/DemonstrationOnlyPreAuthenticationConfiguration.java
+++ b/uw-spring-security-sample-war/src/main/java/edu/wisc/uwss/sample/configuration/DemonstrationOnlyPreAuthenticationConfiguration.java
@@ -15,6 +15,7 @@ import javax.servlet.ServletRequest;
 import javax.servlet.ServletResponse;
 import javax.servlet.http.HttpServletRequest;
 
+import edu.wisc.doit.adi.web.PreAuthenticationSimulationServletFilter;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -27,7 +28,6 @@ import org.springframework.security.config.annotation.web.builders.HttpSecurity;
 import org.springframework.security.web.context.SecurityContextPersistenceFilter;
 import org.springframework.web.filter.DelegatingFilterProxy;
 
-import com.github.nblair.web.PreAuthenticationSimulationServletFilter;
 
 import edu.wisc.uwss.configuration.HttpSecurityAmender;
 import edu.wisc.uwss.configuration.development.SimulatePreAuthenticationHttpSecurityAmender;
diff --git a/uw-spring-security-web/pom.xml b/uw-spring-security-web/pom.xml
index 0847888..92d517c 100644
--- a/uw-spring-security-web/pom.xml
+++ b/uw-spring-security-web/pom.xml
@@ -15,7 +15,7 @@
     <parent>
 		<groupId>edu.wisc.uwss</groupId>
 		<artifactId>uw-spring-security</artifactId>
-		<version>3.0.4-SNAPSHOT</version>
+		<version>3.0.4</version>
 	</parent>
 	<artifactId>uw-spring-security-web</artifactId>
 	<name>UW Spring Security Web</name>
-- 
GitLab