diff --git a/pom.xml b/pom.xml
index 315964db..02fc13fc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -43,12 +43,74 @@
true
spotbugs-exclude.xml
+ 1.12.0
+ 7.0.0
+ 2.1.1
+ 2.0.1
+ 5.0.0
+ 11.0.24
+ 0.27.0
0.40.13
+ 21
4.9.8.3
+
+
+
+ com.google.inject
+ guice
+ ${guice.version}
+
+
+ jakarta.annotation
+ jakarta.annotation-api
+ ${jakarta.annotation-api.version}
+
+
+ jakarta.inject
+ jakarta.inject-api
+ ${jakarta.inject-api.version}
+
+
+ jakarta.servlet
+ jakarta.servlet-api
+ ${jakarta.servlet-api.version}
+
+
+ org.eclipse.jetty
+ jetty-alpn-server
+ ${jetty.version}
+
+
+ org.eclipse.jetty
+ jetty-http
+ ${jetty.version}
+
+
+ org.eclipse.jetty
+ jetty-io
+ ${jetty.version}
+
+
+ org.eclipse.jetty
+ jetty-server
+ ${jetty.version}
+
+
+ org.eclipse.jetty
+ jetty-util
+ ${jetty.version}
+
+
+ org.eclipse.jetty.http2
+ http2-server
+ ${jetty.version}
+
+
+
com.fasterxml.jackson.core
@@ -75,10 +137,6 @@
com.fasterxml.jackson.datatype
jackson-datatype-joda
-
- com.github.spotbugs
- spotbugs-annotations
-
com.google.code.findbugs
jsr305
@@ -131,18 +189,6 @@
org.joda
joda-money
-
- org.jooby
- jooby
-
-
- org.jooby
- jooby-jackson
-
-
- org.jooby
- jooby-servlet
-
org.jooq
jooq
@@ -228,26 +274,36 @@
org.kill-bill.commons
killbill-clock
+ ${killbill-commons.version}
provided
org.kill-bill.commons
killbill-embeddeddb-common
+ ${killbill-commons.version}
test
org.kill-bill.commons
killbill-embeddeddb-mysql
+ ${killbill-commons.version}
test
org.kill-bill.commons
killbill-embeddeddb-postgresql
+ ${killbill-commons.version}
test
+
+ org.kill-bill.commons
+ killbill-jooby
+ ${killbill-commons.version}
+
org.kill-bill.commons
killbill-utils
+ ${killbill-commons.version}
provided
@@ -292,6 +348,17 @@
spotbugs-maven-plugin
${spotbugs-maven-plugin.version}
+
+ org.apache.maven.plugins
+ maven-enforcer-plugin
+
+
+ org.codehaus.mojo
+ extra-enforcer-rules
+ ${extra-enforcer-rules.version}
+
+
+
org.apache.maven.plugins
maven-jar-plugin
diff --git a/spotbugs-exclude.xml b/spotbugs-exclude.xml
index 40eaab96..9732c1e3 100644
--- a/spotbugs-exclude.xml
+++ b/spotbugs-exclude.xml
@@ -18,4 +18,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/java/org/killbill/billing/plugin/api/PluginProperties.java b/src/main/java/org/killbill/billing/plugin/api/PluginProperties.java
index 515b16ca..6046d04c 100644
--- a/src/main/java/org/killbill/billing/plugin/api/PluginProperties.java
+++ b/src/main/java/org/killbill/billing/plugin/api/PluginProperties.java
@@ -33,8 +33,6 @@
import org.killbill.commons.utils.Strings;
import org.killbill.commons.utils.collect.Iterables;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
-
public abstract class PluginProperties {
// Last one has precedence
@@ -122,7 +120,6 @@ public static Iterable findPluginProperties(final Pattern keyPat
.collect(Collectors.toUnmodifiableSet());
}
- @SuppressFBWarnings("WMI_WRONG_MAP_ITERATOR")
public static List buildPluginProperties(@Nullable final Map data) {
if (data == null || data.isEmpty()) {
return Collections.emptyList();
diff --git a/src/main/java/org/killbill/billing/plugin/core/JoobyServlet.java b/src/main/java/org/killbill/billing/plugin/core/JoobyServlet.java
index f7cf9c68..11d6314f 100644
--- a/src/main/java/org/killbill/billing/plugin/core/JoobyServlet.java
+++ b/src/main/java/org/killbill/billing/plugin/core/JoobyServlet.java
@@ -20,10 +20,10 @@
import java.io.IOException;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import org.jooby.Sse;
import org.jooby.servlet.ServletServletRequest;
diff --git a/src/main/java/org/killbill/billing/plugin/core/PluginServlet.java b/src/main/java/org/killbill/billing/plugin/core/PluginServlet.java
index 2fa6ef52..58cbeaf0 100644
--- a/src/main/java/org/killbill/billing/plugin/core/PluginServlet.java
+++ b/src/main/java/org/killbill/billing/plugin/core/PluginServlet.java
@@ -26,11 +26,12 @@
import java.util.regex.Pattern;
import javax.annotation.Nullable;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import org.joda.time.LocalDate;
import org.joda.time.format.DateTimeFormat;
diff --git a/src/main/java/org/killbill/billing/plugin/core/resources/ServletSse.java b/src/main/java/org/killbill/billing/plugin/core/resources/ServletSse.java
index e0fe839c..9ba4b220 100644
--- a/src/main/java/org/killbill/billing/plugin/core/resources/ServletSse.java
+++ b/src/main/java/org/killbill/billing/plugin/core/resources/ServletSse.java
@@ -23,10 +23,10 @@
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.atomic.AtomicBoolean;
-import javax.servlet.AsyncContext;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.AsyncContext;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+import jakarta.servlet.http.HttpServletResponse;
import org.jooby.Sse;
diff --git a/src/main/java/org/killbill/billing/plugin/core/resources/jooby/PluginApp.java b/src/main/java/org/killbill/billing/plugin/core/resources/jooby/PluginApp.java
index 9d95a2f8..c95d16bf 100644
--- a/src/main/java/org/killbill/billing/plugin/core/resources/jooby/PluginApp.java
+++ b/src/main/java/org/killbill/billing/plugin/core/resources/jooby/PluginApp.java
@@ -18,7 +18,7 @@
package org.killbill.billing.plugin.core.resources.jooby;
-import javax.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServlet;
import org.jooby.Jooby;
import org.jooby.json.Jackson;
diff --git a/src/main/java/org/killbill/billing/plugin/util/http/SslUtils.java b/src/main/java/org/killbill/billing/plugin/util/http/SslUtils.java
index 4cb079d5..6fff4dee 100644
--- a/src/main/java/org/killbill/billing/plugin/util/http/SslUtils.java
+++ b/src/main/java/org/killbill/billing/plugin/util/http/SslUtils.java
@@ -42,9 +42,7 @@ public void checkServerTrusted(final java.security.cert.X509Certificate[] certs,
}
}
- private final SSLContext looseTrustManagerSSLContext = looseTrustManagerSSLContext();
-
- private SSLContext looseTrustManagerSSLContext() {
+ private static SSLContext buildLooseTrustManagerSSLContext() {
try {
final SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(null, new TrustManager[]{new LooseTrustManager()}, new SecureRandom());
@@ -60,11 +58,15 @@ private static class SingletonHolder {
public static final SslUtils instance = new SslUtils();
}
+ private static class LooseTrustManagerSSLContextHolder {
+ public static final SSLContext instance = buildLooseTrustManagerSSLContext();
+ }
+
public static SslUtils getInstance() {
return SingletonHolder.instance;
}
public SSLContext getSSLContext(final boolean acceptAnyCertificate) throws GeneralSecurityException {
- return acceptAnyCertificate ? looseTrustManagerSSLContext : SSLContext.getDefault();
+ return acceptAnyCertificate ? LooseTrustManagerSSLContextHolder.instance : SSLContext.getDefault();
}
}