diff --git a/.gitignore b/.gitignore
index b6f7c00..381294d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,3 @@
-.idea/libraries
-.idea/tasks.xml
-.idea/workspace.xml
+.idea/
target
+*.iml
\ No newline at end of file
diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml
deleted file mode 100644
index 2cd4bcc..0000000
--- a/.idea/codeStyles/Project.xml
+++ /dev/null
@@ -1,449 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- true
- LOGGER
- true
- true
-
-
-
-
-
-
-
-
- true
- true
- true
- true
-
-
- BY_NAME
-
-
-
-
-
-
- true
- true
- true
- true
-
-
- BY_NAME
-
-
-
-
-
-
- true
- true
- true
- true
-
-
- BY_NAME
-
-
-
-
-
-
- true
- true
- true
- true
-
-
- BY_NAME
-
-
-
-
-
-
- true
- true
- true
-
-
- BY_NAME
-
-
-
-
-
-
- true
- true
- true
-
-
- BY_NAME
-
-
-
-
-
-
- true
- true
- true
-
-
- BY_NAME
-
-
-
-
-
-
- true
- true
- true
-
-
- BY_NAME
-
-
-
-
-
-
- true
- true
-
-
-
-
-
-
-
-
- true
- true
- logger
- true
-
-
-
-
-
-
-
-
- true
- true
- true
-
-
- BY_NAME
-
-
-
-
-
-
- true
- true
- true
-
-
- BY_NAME
-
-
-
-
-
-
- true
- true
- true
-
-
- BY_NAME
-
-
-
-
-
-
- true
- true
- true
-
-
- BY_NAME
-
-
-
-
-
-
- true
- true
-
-
- BY_NAME
-
-
-
-
-
-
- true
- true
-
-
- BY_NAME
-
-
-
-
-
-
- true
- true
-
-
- BY_NAME
-
-
-
-
-
-
- true
- true
-
-
- BY_NAME
-
-
-
-
-
- true
-
- BY_NAME
-
-
-
-
-
-
-
- true
- true
-
-
- BY_NAME
-
-
-
-
-
-
- true
- true
-
-
- BY_NAME
-
-
-
-
-
-
- true
- true
-
-
- BY_NAME
-
-
-
-
-
-
- true
- true
-
-
- BY_NAME
-
-
-
-
-
-
- true
- true
- true
-
-
- BY_NAME
-
-
-
-
-
-
- true
- true
-
-
- BY_NAME
-
-
-
-
-
-
- true
- true
- true
-
-
- BY_NAME
-
-
-
-
-
-
- true
- true
-
-
- BY_NAME
-
-
-
-
-
-
- true
- true
- true
-
-
- BY_NAME
-
-
-
-
-
-
- true
- true
-
-
- BY_NAME
-
-
-
-
-
-
- true
- true
- true
-
-
- BY_NAME
-
-
-
-
-
-
- true
- true
-
-
- BY_NAME
-
-
-
-
-
- true
-
- BY_NAME
-
-
-
-
-
- true
-
- BY_NAME
-
-
-
-
-
-
- true
- true
-
-
- BY_NAME
-
-
-
-
-
- true
-
- BY_NAME
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml
deleted file mode 100644
index 79ee123..0000000
--- a/.idea/codeStyles/codeStyleConfig.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
deleted file mode 100644
index e4563dd..0000000
--- a/.idea/compiler.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/copyright/Apache_License__Version_2_0.xml b/.idea/copyright/Apache_License__Version_2_0.xml
deleted file mode 100644
index 1268441..0000000
--- a/.idea/copyright/Apache_License__Version_2_0.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml
deleted file mode 100644
index 38b896c..0000000
--- a/.idea/copyright/profiles_settings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
deleted file mode 100644
index b26911b..0000000
--- a/.idea/encodings.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/google-java-format.xml b/.idea/google-java-format.xml
deleted file mode 100644
index 2aa056d..0000000
--- a/.idea/google-java-format.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
deleted file mode 100644
index 0cb3555..0000000
--- a/.idea/misc.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
deleted file mode 100644
index c0e156d..0000000
--- a/.idea/modules.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/runConfigurations/All_Tests.xml b/.idea/runConfigurations/All_Tests.xml
deleted file mode 100644
index a557a9b..0000000
--- a/.idea/runConfigurations/All_Tests.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
deleted file mode 100644
index 94a25f7..0000000
--- a/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/README.md b/README.md
index 1ed12ec..d68e76f 100644
--- a/README.md
+++ b/README.md
@@ -6,10 +6,10 @@
| `unit-test-8` | [](https://java-experience.ci.springapps.io/teams/java-experience/pipelines/client-certificate-mapper/jobs/unit-test-8)
| `deploy` | [](https://java-experience.ci.springapps.io/teams/java-experience/pipelines/client-certificate-mapper/jobs/deploy)
-The `java-buildpack-client-certificate-mapper` is a Servlet filter that maps the `X-Forwarded-Client-Cert` to the `javax.servlet.request.X509Certificate` Servlet attribute.
+The `java-buildpack-client-certificate-mapper` is a Servlet filter that maps the `X-Forwarded-Client-Cert` to the `jakarta.servlet.request.X509Certificate` Servlet attribute.
## Development
-The project depends on Java 7. To build from source, run the following:
+The project depends on Java 17. To build from source, run the following:
```shell
$ ./mvnw clean package
diff --git a/ci/deploy.sh b/ci/deploy.sh
index ec81cec..d242e3f 100755
--- a/ci/deploy.sh
+++ b/ci/deploy.sh
@@ -4,5 +4,7 @@ set -euo pipefail
[[ -d $PWD/maven && ! -d $HOME/.m2 ]] && ln -s $PWD/maven $HOME/.m2
+REPOSITORY="${PWD}"/repository
+
cd java-buildpack-client-certificate-mapper
-./mvnw -q -Dmaven.test.skip=true deploy
+./mvnw -q -Dmaven.test.skip=true deploy -DcreateChecksum=true -DaltDeploymentRepository="local::default::file://${REPOSITORY}"
\ No newline at end of file
diff --git a/ci/deploy.yml b/ci/deploy.yml
deleted file mode 100644
index 0c13e5b..0000000
--- a/ci/deploy.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-platform: linux
-
-image_resource:
- type: registry-image
- source:
- repository: openjdk
- tag: 8-jdk
-
-inputs:
-- name: java-buildpack-client-certificate-mapper
-
-caches:
-- path: maven
-
-run:
- path: java-buildpack-client-certificate-mapper/ci/deploy.sh
-
-params:
- ARTIFACTORY_USERNAME:
- ARTIFACTORY_PASSWORD:
diff --git a/ci/promote-to-maven-central.sh b/ci/promote-to-maven-central.sh
new file mode 100644
index 0000000..639f0ad
--- /dev/null
+++ b/ci/promote-to-maven-central.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+export BUILD_INFO_LOCATION=$(pwd)/repository/build-info.json
+
+java -jar /concourse-release-scripts.jar publishToCentral 'RELEASE' "$BUILD_INFO_LOCATION" repository
+
+echo "Sync complete"
\ No newline at end of file
diff --git a/ci/unit-test.yml b/ci/unit-test.yml
deleted file mode 100644
index 6ada048..0000000
--- a/ci/unit-test.yml
+++ /dev/null
@@ -1,17 +0,0 @@
----
-platform: linux
-
-image_resource:
- type: registry-image
- source:
- repository: openjdk
- tag: 8-jdk
-
-inputs:
-- name: java-buildpack-client-certificate-mapper
-
-caches:
-- path: maven
-
-run:
- path: java-buildpack-client-certificate-mapper/ci/unit-test.sh
diff --git a/java-buildpack-client-certificate-mapper.iml b/java-buildpack-client-certificate-mapper.iml
deleted file mode 100644
index 434b359..0000000
--- a/java-buildpack-client-certificate-mapper.iml
+++ /dev/null
@@ -1,87 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 1a8cf2b..f245e8f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -26,18 +26,41 @@
org.springframework.boot
spring-boot-dependencies
- 2.1.7.RELEASE
+ 3.1.5
org.cloudfoundry
java-buildpack-client-certificate-mapper
Cloud Foundry Client Certificate Mapper
- 1.12.0.BUILD-SNAPSHOT
+ 2.0.0-SNAPSHOT
jar
+
+
+
+ VMware
+ info@vmware.com
+ VMware, Inc.
+ https://www.cloudfoundry.org
+
+
+
+
+ The Apache License, Version 2.0
+ http://www.apache.org/licenses/LICENSE-2.0.txt
+
+
https://github.com/cloudfoundry/java-buildpack-client-certificate-mapper
+
+ https://github.com/cloudfoundry/java-buildpack-client-certificate-mapper
+
UTF-8
+ 3.1.1
+ 2.22.1
+ 3.1.0
+ 3.8.1
+ 17
@@ -47,8 +70,8 @@
test
- javax.servlet
- javax.servlet-api
+ jakarta.servlet
+ jakarta.servlet-api
provided
@@ -61,6 +84,11 @@
spring-boot-starter-test
test
+
+ org.junit.vintage
+ junit-vintage-engine
+ test
+
org.springframework.boot
spring-boot-starter-web
@@ -73,28 +101,21 @@
org.apache.maven.plugins
maven-compiler-plugin
- 3.8.1
+ ${maven-compiler-plugin.version}
-
-
-
- -Xlint:all
- -Xlint:-options
-
- true
- 1.8
- 1.8
+ ${java-version}
+ ${java-version}
org.apache.maven.plugins
maven-deploy-plugin
- 2.8.2
+ ${maven-deploy-plugin.version}
org.apache.maven.plugins
maven-source-plugin
- 3.1.0
+ ${maven-source-plugin.version}
attach-sources
@@ -107,46 +128,31 @@
org.apache.maven.plugins
maven-surefire-plugin
- 2.22.1
+ ${maven-surefire-plugin.version}
random
- org.jfrog.buildinfo
- artifactory-maven-plugin
- 2.6.1
- false
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 3.6.0
+
+
+ https://projectreactor.io/docs/core/release/api/
+
+ true
+ 8
+
- build-info
+ attach-javadocs
- publish
+ jar
-
-
- https://repo.spring.io
- {{ARTIFACTORY_USERNAME}}
- {{ARTIFACTORY_PASSWORD}}
- {{ARTIFACTORY_REPO_KEY|"libs-release-local"}}
- {{ARTIFACTORY_SNAPSHOT_REPO_KEY|"libs-snapshot-local"}}
-
-
-
-
-
-
- false
-
- central
- bintray-plugins
- https://jcenter.bintray.com
-
-
-
diff --git a/src/main/java/org/cloudfoundry/router/ClientCertificateMapper.java b/src/main/java/org/cloudfoundry/router/ClientCertificateMapper.java
index 226ddda..6ea9d67 100644
--- a/src/main/java/org/cloudfoundry/router/ClientCertificateMapper.java
+++ b/src/main/java/org/cloudfoundry/router/ClientCertificateMapper.java
@@ -16,13 +16,13 @@
package org.cloudfoundry.router;
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.Filter;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.FilterConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
@@ -40,12 +40,12 @@
import java.util.logging.Logger;
/**
- * A Servlet {@link Filter} that translates the {@code X-Forwarded-Client} HTTP header to the {@code javax.servlet.request.X509Certificate} Servlet attribute. This implementation handles both
+ * A Servlet {@link Filter} that translates the {@code X-Forwarded-Client} HTTP header to the {@code jakarta.servlet.request.X509Certificate} Servlet attribute. This implementation handles both
* multiple headers as well as the RFC 7230 comma delimited equivalent.
*/
final class ClientCertificateMapper implements Filter {
- static final String ATTRIBUTE = "javax.servlet.request.X509Certificate";
+ static final String ATTRIBUTE = "jakarta.servlet.request.X509Certificate";
static final String HEADER = "X-Forwarded-Client-Cert";
diff --git a/src/main/java/org/cloudfoundry/router/ClientCertificateMapperAutoConfiguration.java b/src/main/java/org/cloudfoundry/router/ClientCertificateMapperAutoConfiguration.java
index c9c05b3..1e515ac 100644
--- a/src/main/java/org/cloudfoundry/router/ClientCertificateMapperAutoConfiguration.java
+++ b/src/main/java/org/cloudfoundry/router/ClientCertificateMapperAutoConfiguration.java
@@ -24,7 +24,7 @@
import org.springframework.context.annotation.Configuration;
import org.springframework.core.Ordered;
-import javax.servlet.Filter;
+import jakarta.servlet.Filter;
import java.security.cert.CertificateException;
@ConditionalOnClass({Filter.class, FilterRegistrationBean.class})
diff --git a/src/main/java/org/cloudfoundry/router/ClientCertificateMapperServletContainerInitializer.java b/src/main/java/org/cloudfoundry/router/ClientCertificateMapperServletContainerInitializer.java
index b691b07..7617148 100644
--- a/src/main/java/org/cloudfoundry/router/ClientCertificateMapperServletContainerInitializer.java
+++ b/src/main/java/org/cloudfoundry/router/ClientCertificateMapperServletContainerInitializer.java
@@ -16,11 +16,11 @@
package org.cloudfoundry.router;
-import javax.servlet.DispatcherType;
-import javax.servlet.FilterRegistration;
-import javax.servlet.ServletContainerInitializer;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
+import jakarta.servlet.DispatcherType;
+import jakarta.servlet.FilterRegistration;
+import jakarta.servlet.ServletContainerInitializer;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletException;
import java.security.cert.CertificateException;
import java.util.EnumSet;
import java.util.Set;
diff --git a/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer b/src/main/resources/META-INF/services/jakarta.servlet.ServletContainerInitializer
similarity index 100%
rename from src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer
rename to src/main/resources/META-INF/services/jakarta.servlet.ServletContainerInitializer
diff --git a/src/test/java/org/cloudfoundry/router/ClientCertificateMapperServletContainerInitializerTest.java b/src/test/java/org/cloudfoundry/router/ClientCertificateMapperServletContainerInitializerTest.java
index f6900f8..6acb153 100644
--- a/src/test/java/org/cloudfoundry/router/ClientCertificateMapperServletContainerInitializerTest.java
+++ b/src/test/java/org/cloudfoundry/router/ClientCertificateMapperServletContainerInitializerTest.java
@@ -19,10 +19,10 @@
import org.junit.Test;
import org.springframework.mock.web.MockServletContext;
-import javax.servlet.DispatcherType;
-import javax.servlet.Filter;
-import javax.servlet.FilterRegistration;
-import javax.servlet.ServletException;
+import jakarta.servlet.DispatcherType;
+import jakarta.servlet.Filter;
+import jakarta.servlet.FilterRegistration;
+import jakarta.servlet.ServletException;
import java.util.EnumSet;
import static org.assertj.core.api.Assertions.assertThat;
diff --git a/src/test/java/org/cloudfoundry/router/ClientCertificateMapperTest.java b/src/test/java/org/cloudfoundry/router/ClientCertificateMapperTest.java
index 58842ed..2278828 100644
--- a/src/test/java/org/cloudfoundry/router/ClientCertificateMapperTest.java
+++ b/src/test/java/org/cloudfoundry/router/ClientCertificateMapperTest.java
@@ -21,7 +21,7 @@
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
-import javax.servlet.ServletException;
+import jakarta.servlet.ServletException;
import java.io.IOException;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;