diff --git a/belgif-rest-problem-bom/pom.xml b/belgif-rest-problem-bom/pom.xml
index ea61bbd1..1605625d 100644
--- a/belgif-rest-problem-bom/pom.xml
+++ b/belgif-rest-problem-bom/pom.xml
@@ -28,8 +28,37 @@
io.github.belgif.rest.problem
- belgif-rest-problem-java-ee
- jakarta
+ belgif-rest-problem-java-ee-core
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-java-ee-client
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-java-ee-server
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-jakarta-ee
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-jakarta-ee-core
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-jakarta-ee-client
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-jakarta-ee-server
${project.version}
@@ -37,16 +66,76 @@
belgif-rest-problem-spring-boot-common
${project.version}
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-spring-boot-common-client
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-spring-boot-common-server
+ ${project.version}
+
io.github.belgif.rest.problem
belgif-rest-problem-spring-boot-3
${project.version}
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-spring-boot-3-core
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-spring-boot-3-client
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-spring-boot-3-server
+ ${project.version}
+
io.github.belgif.rest.problem
belgif-rest-problem-spring-boot-4
${project.version}
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-spring-boot-4-core
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-spring-boot-4-client
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-spring-boot-4-server
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-quarkus
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-quarkus-core
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-quarkus-client
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-quarkus-server
+ ${project.version}
+
io.github.belgif.rest.problem
belgif-rest-problem-validator
diff --git a/belgif-rest-problem-it/belgif-rest-problem-it-common-jakarta/pom.xml b/belgif-rest-problem-it/belgif-rest-problem-it-common-jakarta/pom.xml
new file mode 100644
index 00000000..40749991
--- /dev/null
+++ b/belgif-rest-problem-it/belgif-rest-problem-it-common-jakarta/pom.xml
@@ -0,0 +1,42 @@
+
+
+ 4.0.0
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-it
+ ${revision}
+
+
+ belgif-rest-problem-it-common-jakarta
+ ${project.groupId}:${project.artifactId}
+
+
+
+
+ org.eclipse.transformer
+ transformer-maven-plugin
+
+
+ package
+
+ jar
+
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-it-common
+ ${project.version}
+
+
+ true
+
+
+
+
+
+
+
+
+
diff --git a/belgif-rest-problem-it/belgif-rest-problem-it-common/pom.xml b/belgif-rest-problem-it/belgif-rest-problem-it-common/pom.xml
index dd326d8a..be20e755 100644
--- a/belgif-rest-problem-it/belgif-rest-problem-it-common/pom.xml
+++ b/belgif-rest-problem-it/belgif-rest-problem-it-common/pom.xml
@@ -59,22 +59,4 @@
-
-
-
- org.eclipse.transformer
- transformer-maven-plugin
-
-
- create-jakarta-variant
- package
-
- jar
-
-
-
-
-
-
-
diff --git a/belgif-rest-problem-it/belgif-rest-problem-jakarta-ee-it/pom.xml b/belgif-rest-problem-it/belgif-rest-problem-jakarta-ee-it/pom.xml
index 4b25a604..6851aa56 100644
--- a/belgif-rest-problem-it/belgif-rest-problem-jakarta-ee-it/pom.xml
+++ b/belgif-rest-problem-it/belgif-rest-problem-jakarta-ee-it/pom.xml
@@ -37,9 +37,8 @@
io.github.belgif.rest.problem
- belgif-rest-problem-java-ee
+ belgif-rest-problem-jakarta-ee
${project.version}
- jakarta
io.github.belgif.rest.problem
@@ -48,9 +47,8 @@
io.github.belgif.rest.problem
- belgif-rest-problem-it-common
+ belgif-rest-problem-it-common-jakarta
${project.version}
- jakarta
jakarta.platform
diff --git a/belgif-rest-problem-it/belgif-rest-problem-quarkus-it/pom.xml b/belgif-rest-problem-it/belgif-rest-problem-quarkus-it/pom.xml
index 97854a20..2d415050 100644
--- a/belgif-rest-problem-it/belgif-rest-problem-quarkus-it/pom.xml
+++ b/belgif-rest-problem-it/belgif-rest-problem-quarkus-it/pom.xml
@@ -38,8 +38,7 @@
io.github.belgif.rest.problem
- belgif-rest-problem-it-common
- jakarta
+ belgif-rest-problem-it-common-jakarta
${project.version}
diff --git a/belgif-rest-problem-it/belgif-rest-problem-spring-boot-3-it/pom.xml b/belgif-rest-problem-it/belgif-rest-problem-spring-boot-3-it/pom.xml
index cf6db6d2..e19b6479 100644
--- a/belgif-rest-problem-it/belgif-rest-problem-spring-boot-3-it/pom.xml
+++ b/belgif-rest-problem-it/belgif-rest-problem-spring-boot-3-it/pom.xml
@@ -42,9 +42,8 @@
io.github.belgif.rest.problem
- belgif-rest-problem-it-common
+ belgif-rest-problem-it-common-jakarta
${project.version}
- jakarta
org.springframework.boot
diff --git a/belgif-rest-problem-it/belgif-rest-problem-spring-boot-4-it/pom.xml b/belgif-rest-problem-it/belgif-rest-problem-spring-boot-4-it/pom.xml
index 72b90f05..86ec535a 100644
--- a/belgif-rest-problem-it/belgif-rest-problem-spring-boot-4-it/pom.xml
+++ b/belgif-rest-problem-it/belgif-rest-problem-spring-boot-4-it/pom.xml
@@ -46,9 +46,8 @@
io.github.belgif.rest.problem
- belgif-rest-problem-it-common
+ belgif-rest-problem-it-common-jakarta
${project.version}
- jakarta
org.springframework.boot
diff --git a/belgif-rest-problem-it/pom.xml b/belgif-rest-problem-it/pom.xml
index d0b6853a..56562119 100644
--- a/belgif-rest-problem-it/pom.xml
+++ b/belgif-rest-problem-it/pom.xml
@@ -34,6 +34,7 @@
belgif-rest-problem-apt
belgif-rest-problem-it-common
+ belgif-rest-problem-it-common-jakarta
belgif-rest-problem-spring-boot-3-it
belgif-rest-problem-spring-boot-4-it
belgif-rest-problem-java-ee-it
diff --git a/belgif-rest-problem-jakarta-ee-client/pom.xml b/belgif-rest-problem-jakarta-ee-client/pom.xml
new file mode 100644
index 00000000..1181f0b2
--- /dev/null
+++ b/belgif-rest-problem-jakarta-ee-client/pom.xml
@@ -0,0 +1,51 @@
+
+
+ 4.0.0
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-parent
+ ${revision}
+
+
+ belgif-rest-problem-jakarta-ee-client
+ ${project.groupId}:${project.artifactId}
+ jar
+
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-jakarta-ee-core
+ ${project.version}
+
+
+
+
+
+
+ org.eclipse.transformer
+ transformer-maven-plugin
+
+
+ package
+
+ jar
+
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-java-ee-client
+ ${project.version}
+
+
+ true
+
+
+
+
+
+
+
+
+
diff --git a/belgif-rest-problem-jakarta-ee-core/pom.xml b/belgif-rest-problem-jakarta-ee-core/pom.xml
new file mode 100644
index 00000000..29dd1d5b
--- /dev/null
+++ b/belgif-rest-problem-jakarta-ee-core/pom.xml
@@ -0,0 +1,43 @@
+
+
+ 4.0.0
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-parent
+ ${revision}
+
+
+ belgif-rest-problem-jakarta-ee-core
+ ${project.groupId}:${project.artifactId}
+ jar
+
+
+
+
+ org.eclipse.transformer
+ transformer-maven-plugin
+
+
+ package
+
+ jar
+
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-java-ee-core
+ ${project.version}
+
+
+ true
+
+
+
+
+
+
+
+
+
diff --git a/belgif-rest-problem-jakarta-ee-server/pom.xml b/belgif-rest-problem-jakarta-ee-server/pom.xml
new file mode 100644
index 00000000..21761cb4
--- /dev/null
+++ b/belgif-rest-problem-jakarta-ee-server/pom.xml
@@ -0,0 +1,51 @@
+
+
+ 4.0.0
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-parent
+ ${revision}
+
+
+ belgif-rest-problem-jakarta-ee-server
+ ${project.groupId}:${project.artifactId}
+ jar
+
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-jakarta-ee-core
+ ${project.version}
+
+
+
+
+
+
+ org.eclipse.transformer
+ transformer-maven-plugin
+
+
+ package
+
+ jar
+
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-java-ee-server
+ ${project.version}
+
+
+ true
+
+
+
+
+
+
+
+
+
diff --git a/belgif-rest-problem-jakarta-ee/pom.xml b/belgif-rest-problem-jakarta-ee/pom.xml
new file mode 100644
index 00000000..54c02415
--- /dev/null
+++ b/belgif-rest-problem-jakarta-ee/pom.xml
@@ -0,0 +1,29 @@
+
+
+ 4.0.0
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-parent
+ ${revision}
+
+
+ belgif-rest-problem-jakarta-ee
+ ${project.groupId}:${project.artifactId}
+ jar
+
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-jakarta-ee-client
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-jakarta-ee-server
+ ${project.version}
+
+
+
+
diff --git a/belgif-rest-problem-java-ee-client/pom.xml b/belgif-rest-problem-java-ee-client/pom.xml
new file mode 100644
index 00000000..d66534c4
--- /dev/null
+++ b/belgif-rest-problem-java-ee-client/pom.xml
@@ -0,0 +1,69 @@
+
+
+ 4.0.0
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-parent
+ ${revision}
+
+
+ belgif-rest-problem-java-ee-client
+ ${project.groupId}:${project.artifactId}
+ jar
+
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-java-ee-core
+ ${project.version}
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ ${version.jackson.minimal}
+ provided
+
+
+ jakarta.platform
+ jakarta.jakartaee-api
+ 8.0.0
+ provided
+
+
+ org.jboss.resteasy
+ resteasy-client-microprofile
+ provided
+ 3.15.6.Final
+
+
+ org.slf4j
+ slf4j-api
+ 2.0.17
+ provided
+
+
+ org.junit.jupiter
+ junit-jupiter
+ test
+
+
+ org.assertj
+ assertj-core
+ test
+
+
+ org.mockito
+ mockito-junit-jupiter
+ test
+
+
+ ch.qos.logback
+ logback-classic
+ 1.5.26
+ test
+
+
+
+
diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilder.java b/belgif-rest-problem-java-ee-client/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilder.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilder.java
rename to belgif-rest-problem-java-ee-client/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilder.java
diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilderProducer.java b/belgif-rest-problem-java-ee-client/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilderProducer.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilderProducer.java
rename to belgif-rest-problem-java-ee-client/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilderProducer.java
diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientResponseFilter.java b/belgif-rest-problem-java-ee-client/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientResponseFilter.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientResponseFilter.java
rename to belgif-rest-problem-java-ee-client/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientResponseFilter.java
diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemResponseExceptionMapper.java b/belgif-rest-problem-java-ee-client/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemResponseExceptionMapper.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemResponseExceptionMapper.java
rename to belgif-rest-problem-java-ee-client/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemResponseExceptionMapper.java
diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemRestClientListener.java b/belgif-rest-problem-java-ee-client/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemRestClientListener.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemRestClientListener.java
rename to belgif-rest-problem-java-ee-client/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemRestClientListener.java
diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemSupport.java b/belgif-rest-problem-java-ee-client/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemSupport.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemSupport.java
rename to belgif-rest-problem-java-ee-client/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemSupport.java
diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemWrapper.java b/belgif-rest-problem-java-ee-client/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemWrapper.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemWrapper.java
rename to belgif-rest-problem-java-ee-client/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemWrapper.java
diff --git a/belgif-rest-problem-java-ee/src/main/resources/META-INF/beans.xml b/belgif-rest-problem-java-ee-client/src/main/resources/META-INF/beans.xml
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/resources/META-INF/beans.xml
rename to belgif-rest-problem-java-ee-client/src/main/resources/META-INF/beans.xml
diff --git a/belgif-rest-problem-java-ee/src/main/resources/META-INF/services/org.eclipse.microprofile.rest.client.spi.RestClientListener b/belgif-rest-problem-java-ee-client/src/main/resources/META-INF/services/org.eclipse.microprofile.rest.client.spi.RestClientListener
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/resources/META-INF/services/org.eclipse.microprofile.rest.client.spi.RestClientListener
rename to belgif-rest-problem-java-ee-client/src/main/resources/META-INF/services/org.eclipse.microprofile.rest.client.spi.RestClientListener
diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilderProducerTest.java b/belgif-rest-problem-java-ee-client/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilderProducerTest.java
similarity index 84%
rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilderProducerTest.java
rename to belgif-rest-problem-java-ee-client/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilderProducerTest.java
index f9987967..f607f6d1 100644
--- a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilderProducerTest.java
+++ b/belgif-rest-problem-java-ee-client/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilderProducerTest.java
@@ -21,7 +21,8 @@ void problemClientBuilder() {
void problemClient() {
Client client = new ProblemClientBuilderProducer().problemClient();
assertThat(Proxy.isProxyClass(client.getClass())).isTrue();
- assertThat(Proxy.getInvocationHandler(client)).isInstanceOf(ProblemSupport.ClientInvocationHandler.class);
+ assertThat(Proxy.getInvocationHandler(client))
+ .isInstanceOf(ProblemSupport.ClientInvocationHandler.class);
}
}
diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilderTest.java b/belgif-rest-problem-java-ee-client/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilderTest.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilderTest.java
rename to belgif-rest-problem-java-ee-client/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilderTest.java
diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientResponseFilterTest.java b/belgif-rest-problem-java-ee-client/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientResponseFilterTest.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientResponseFilterTest.java
rename to belgif-rest-problem-java-ee-client/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientResponseFilterTest.java
diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemResponseExceptionMapperTest.java b/belgif-rest-problem-java-ee-client/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemResponseExceptionMapperTest.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemResponseExceptionMapperTest.java
rename to belgif-rest-problem-java-ee-client/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemResponseExceptionMapperTest.java
diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemRestClientListenerTest.java b/belgif-rest-problem-java-ee-client/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemRestClientListenerTest.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemRestClientListenerTest.java
rename to belgif-rest-problem-java-ee-client/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemRestClientListenerTest.java
diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemSupportTest.java b/belgif-rest-problem-java-ee-client/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemSupportTest.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemSupportTest.java
rename to belgif-rest-problem-java-ee-client/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemSupportTest.java
diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemWrapperTest.java b/belgif-rest-problem-java-ee-client/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemWrapperTest.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemWrapperTest.java
rename to belgif-rest-problem-java-ee-client/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemWrapperTest.java
diff --git a/belgif-rest-problem-java-ee/src/test/resources/logback-test.xml b/belgif-rest-problem-java-ee-client/src/test/resources/logback-test.xml
similarity index 100%
rename from belgif-rest-problem-java-ee/src/test/resources/logback-test.xml
rename to belgif-rest-problem-java-ee-client/src/test/resources/logback-test.xml
diff --git a/belgif-rest-problem-java-ee-core/pom.xml b/belgif-rest-problem-java-ee-core/pom.xml
new file mode 100644
index 00000000..218072f1
--- /dev/null
+++ b/belgif-rest-problem-java-ee-core/pom.xml
@@ -0,0 +1,82 @@
+
+
+ 4.0.0
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-parent
+ ${revision}
+
+
+ belgif-rest-problem-java-ee-core
+ ${project.groupId}:${project.artifactId}
+ jar
+
+
+
+
+ --add-opens java.base/java.util=ALL-UNNAMED
+ --add-opens java.base/java.lang=ALL-UNNAMED
+
+
+
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem
+ ${project.version}
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ ${version.jackson.minimal}
+ provided
+
+
+ jakarta.platform
+ jakarta.jakartaee-api
+ 8.0.0
+ provided
+
+
+ org.jboss.resteasy
+ resteasy-jaxrs
+ provided
+ 3.15.6.Final
+
+
+ org.slf4j
+ slf4j-api
+ 2.0.17
+ provided
+
+
+ org.junit.jupiter
+ junit-jupiter
+ test
+
+
+ org.assertj
+ assertj-core
+ test
+
+
+ org.mockito
+ mockito-junit-jupiter
+ test
+
+
+ org.junit-pioneer
+ junit-pioneer
+ test
+
+
+ ch.qos.logback
+ logback-classic
+ 1.5.26
+ test
+
+
+
+
diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/CdiProblemModule.java b/belgif-rest-problem-java-ee-core/src/main/java/io/github/belgif/rest/problem/ee/CdiProblemModule.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/CdiProblemModule.java
rename to belgif-rest-problem-java-ee-core/src/main/java/io/github/belgif/rest/problem/ee/CdiProblemModule.java
diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/CdiProblemTypeRegistry.java b/belgif-rest-problem-java-ee-core/src/main/java/io/github/belgif/rest/problem/ee/CdiProblemTypeRegistry.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/CdiProblemTypeRegistry.java
rename to belgif-rest-problem-java-ee-core/src/main/java/io/github/belgif/rest/problem/ee/CdiProblemTypeRegistry.java
diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemConfigurator.java b/belgif-rest-problem-java-ee-core/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemConfigurator.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemConfigurator.java
rename to belgif-rest-problem-java-ee-core/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemConfigurator.java
diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemMediaType.java b/belgif-rest-problem-java-ee-core/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemMediaType.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemMediaType.java
rename to belgif-rest-problem-java-ee-core/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemMediaType.java
diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemObjectMapper.java b/belgif-rest-problem-java-ee-core/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemObjectMapper.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemObjectMapper.java
rename to belgif-rest-problem-java-ee-core/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemObjectMapper.java
diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemObjectMapperContextResolver.java b/belgif-rest-problem-java-ee-core/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemObjectMapperContextResolver.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemObjectMapperContextResolver.java
rename to belgif-rest-problem-java-ee-core/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemObjectMapperContextResolver.java
diff --git a/belgif-rest-problem-java-ee-core/src/main/resources/META-INF/beans.xml b/belgif-rest-problem-java-ee-core/src/main/resources/META-INF/beans.xml
new file mode 100644
index 00000000..36fd59c6
--- /dev/null
+++ b/belgif-rest-problem-java-ee-core/src/main/resources/META-INF/beans.xml
@@ -0,0 +1,4 @@
+
+
diff --git a/belgif-rest-problem-java-ee/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension b/belgif-rest-problem-java-ee-core/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
rename to belgif-rest-problem-java-ee-core/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/CdiProblemModuleTest.java b/belgif-rest-problem-java-ee-core/src/test/java/io/github/belgif/rest/problem/ee/CdiProblemModuleTest.java
similarity index 79%
rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/CdiProblemModuleTest.java
rename to belgif-rest-problem-java-ee-core/src/test/java/io/github/belgif/rest/problem/ee/CdiProblemModuleTest.java
index 0b48f22e..0a38d244 100644
--- a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/CdiProblemModuleTest.java
+++ b/belgif-rest-problem-java-ee-core/src/test/java/io/github/belgif/rest/problem/ee/CdiProblemModuleTest.java
@@ -1,6 +1,5 @@
package io.github.belgif.rest.problem.ee;
-import static org.assertj.core.api.Assertions.*;
import static org.mockito.Mockito.*;
import java.util.HashMap;
@@ -8,11 +7,11 @@
import javax.enterprise.inject.Instance;
import javax.enterprise.inject.spi.CDI;
+import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
import org.mockito.MockedStatic;
-import org.mockito.Mockito;
import org.mockito.junit.jupiter.MockitoExtension;
import io.github.belgif.rest.problem.registry.ProblemTypeRegistry;
@@ -31,13 +30,14 @@ class CdiProblemModuleTest {
@Test
void module() {
- try (MockedStatic mock = Mockito.mockStatic(CDI.class)) {
+ try (MockedStatic mock = mockStatic(CDI.class)) {
mock.when(CDI::current).thenReturn(cdi);
when(cdi.select(ProblemTypeRegistry.class)).thenReturn(instance);
when(instance.get()).thenReturn(registry);
when(registry.getProblemTypes()).thenReturn(new HashMap<>());
CdiProblemModule module = new CdiProblemModule();
- assertThat(module.getModuleName()).isEqualTo("io.github.belgif.rest.problem.ee.CdiProblemModule");
+ Assertions.assertThat(module.getModuleName())
+ .isEqualTo("io.github.belgif.rest.problem.ee.CdiProblemModule");
}
}
diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/CdiProblemTypeRegistryTest.java b/belgif-rest-problem-java-ee-core/src/test/java/io/github/belgif/rest/problem/ee/CdiProblemTypeRegistryTest.java
similarity index 91%
rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/CdiProblemTypeRegistryTest.java
rename to belgif-rest-problem-java-ee-core/src/test/java/io/github/belgif/rest/problem/ee/CdiProblemTypeRegistryTest.java
index ce4434ca..e3c8e90a 100644
--- a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/CdiProblemTypeRegistryTest.java
+++ b/belgif-rest-problem-java-ee-core/src/test/java/io/github/belgif/rest/problem/ee/CdiProblemTypeRegistryTest.java
@@ -1,11 +1,11 @@
package io.github.belgif.rest.problem.ee;
-import static org.assertj.core.api.Assertions.*;
import static org.mockito.Mockito.*;
import javax.enterprise.inject.spi.AnnotatedType;
import javax.enterprise.inject.spi.ProcessAnnotatedType;
+import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
@@ -37,7 +37,7 @@ void processAnnotatedTypeSuccess() {
verify(processAnnotatedType).veto();
- assertThat(registry.getProblemTypes())
+ Assertions.assertThat(registry.getProblemTypes())
.containsEntry("urn:problem-type:belgif:badRequest", BadRequestProblem.class);
}
@@ -51,7 +51,7 @@ void processAnnotatedTypeNoAnnotation() {
verify(processAnnotatedType).veto();
- assertThat(registry.getProblemTypes()).isEmpty();
+ Assertions.assertThat(registry.getProblemTypes()).isEmpty();
}
}
diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemConfiguratorTest.java b/belgif-rest-problem-java-ee-core/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemConfiguratorTest.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemConfiguratorTest.java
rename to belgif-rest-problem-java-ee-core/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemConfiguratorTest.java
diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemMediaTypeTest.java b/belgif-rest-problem-java-ee-core/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemMediaTypeTest.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemMediaTypeTest.java
rename to belgif-rest-problem-java-ee-core/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemMediaTypeTest.java
diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemObjectMapperContextResolverTest.java b/belgif-rest-problem-java-ee-core/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemObjectMapperContextResolverTest.java
similarity index 94%
rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemObjectMapperContextResolverTest.java
rename to belgif-rest-problem-java-ee-core/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemObjectMapperContextResolverTest.java
index fed36b44..06d507ee 100644
--- a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemObjectMapperContextResolverTest.java
+++ b/belgif-rest-problem-java-ee-core/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemObjectMapperContextResolverTest.java
@@ -14,7 +14,6 @@
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
import org.mockito.MockedStatic;
-import org.mockito.Mockito;
import org.mockito.junit.jupiter.MockitoExtension;
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -36,7 +35,7 @@ class ProblemObjectMapperContextResolverTest {
@Test
void mapper() {
- try (MockedStatic mock = Mockito.mockStatic(CDI.class)) {
+ try (MockedStatic mock = mockStatic(CDI.class)) {
mock.when(CDI::current).thenReturn(cdi);
when(cdi.select(ProblemTypeRegistry.class)).thenReturn(instance);
when(instance.get()).thenReturn(registry);
diff --git a/belgif-rest-problem-spring-boot-3/src/test/resources/logback-test.xml b/belgif-rest-problem-java-ee-core/src/test/resources/logback-test.xml
similarity index 100%
rename from belgif-rest-problem-spring-boot-3/src/test/resources/logback-test.xml
rename to belgif-rest-problem-java-ee-core/src/test/resources/logback-test.xml
diff --git a/belgif-rest-problem-java-ee-server/pom.xml b/belgif-rest-problem-java-ee-server/pom.xml
new file mode 100644
index 00000000..75bb610c
--- /dev/null
+++ b/belgif-rest-problem-java-ee-server/pom.xml
@@ -0,0 +1,81 @@
+
+
+ 4.0.0
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-parent
+ ${revision}
+
+
+ belgif-rest-problem-java-ee-server
+ ${project.groupId}:${project.artifactId}
+ jar
+
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-java-ee-core
+ ${project.version}
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ ${version.jackson.minimal}
+ provided
+
+
+ jakarta.platform
+ jakarta.jakartaee-api
+ 8.0.0
+ provided
+
+
+ org.jboss.resteasy
+ resteasy-jaxrs
+ provided
+ 3.15.6.Final
+
+
+ org.slf4j
+ slf4j-api
+ 2.0.17
+ provided
+
+
+ org.junit.jupiter
+ junit-jupiter
+ test
+
+
+ org.assertj
+ assertj-core
+ test
+
+
+ org.mockito
+ mockito-junit-jupiter
+ test
+
+
+ org.hibernate.validator
+ hibernate-validator
+ 6.0.23.Final
+ test
+
+
+ org.glassfish
+ javax.el
+ 3.0.0
+ test
+
+
+ ch.qos.logback
+ logback-classic
+ 1.5.26
+ test
+
+
+
+
diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/internal/ConstraintViolationUtil.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/internal/ConstraintViolationUtil.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/internal/ConstraintViolationUtil.java
rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/internal/ConstraintViolationUtil.java
diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/internal/ParameterSourceMapper.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/internal/ParameterSourceMapper.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/internal/ParameterSourceMapper.java
rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/internal/ParameterSourceMapper.java
diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/AbstractInputParamConverterProvider.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/AbstractInputParamConverterProvider.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/AbstractInputParamConverterProvider.java
rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/AbstractInputParamConverterProvider.java
diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/AbstractUnwrappingExceptionMapper.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/AbstractUnwrappingExceptionMapper.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/AbstractUnwrappingExceptionMapper.java
rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/AbstractUnwrappingExceptionMapper.java
diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/BadRequestExceptionMapper.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/BadRequestExceptionMapper.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/BadRequestExceptionMapper.java
rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/BadRequestExceptionMapper.java
diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ConstraintViolationExceptionMapper.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ConstraintViolationExceptionMapper.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ConstraintViolationExceptionMapper.java
rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ConstraintViolationExceptionMapper.java
diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/DefaultExceptionMapper.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/DefaultExceptionMapper.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/DefaultExceptionMapper.java
rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/DefaultExceptionMapper.java
diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/EJBExceptionMapper.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/EJBExceptionMapper.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/EJBExceptionMapper.java
rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/EJBExceptionMapper.java
diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonMappingExceptionMapper.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonMappingExceptionMapper.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonMappingExceptionMapper.java
rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonMappingExceptionMapper.java
diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonParseExceptionMapper.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonParseExceptionMapper.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonParseExceptionMapper.java
rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonParseExceptionMapper.java
diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonMismatchedInputExceptionMapper.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonMismatchedInputExceptionMapper.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonMismatchedInputExceptionMapper.java
rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonMismatchedInputExceptionMapper.java
diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JaxRsParameterNameProvider.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JaxRsParameterNameProvider.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JaxRsParameterNameProvider.java
rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JaxRsParameterNameProvider.java
diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/NotFoundExceptionMapper.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/NotFoundExceptionMapper.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/NotFoundExceptionMapper.java
rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/NotFoundExceptionMapper.java
diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemExceptionMapper.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemExceptionMapper.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemExceptionMapper.java
rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemExceptionMapper.java
diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/WebApplicationExceptionMapper.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/WebApplicationExceptionMapper.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/WebApplicationExceptionMapper.java
rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/WebApplicationExceptionMapper.java
diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/I18NAcceptLanguageFilter.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/I18NAcceptLanguageFilter.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/I18NAcceptLanguageFilter.java
rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/I18NAcceptLanguageFilter.java
diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/ThreadLocalLocaleResolver.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/ThreadLocalLocaleResolver.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/ThreadLocalLocaleResolver.java
rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/ThreadLocalLocaleResolver.java
diff --git a/belgif-rest-problem-java-ee-server/src/main/resources/META-INF/beans.xml b/belgif-rest-problem-java-ee-server/src/main/resources/META-INF/beans.xml
new file mode 100644
index 00000000..36fd59c6
--- /dev/null
+++ b/belgif-rest-problem-java-ee-server/src/main/resources/META-INF/beans.xml
@@ -0,0 +1,4 @@
+
+
diff --git a/belgif-rest-problem-java-ee/src/main/resources/META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver b/belgif-rest-problem-java-ee-server/src/main/resources/META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/resources/META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver
rename to belgif-rest-problem-java-ee-server/src/main/resources/META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver
diff --git a/belgif-rest-problem-java-ee/src/main/resources/META-INF/validation.xml b/belgif-rest-problem-java-ee-server/src/main/resources/META-INF/validation.xml
similarity index 100%
rename from belgif-rest-problem-java-ee/src/main/resources/META-INF/validation.xml
rename to belgif-rest-problem-java-ee-server/src/main/resources/META-INF/validation.xml
diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/internal/ConstraintViolationUtilTest.java b/belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/internal/ConstraintViolationUtilTest.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/internal/ConstraintViolationUtilTest.java
rename to belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/internal/ConstraintViolationUtilTest.java
diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/AbstractInputParamConverterProviderTest.java b/belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/AbstractInputParamConverterProviderTest.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/AbstractInputParamConverterProviderTest.java
rename to belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/AbstractInputParamConverterProviderTest.java
diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/BadRequestExceptionMapperTest.java b/belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/BadRequestExceptionMapperTest.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/BadRequestExceptionMapperTest.java
rename to belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/BadRequestExceptionMapperTest.java
diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ConstraintViolationExceptionMapperTest.java b/belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ConstraintViolationExceptionMapperTest.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ConstraintViolationExceptionMapperTest.java
rename to belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ConstraintViolationExceptionMapperTest.java
diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/DefaultExceptionMapperTest.java b/belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/DefaultExceptionMapperTest.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/DefaultExceptionMapperTest.java
rename to belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/DefaultExceptionMapperTest.java
diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/EJBExceptionMapperTest.java b/belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/EJBExceptionMapperTest.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/EJBExceptionMapperTest.java
rename to belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/EJBExceptionMapperTest.java
diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonMappingExceptionMapperTest.java b/belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonMappingExceptionMapperTest.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonMappingExceptionMapperTest.java
rename to belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonMappingExceptionMapperTest.java
diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonParseExceptionMapperTest.java b/belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonParseExceptionMapperTest.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonParseExceptionMapperTest.java
rename to belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonParseExceptionMapperTest.java
diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonMismatchedInputExceptionMapperTest.java b/belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonMismatchedInputExceptionMapperTest.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonMismatchedInputExceptionMapperTest.java
rename to belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonMismatchedInputExceptionMapperTest.java
diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JaxRsParameterNameProviderTest.java b/belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JaxRsParameterNameProviderTest.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JaxRsParameterNameProviderTest.java
rename to belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JaxRsParameterNameProviderTest.java
diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/NotFoundExceptionMapperTest.java b/belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/NotFoundExceptionMapperTest.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/NotFoundExceptionMapperTest.java
rename to belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/NotFoundExceptionMapperTest.java
diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemExceptionMapperTest.java b/belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemExceptionMapperTest.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemExceptionMapperTest.java
rename to belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemExceptionMapperTest.java
diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/WebApplicationExceptionMapperTest.java b/belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/WebApplicationExceptionMapperTest.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/WebApplicationExceptionMapperTest.java
rename to belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/WebApplicationExceptionMapperTest.java
diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/I18NAcceptLanguageFilterTest.java b/belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/I18NAcceptLanguageFilterTest.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/I18NAcceptLanguageFilterTest.java
rename to belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/I18NAcceptLanguageFilterTest.java
diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/ThreadLocalLocaleResolverTest.java b/belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/ThreadLocalLocaleResolverTest.java
similarity index 100%
rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/ThreadLocalLocaleResolverTest.java
rename to belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/ThreadLocalLocaleResolverTest.java
diff --git a/belgif-rest-problem-spring-boot-4/src/test/resources/logback-test.xml b/belgif-rest-problem-java-ee-server/src/test/resources/logback-test.xml
similarity index 100%
rename from belgif-rest-problem-spring-boot-4/src/test/resources/logback-test.xml
rename to belgif-rest-problem-java-ee-server/src/test/resources/logback-test.xml
diff --git a/belgif-rest-problem-java-ee/pom.xml b/belgif-rest-problem-java-ee/pom.xml
index d985ac5e..0c548839 100644
--- a/belgif-rest-problem-java-ee/pom.xml
+++ b/belgif-rest-problem-java-ee/pom.xml
@@ -13,100 +13,17 @@
${project.groupId}:${project.artifactId}
jar
-
-
-
- --add-opens java.base/java.util=ALL-UNNAMED
- --add-opens java.base/java.lang=ALL-UNNAMED
-
-
-
io.github.belgif.rest.problem
- belgif-rest-problem
+ belgif-rest-problem-java-ee-client
${project.version}
- com.fasterxml.jackson.core
- jackson-databind
- ${version.jackson.minimal}
- provided
-
-
- jakarta.platform
- jakarta.jakartaee-api
- 8.0.0
- provided
-
-
- org.jboss.resteasy
- resteasy-client-microprofile
- provided
- 3.15.6.Final
-
-
- org.slf4j
- slf4j-api
- 2.0.17
- provided
-
-
- org.junit.jupiter
- junit-jupiter
- test
-
-
- org.assertj
- assertj-core
- test
-
-
- org.mockito
- mockito-junit-jupiter
- test
-
-
- org.junit-pioneer
- junit-pioneer
- test
-
-
- org.hibernate.validator
- hibernate-validator
- 6.0.23.Final
- test
-
-
- org.glassfish
- javax.el
- 3.0.0
- test
-
-
- ch.qos.logback
- logback-classic
- 1.5.32
- test
+ io.github.belgif.rest.problem
+ belgif-rest-problem-java-ee-server
+ ${project.version}
-
-
-
- org.eclipse.transformer
- transformer-maven-plugin
-
-
- create-jakarta-variant
- package
-
- jar
-
-
-
-
-
-
-
diff --git a/belgif-rest-problem-quarkus-client-deployment/pom.xml b/belgif-rest-problem-quarkus-client-deployment/pom.xml
new file mode 100644
index 00000000..799955ba
--- /dev/null
+++ b/belgif-rest-problem-quarkus-client-deployment/pom.xml
@@ -0,0 +1,97 @@
+
+
+ 4.0.0
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-parent
+ ${revision}
+
+
+ belgif-rest-problem-quarkus-client-deployment
+ ${project.groupId}:${project.artifactId}
+ jar
+
+
+
+
+ io.quarkus.platform
+ quarkus-bom
+ ${version.quarkus}
+ pom
+ import
+
+
+
+
+
+
+ io.quarkus
+ quarkus-arc-deployment
+
+
+ io.quarkus
+ quarkus-rest-jackson-common-deployment
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-quarkus-core-deployment
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-quarkus-client
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-jakarta-ee
+ ${project.version}
+ provided
+
+
+ jakarta.ws.rs
+ jakarta.ws.rs-api
+ provided
+
+
+ org.jboss.resteasy.microprofile
+ microprofile-rest-client
+ provided
+
+
+ org.junit.jupiter
+ junit-jupiter
+ test
+
+
+ org.assertj
+ assertj-core
+ test
+
+
+ org.mockito
+ mockito-junit-jupiter
+ test
+
+
+
+
+
+
+ maven-compiler-plugin
+
+
+
+ io.quarkus
+ quarkus-extension-processor
+ ${version.quarkus}
+
+
+
+
+
+
+
+
diff --git a/belgif-rest-problem-quarkus-deployment/src/main/java/io/github/belgif/rest/problem/quarkus/deployment/ProblemExtensionProcessor.java b/belgif-rest-problem-quarkus-client-deployment/src/main/java/io/github/belgif/rest/problem/quarkus/deployment/client/ProblemExtensionClientProcessor.java
similarity index 56%
rename from belgif-rest-problem-quarkus-deployment/src/main/java/io/github/belgif/rest/problem/quarkus/deployment/ProblemExtensionProcessor.java
rename to belgif-rest-problem-quarkus-client-deployment/src/main/java/io/github/belgif/rest/problem/quarkus/deployment/client/ProblemExtensionClientProcessor.java
index eec4d46d..24216978 100644
--- a/belgif-rest-problem-quarkus-deployment/src/main/java/io/github/belgif/rest/problem/quarkus/deployment/ProblemExtensionProcessor.java
+++ b/belgif-rest-problem-quarkus-client-deployment/src/main/java/io/github/belgif/rest/problem/quarkus/deployment/client/ProblemExtensionClientProcessor.java
@@ -1,10 +1,8 @@
-package io.github.belgif.rest.problem.quarkus.deployment;
+package io.github.belgif.rest.problem.quarkus.deployment.client;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.Future;
-import java.util.stream.Collectors;
import jakarta.ws.rs.client.AsyncInvoker;
import jakarta.ws.rs.client.Client;
@@ -12,54 +10,28 @@
import jakarta.ws.rs.client.WebTarget;
import org.eclipse.microprofile.rest.client.spi.RestClientListener;
-import org.jboss.jandex.ClassInfo;
-import org.jboss.jandex.DotName;
-import io.github.belgif.rest.problem.api.InEnum;
-import io.github.belgif.rest.problem.api.Input;
-import io.github.belgif.rest.problem.api.InputValidationIssue;
-import io.github.belgif.rest.problem.api.Problem;
import io.github.belgif.rest.problem.ee.jaxrs.ProblemObjectMapperContextResolver;
import io.github.belgif.rest.problem.ee.jaxrs.client.ProblemResponseExceptionMapper;
import io.github.belgif.rest.problem.ee.jaxrs.client.ProblemRestClientListener;
-import io.github.belgif.rest.problem.i18n.I18N;
import io.quarkus.deployment.annotations.BuildStep;
-import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
import io.quarkus.deployment.builditem.FeatureBuildItem;
import io.quarkus.deployment.builditem.nativeimage.NativeImageProxyDefinitionBuildItem;
-import io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBundleBuildItem;
import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
import io.quarkus.deployment.builditem.nativeimage.ServiceProviderBuildItem;
/**
- * BuildSteps for belgif-rest-problem-quarkus extension needed to support native mode.
+ * BuildSteps for belgif-rest-problem-quarkus-client extension needed to support native mode.
*/
-public class ProblemExtensionProcessor {
+public class ProblemExtensionClientProcessor {
- private static final String FEATURE = "belgif-rest-problem";
+ private static final String FEATURE = "belgif-rest-problem-client";
@BuildStep
FeatureBuildItem feature() {
return new FeatureBuildItem(FEATURE);
}
- @BuildStep
- ReflectiveClassBuildItem registerProblemModelClassesForReflection(CombinedIndexBuildItem index) {
- List problemModelClasses = new ArrayList<>();
- problemModelClasses.add(Problem.class.getName());
- problemModelClasses.add(InputValidationIssue.class.getName());
- problemModelClasses.add(Input.class.getName());
- problemModelClasses.add(InEnum.class.getName());
- problemModelClasses.addAll(index.getIndex().getAllKnownSubclasses(Problem.class).stream()
- .map(ClassInfo::name)
- .map(DotName::toString)
- .collect(Collectors.toList()));
- return ReflectiveClassBuildItem.builder(problemModelClasses.toArray(new String[0]))
- .reason(ProblemExtensionProcessor.class.getName())
- .constructors().methods().fields()
- .build();
- }
-
@BuildStep
List registerJaxRsClientProxies() {
return Arrays.asList(
@@ -71,11 +43,6 @@ List registerJaxRsClientProxies() {
new NativeImageProxyDefinitionBuildItem(Future.class.getName()));
}
- @BuildStep
- NativeImageResourceBundleBuildItem i18nBundle() {
- return new NativeImageResourceBundleBuildItem(I18N.DEFAULT_BUNDLE);
- }
-
@BuildStep
ServiceProviderBuildItem registerRestClientListenerServiceProvider() {
return new ServiceProviderBuildItem(RestClientListener.class.getName(),
diff --git a/belgif-rest-problem-quarkus-deployment/src/test/java/io/github/belgif/rest/problem/quarkus/deployment/ProblemExtensionProcessorTest.java b/belgif-rest-problem-quarkus-client-deployment/src/test/java/io/github/belgif/rest/problem/quarkus/deployment/client/ProblemExtensionClientProcessorTest.java
similarity index 57%
rename from belgif-rest-problem-quarkus-deployment/src/test/java/io/github/belgif/rest/problem/quarkus/deployment/ProblemExtensionProcessorTest.java
rename to belgif-rest-problem-quarkus-client-deployment/src/test/java/io/github/belgif/rest/problem/quarkus/deployment/client/ProblemExtensionClientProcessorTest.java
index 2093c7fc..05dac55b 100644
--- a/belgif-rest-problem-quarkus-deployment/src/test/java/io/github/belgif/rest/problem/quarkus/deployment/ProblemExtensionProcessorTest.java
+++ b/belgif-rest-problem-quarkus-client-deployment/src/test/java/io/github/belgif/rest/problem/quarkus/deployment/client/ProblemExtensionClientProcessorTest.java
@@ -1,7 +1,6 @@
-package io.github.belgif.rest.problem.quarkus.deployment;
+package io.github.belgif.rest.problem.quarkus.deployment.client;
import static org.assertj.core.api.Assertions.*;
-import static org.mockito.Mockito.*;
import java.util.Collections;
import java.util.List;
@@ -12,49 +11,22 @@
import jakarta.ws.rs.client.Invocation;
import jakarta.ws.rs.client.WebTarget;
-import org.jboss.jandex.ClassInfo;
-import org.jboss.jandex.DotName;
-import org.jboss.jandex.IndexView;
import org.junit.jupiter.api.Test;
-import io.github.belgif.rest.problem.api.InEnum;
-import io.github.belgif.rest.problem.api.Input;
-import io.github.belgif.rest.problem.api.InputValidationIssue;
-import io.github.belgif.rest.problem.api.Problem;
import io.github.belgif.rest.problem.ee.jaxrs.ProblemObjectMapperContextResolver;
import io.github.belgif.rest.problem.ee.jaxrs.client.ProblemResponseExceptionMapper;
import io.github.belgif.rest.problem.ee.jaxrs.client.ProblemRestClientListener;
-import io.github.belgif.rest.problem.i18n.I18N;
-import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
import io.quarkus.deployment.builditem.nativeimage.NativeImageProxyDefinitionBuildItem;
-import io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBundleBuildItem;
import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
import io.quarkus.deployment.builditem.nativeimage.ServiceProviderBuildItem;
-class ProblemExtensionProcessorTest {
+class ProblemExtensionClientProcessorTest {
- private final ProblemExtensionProcessor processor = new ProblemExtensionProcessor();
+ private final ProblemExtensionClientProcessor processor = new ProblemExtensionClientProcessor();
@Test
void feature() {
- assertThat(processor.feature().getName()).isEqualTo("belgif-rest-problem");
- }
-
- @Test
- void registerProblemModelClassesForReflection() {
- CombinedIndexBuildItem indexBuildItem = mock(CombinedIndexBuildItem.class);
- IndexView indexView = mock(IndexView.class);
- ClassInfo classInfo = mock(ClassInfo.class);
- when(indexBuildItem.getIndex()).thenReturn(indexView);
- when(classInfo.name()).thenReturn(DotName.createSimple("io.github.belgif.rest.problem.MyProblem"));
- when(indexView.getAllKnownSubclasses(Problem.class)).thenReturn(Collections.singletonList(classInfo));
- ReflectiveClassBuildItem result = processor.registerProblemModelClassesForReflection(indexBuildItem);
- assertThat(result.getClassNames()).containsExactly(Problem.class.getName(),
- InputValidationIssue.class.getName(), Input.class.getName(), InEnum.class.getName(),
- "io.github.belgif.rest.problem.MyProblem");
- assertThat(result.isConstructors()).isTrue();
- assertThat(result.isMethods()).isTrue();
- assertThat(result.isFields()).isTrue();
+ assertThat(processor.feature().getName()).isEqualTo("belgif-rest-problem-client");
}
@Test
@@ -69,12 +41,6 @@ void registerJaxRsClientProxies() {
Collections.singletonList(Future.class.getName()));
}
- @Test
- void i18nBundle() {
- NativeImageResourceBundleBuildItem bundle = processor.i18nBundle();
- assertThat(bundle.getBundleName()).isEqualTo(I18N.DEFAULT_BUNDLE);
- }
-
@Test
void registerRestClientListenerServiceProvider() {
ServiceProviderBuildItem serviceProvider = processor.registerRestClientListenerServiceProvider();
diff --git a/belgif-rest-problem-quarkus-client/pom.xml b/belgif-rest-problem-quarkus-client/pom.xml
new file mode 100644
index 00000000..a93ed01b
--- /dev/null
+++ b/belgif-rest-problem-quarkus-client/pom.xml
@@ -0,0 +1,126 @@
+
+
+ 4.0.0
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-parent
+ ${revision}
+
+
+ belgif-rest-problem-quarkus-client
+ ${project.groupId}:${project.artifactId}
+ jar
+
+
+
+
+ io.quarkus.platform
+ quarkus-bom
+ ${version.quarkus}
+ pom
+ import
+
+
+
+
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-jakarta-ee-client
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-jakarta-ee-core
+
+
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-quarkus-core
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-quarkus-core-deployment
+ ${project.version}
+ provided
+
+
+ io.quarkus
+ quarkus-rest-jackson-common
+
+
+ jakarta.enterprise
+ jakarta.enterprise.cdi-api
+ provided
+
+
+ jakarta.ws.rs
+ jakarta.ws.rs-api
+ provided
+
+
+ org.junit.jupiter
+ junit-jupiter
+ test
+
+
+ org.assertj
+ assertj-core
+ test
+
+
+ org.mockito
+ mockito-junit-jupiter
+ test
+
+
+ io.quarkus
+ quarkus-junit5
+ test
+
+
+ io.quarkus
+ quarkus-junit5-mockito
+ test
+
+
+
+
+
+
+ io.quarkus
+ quarkus-extension-maven-plugin
+ ${version.quarkus}
+
+
+ compile
+
+ extension-descriptor
+
+
+ ${project.groupId}:${project.artifactId}-deployment:${project.version}
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+
+ io.quarkus
+ quarkus-extension-processor
+ ${version.quarkus}
+
+
+
+
+
+
+
+
diff --git a/belgif-rest-problem-quarkus-deployment/pom.xml b/belgif-rest-problem-quarkus-core-deployment/pom.xml
similarity index 92%
rename from belgif-rest-problem-quarkus-deployment/pom.xml
rename to belgif-rest-problem-quarkus-core-deployment/pom.xml
index d5c95891..06d39989 100644
--- a/belgif-rest-problem-quarkus-deployment/pom.xml
+++ b/belgif-rest-problem-quarkus-core-deployment/pom.xml
@@ -9,7 +9,7 @@
${revision}
- belgif-rest-problem-quarkus-deployment
+ belgif-rest-problem-quarkus-core-deployment
${project.groupId}:${project.artifactId}
jar
@@ -36,13 +36,12 @@
io.github.belgif.rest.problem
- belgif-rest-problem-quarkus
+ belgif-rest-problem-quarkus-core
${project.version}
io.github.belgif.rest.problem
- belgif-rest-problem-java-ee
- jakarta
+ belgif-rest-problem-jakarta-ee
${project.version}
provided
diff --git a/belgif-rest-problem-quarkus-core-deployment/src/main/java/io/github/belgif/rest/problem/quarkus/deployment/core/ProblemExtensionCoreProcessor.java b/belgif-rest-problem-quarkus-core-deployment/src/main/java/io/github/belgif/rest/problem/quarkus/deployment/core/ProblemExtensionCoreProcessor.java
new file mode 100644
index 00000000..812c356a
--- /dev/null
+++ b/belgif-rest-problem-quarkus-core-deployment/src/main/java/io/github/belgif/rest/problem/quarkus/deployment/core/ProblemExtensionCoreProcessor.java
@@ -0,0 +1,55 @@
+package io.github.belgif.rest.problem.quarkus.deployment.core;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import org.jboss.jandex.ClassInfo;
+import org.jboss.jandex.DotName;
+
+import io.github.belgif.rest.problem.api.InEnum;
+import io.github.belgif.rest.problem.api.Input;
+import io.github.belgif.rest.problem.api.InputValidationIssue;
+import io.github.belgif.rest.problem.api.Problem;
+import io.github.belgif.rest.problem.i18n.I18N;
+import io.quarkus.deployment.annotations.BuildStep;
+import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
+import io.quarkus.deployment.builditem.FeatureBuildItem;
+import io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBundleBuildItem;
+import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
+
+/**
+ * BuildSteps for belgif-rest-problem-quarkus-core extension needed to support native mode.
+ */
+public class ProblemExtensionCoreProcessor {
+
+ private static final String FEATURE = "belgif-rest-problem-core";
+
+ @BuildStep
+ FeatureBuildItem feature() {
+ return new FeatureBuildItem(FEATURE);
+ }
+
+ @BuildStep
+ ReflectiveClassBuildItem registerProblemModelClassesForReflection(CombinedIndexBuildItem index) {
+ List problemModelClasses = new ArrayList<>();
+ problemModelClasses.add(Problem.class.getName());
+ problemModelClasses.add(InputValidationIssue.class.getName());
+ problemModelClasses.add(Input.class.getName());
+ problemModelClasses.add(InEnum.class.getName());
+ problemModelClasses.addAll(index.getIndex().getAllKnownSubclasses(Problem.class).stream()
+ .map(ClassInfo::name)
+ .map(DotName::toString)
+ .collect(Collectors.toList()));
+ return ReflectiveClassBuildItem.builder(problemModelClasses.toArray(new String[0]))
+ .reason(ProblemExtensionCoreProcessor.class.getName())
+ .constructors().methods().fields()
+ .build();
+ }
+
+ @BuildStep
+ NativeImageResourceBundleBuildItem i18nBundle() {
+ return new NativeImageResourceBundleBuildItem(I18N.DEFAULT_BUNDLE);
+ }
+
+}
diff --git a/belgif-rest-problem-quarkus-core-deployment/src/test/java/io/github/belgif/rest/problem/quarkus/deployment/core/ProblemExtensionCoreProcessorTest.java b/belgif-rest-problem-quarkus-core-deployment/src/test/java/io/github/belgif/rest/problem/quarkus/deployment/core/ProblemExtensionCoreProcessorTest.java
new file mode 100644
index 00000000..4b26b7fb
--- /dev/null
+++ b/belgif-rest-problem-quarkus-core-deployment/src/test/java/io/github/belgif/rest/problem/quarkus/deployment/core/ProblemExtensionCoreProcessorTest.java
@@ -0,0 +1,46 @@
+package io.github.belgif.rest.problem.quarkus.deployment.core;
+
+import static org.assertj.core.api.Assertions.*;
+import static org.mockito.Mockito.*;
+
+import java.util.Collections;
+
+import org.jboss.jandex.ClassInfo;
+import org.jboss.jandex.DotName;
+import org.jboss.jandex.IndexView;
+import org.junit.jupiter.api.Test;
+
+import io.github.belgif.rest.problem.api.InEnum;
+import io.github.belgif.rest.problem.api.Input;
+import io.github.belgif.rest.problem.api.InputValidationIssue;
+import io.github.belgif.rest.problem.api.Problem;
+import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
+import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
+
+class ProblemExtensionCoreProcessorTest {
+
+ private final ProblemExtensionCoreProcessor processor = new ProblemExtensionCoreProcessor();
+
+ @Test
+ void feature() {
+ assertThat(processor.feature().getName()).isEqualTo("belgif-rest-problem-core");
+ }
+
+ @Test
+ void registerProblemModelClassesForReflection() {
+ CombinedIndexBuildItem indexBuildItem = mock(CombinedIndexBuildItem.class);
+ IndexView indexView = mock(IndexView.class);
+ ClassInfo classInfo = mock(ClassInfo.class);
+ when(indexBuildItem.getIndex()).thenReturn(indexView);
+ when(classInfo.name()).thenReturn(DotName.createSimple("io.github.belgif.rest.problem.MyProblem"));
+ when(indexView.getAllKnownSubclasses(Problem.class)).thenReturn(Collections.singletonList(classInfo));
+ ReflectiveClassBuildItem result = processor.registerProblemModelClassesForReflection(indexBuildItem);
+ assertThat(result.getClassNames()).containsExactly(Problem.class.getName(),
+ InputValidationIssue.class.getName(), Input.class.getName(), InEnum.class.getName(),
+ "io.github.belgif.rest.problem.MyProblem");
+ assertThat(result.isConstructors()).isTrue();
+ assertThat(result.isMethods()).isTrue();
+ assertThat(result.isFields()).isTrue();
+ }
+
+}
diff --git a/belgif-rest-problem-quarkus-core/pom.xml b/belgif-rest-problem-quarkus-core/pom.xml
new file mode 100644
index 00000000..6d25aa2a
--- /dev/null
+++ b/belgif-rest-problem-quarkus-core/pom.xml
@@ -0,0 +1,142 @@
+
+
+ 4.0.0
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-parent
+ ${revision}
+
+
+ belgif-rest-problem-quarkus-core
+ ${project.groupId}:${project.artifactId}
+ jar
+
+
+
+
+ io.quarkus.platform
+ quarkus-bom
+ ${version.quarkus}
+ pom
+ import
+
+
+
+
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem
+ ${project.version}
+
+
+ io.quarkus
+ quarkus-rest-jackson-common
+
+
+ jakarta.enterprise
+ jakarta.enterprise.cdi-api
+ provided
+
+
+ jakarta.ws.rs
+ jakarta.ws.rs-api
+ provided
+
+
+ org.junit.jupiter
+ junit-jupiter
+ test
+
+
+ org.assertj
+ assertj-core
+ test
+
+
+ org.mockito
+ mockito-junit-jupiter
+ test
+
+
+ io.quarkus
+ quarkus-junit5
+ test
+
+
+ io.quarkus
+ quarkus-junit5-mockito
+ test
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ compile
+
+ unpack
+
+
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-jakarta-ee-core
+ ${project.version}
+ target/classes
+
+ META-INF/MANIFEST.MF,
+ META-INF/services/jakarta.enterprise.inject.spi.Extension,
+ io/github/belgif/rest/problem/ee/jaxrs/ProblemConfigurator.class,
+ io/github/belgif/rest/problem/ee/registry/CdiProblemTypeRegistry.class
+
+
+
+
+
+
+
+
+ io.quarkus
+ quarkus-extension-maven-plugin
+ ${version.quarkus}
+
+
+ compile
+
+ extension-descriptor
+
+
+ ${project.groupId}:${project.artifactId}-deployment:${project.version}
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+
+ io.quarkus
+ quarkus-extension-processor
+ ${version.quarkus}
+
+
+
+
+
+
+
+
diff --git a/belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemConfigurator.java b/belgif-rest-problem-quarkus-core/src/main/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemConfigurator.java
similarity index 96%
rename from belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemConfigurator.java
rename to belgif-rest-problem-quarkus-core/src/main/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemConfigurator.java
index f3328d4f..27b4e4eb 100644
--- a/belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemConfigurator.java
+++ b/belgif-rest-problem-quarkus-core/src/main/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemConfigurator.java
@@ -1,4 +1,4 @@
-package io.github.belgif.rest.problem.quarkus;
+package io.github.belgif.rest.problem.quarkus.core;
import java.util.Optional;
diff --git a/belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemExtension.java b/belgif-rest-problem-quarkus-core/src/main/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemExtension.java
similarity index 97%
rename from belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemExtension.java
rename to belgif-rest-problem-quarkus-core/src/main/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemExtension.java
index 1d8cde0a..c885f2e5 100644
--- a/belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemExtension.java
+++ b/belgif-rest-problem-quarkus-core/src/main/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemExtension.java
@@ -1,4 +1,4 @@
-package io.github.belgif.rest.problem.quarkus;
+package io.github.belgif.rest.problem.quarkus.core;
import java.util.ArrayList;
import java.util.List;
diff --git a/belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemTypeRegistry.java b/belgif-rest-problem-quarkus-core/src/main/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemTypeRegistry.java
similarity index 95%
rename from belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemTypeRegistry.java
rename to belgif-rest-problem-quarkus-core/src/main/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemTypeRegistry.java
index fb876486..0a7f83a3 100644
--- a/belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemTypeRegistry.java
+++ b/belgif-rest-problem-quarkus-core/src/main/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemTypeRegistry.java
@@ -1,4 +1,4 @@
-package io.github.belgif.rest.problem.quarkus;
+package io.github.belgif.rest.problem.quarkus.core;
import java.util.Collections;
import java.util.HashMap;
diff --git a/belgif-rest-problem-quarkus-core/src/main/resources/META-INF/services/jakarta.enterprise.inject.build.compatible.spi.BuildCompatibleExtension b/belgif-rest-problem-quarkus-core/src/main/resources/META-INF/services/jakarta.enterprise.inject.build.compatible.spi.BuildCompatibleExtension
new file mode 100644
index 00000000..a60b2c78
--- /dev/null
+++ b/belgif-rest-problem-quarkus-core/src/main/resources/META-INF/services/jakarta.enterprise.inject.build.compatible.spi.BuildCompatibleExtension
@@ -0,0 +1 @@
+io.github.belgif.rest.problem.quarkus.core.QuarkusProblemExtension
\ No newline at end of file
diff --git a/belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemConfiguratorTest.java b/belgif-rest-problem-quarkus-core/src/test/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemConfiguratorTest.java
similarity index 97%
rename from belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemConfiguratorTest.java
rename to belgif-rest-problem-quarkus-core/src/test/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemConfiguratorTest.java
index 4ef78f56..e2c0a187 100644
--- a/belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemConfiguratorTest.java
+++ b/belgif-rest-problem-quarkus-core/src/test/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemConfiguratorTest.java
@@ -1,4 +1,4 @@
-package io.github.belgif.rest.problem.quarkus;
+package io.github.belgif.rest.problem.quarkus.core;
import static org.assertj.core.api.Assertions.*;
diff --git a/belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemExtensionTest.java b/belgif-rest-problem-quarkus-core/src/test/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemExtensionTest.java
similarity index 94%
rename from belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemExtensionTest.java
rename to belgif-rest-problem-quarkus-core/src/test/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemExtensionTest.java
index d5d98a87..b9da4a6b 100644
--- a/belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemExtensionTest.java
+++ b/belgif-rest-problem-quarkus-core/src/test/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemExtensionTest.java
@@ -1,8 +1,9 @@
-package io.github.belgif.rest.problem.quarkus;
+package io.github.belgif.rest.problem.quarkus.core;
import static org.assertj.core.api.Assertions.*;
import static org.mockito.AdditionalMatchers.*;
import static org.mockito.Mockito.*;
+import static org.mockito.Mockito.eq;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.enterprise.inject.build.compatible.spi.ClassConfig;
@@ -19,7 +20,7 @@
import io.github.belgif.rest.problem.BadRequestProblem;
import io.github.belgif.rest.problem.InternalServerErrorProblem;
-import io.github.belgif.rest.problem.quarkus.QuarkusProblemExtension.QuarkusProblemTypeRegistryCreator;
+import io.github.belgif.rest.problem.quarkus.core.QuarkusProblemExtension.QuarkusProblemTypeRegistryCreator;
import io.github.belgif.rest.problem.registry.ProblemTypeRegistry;
@ExtendWith(MockitoExtension.class)
diff --git a/belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemTypeRegistryTest.java b/belgif-rest-problem-quarkus-core/src/test/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemTypeRegistryTest.java
similarity index 94%
rename from belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemTypeRegistryTest.java
rename to belgif-rest-problem-quarkus-core/src/test/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemTypeRegistryTest.java
index 35c5eac8..beb8660a 100644
--- a/belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemTypeRegistryTest.java
+++ b/belgif-rest-problem-quarkus-core/src/test/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemTypeRegistryTest.java
@@ -1,4 +1,4 @@
-package io.github.belgif.rest.problem.quarkus;
+package io.github.belgif.rest.problem.quarkus.core;
import static org.assertj.core.api.Assertions.*;
diff --git a/belgif-rest-problem-quarkus-server-deployment/pom.xml b/belgif-rest-problem-quarkus-server-deployment/pom.xml
new file mode 100644
index 00000000..832425ab
--- /dev/null
+++ b/belgif-rest-problem-quarkus-server-deployment/pom.xml
@@ -0,0 +1,97 @@
+
+
+ 4.0.0
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-parent
+ ${revision}
+
+
+ belgif-rest-problem-quarkus-server-deployment
+ ${project.groupId}:${project.artifactId}
+ jar
+
+
+
+
+ io.quarkus.platform
+ quarkus-bom
+ ${version.quarkus}
+ pom
+ import
+
+
+
+
+
+
+ io.quarkus
+ quarkus-arc-deployment
+
+
+ io.quarkus
+ quarkus-rest-jackson-common-deployment
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-quarkus-core-deployment
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-quarkus-server
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-jakarta-ee
+ ${project.version}
+ provided
+
+
+ jakarta.ws.rs
+ jakarta.ws.rs-api
+ provided
+
+
+ org.jboss.resteasy.microprofile
+ microprofile-rest-client
+ provided
+
+
+ org.junit.jupiter
+ junit-jupiter
+ test
+
+
+ org.assertj
+ assertj-core
+ test
+
+
+ org.mockito
+ mockito-junit-jupiter
+ test
+
+
+
+
+
+
+ maven-compiler-plugin
+
+
+
+ io.quarkus
+ quarkus-extension-processor
+ ${version.quarkus}
+
+
+
+
+
+
+
+
diff --git a/belgif-rest-problem-quarkus-server-deployment/src/main/java/io/github/belgif/rest/problem/quarkus/deployment/server/ProblemExtensionServerProcessor.java b/belgif-rest-problem-quarkus-server-deployment/src/main/java/io/github/belgif/rest/problem/quarkus/deployment/server/ProblemExtensionServerProcessor.java
new file mode 100644
index 00000000..701d8148
--- /dev/null
+++ b/belgif-rest-problem-quarkus-server-deployment/src/main/java/io/github/belgif/rest/problem/quarkus/deployment/server/ProblemExtensionServerProcessor.java
@@ -0,0 +1,18 @@
+package io.github.belgif.rest.problem.quarkus.deployment.server;
+
+import io.quarkus.deployment.annotations.BuildStep;
+import io.quarkus.deployment.builditem.FeatureBuildItem;
+
+/**
+ * BuildSteps for belgif-rest-problem-quarkus-server extension needed to support native mode.
+ */
+public class ProblemExtensionServerProcessor {
+
+ private static final String FEATURE = "belgif-rest-problem-server";
+
+ @BuildStep
+ FeatureBuildItem feature() {
+ return new FeatureBuildItem(FEATURE);
+ }
+
+}
diff --git a/belgif-rest-problem-quarkus-server-deployment/src/test/java/io/github/belgif/rest/problem/quarkus/deployment/server/ProblemExtensionServerProcessorTest.java b/belgif-rest-problem-quarkus-server-deployment/src/test/java/io/github/belgif/rest/problem/quarkus/deployment/server/ProblemExtensionServerProcessorTest.java
new file mode 100644
index 00000000..71c1eb59
--- /dev/null
+++ b/belgif-rest-problem-quarkus-server-deployment/src/test/java/io/github/belgif/rest/problem/quarkus/deployment/server/ProblemExtensionServerProcessorTest.java
@@ -0,0 +1,16 @@
+package io.github.belgif.rest.problem.quarkus.deployment.server;
+
+import static org.assertj.core.api.Assertions.*;
+
+import org.junit.jupiter.api.Test;
+
+class ProblemExtensionServerProcessorTest {
+
+ private final ProblemExtensionServerProcessor processor = new ProblemExtensionServerProcessor();
+
+ @Test
+ void feature() {
+ assertThat(processor.feature().getName()).isEqualTo("belgif-rest-problem-server");
+ }
+
+}
diff --git a/belgif-rest-problem-quarkus-server/pom.xml b/belgif-rest-problem-quarkus-server/pom.xml
new file mode 100644
index 00000000..aeda1ba5
--- /dev/null
+++ b/belgif-rest-problem-quarkus-server/pom.xml
@@ -0,0 +1,149 @@
+
+
+ 4.0.0
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-parent
+ ${revision}
+
+
+ belgif-rest-problem-quarkus-server
+ ${project.groupId}:${project.artifactId}
+ jar
+
+
+
+
+ io.quarkus.platform
+ quarkus-bom
+ ${version.quarkus}
+ pom
+ import
+
+
+
+
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-quarkus-core
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-quarkus-core-deployment
+ ${project.version}
+ provided
+
+
+ io.quarkus
+ quarkus-rest-jackson-common
+
+
+ jakarta.enterprise
+ jakarta.enterprise.cdi-api
+ provided
+
+
+ jakarta.ws.rs
+ jakarta.ws.rs-api
+ provided
+
+
+ org.junit.jupiter
+ junit-jupiter
+ test
+
+
+ org.assertj
+ assertj-core
+ test
+
+
+ org.mockito
+ mockito-junit-jupiter
+ test
+
+
+ io.quarkus
+ quarkus-junit5
+ test
+
+
+ io.quarkus
+ quarkus-junit5-mockito
+ test
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ compile
+
+ unpack
+
+
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-jakarta-ee-server
+ ${project.version}
+ target/classes
+
+ META-INF/MANIFEST.MF,
+ META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver,
+ io/github/belgif/rest/problem/ee/jaxrs/EJBExceptionMapper.class,
+ io/github/belgif/rest/problem/ee/jaxrs/i18n/*
+
+
+
+
+
+
+
+
+ io.quarkus
+ quarkus-extension-maven-plugin
+ ${version.quarkus}
+
+
+ compile
+
+ extension-descriptor
+
+
+ ${project.groupId}:${project.artifactId}-deployment:${project.version}
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+
+ io.quarkus
+ quarkus-extension-processor
+ ${version.quarkus}
+
+
+
+
+
+
+
+
diff --git a/belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/i18n/I18NAcceptLanguageFilter.java b/belgif-rest-problem-quarkus-server/src/main/java/io/github/belgif/rest/problem/quarkus/server/i18n/I18NAcceptLanguageFilter.java
similarity index 93%
rename from belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/i18n/I18NAcceptLanguageFilter.java
rename to belgif-rest-problem-quarkus-server/src/main/java/io/github/belgif/rest/problem/quarkus/server/i18n/I18NAcceptLanguageFilter.java
index fea63e21..1ed6ec82 100644
--- a/belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/i18n/I18NAcceptLanguageFilter.java
+++ b/belgif-rest-problem-quarkus-server/src/main/java/io/github/belgif/rest/problem/quarkus/server/i18n/I18NAcceptLanguageFilter.java
@@ -1,4 +1,4 @@
-package io.github.belgif.rest.problem.quarkus.i18n;
+package io.github.belgif.rest.problem.quarkus.server.i18n;
import jakarta.inject.Inject;
import jakarta.ws.rs.container.ContainerRequestContext;
diff --git a/belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/i18n/LocaleHolder.java b/belgif-rest-problem-quarkus-server/src/main/java/io/github/belgif/rest/problem/quarkus/server/i18n/LocaleHolder.java
similarity index 87%
rename from belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/i18n/LocaleHolder.java
rename to belgif-rest-problem-quarkus-server/src/main/java/io/github/belgif/rest/problem/quarkus/server/i18n/LocaleHolder.java
index e134ad81..1fa9da7a 100644
--- a/belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/i18n/LocaleHolder.java
+++ b/belgif-rest-problem-quarkus-server/src/main/java/io/github/belgif/rest/problem/quarkus/server/i18n/LocaleHolder.java
@@ -1,4 +1,4 @@
-package io.github.belgif.rest.problem.quarkus.i18n;
+package io.github.belgif.rest.problem.quarkus.server.i18n;
import java.util.Locale;
diff --git a/belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/i18n/QuarkusLocaleResolver.java b/belgif-rest-problem-quarkus-server/src/main/java/io/github/belgif/rest/problem/quarkus/server/i18n/QuarkusLocaleResolver.java
similarity index 93%
rename from belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/i18n/QuarkusLocaleResolver.java
rename to belgif-rest-problem-quarkus-server/src/main/java/io/github/belgif/rest/problem/quarkus/server/i18n/QuarkusLocaleResolver.java
index 6905e1b9..5dfc6717 100644
--- a/belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/i18n/QuarkusLocaleResolver.java
+++ b/belgif-rest-problem-quarkus-server/src/main/java/io/github/belgif/rest/problem/quarkus/server/i18n/QuarkusLocaleResolver.java
@@ -1,4 +1,4 @@
-package io.github.belgif.rest.problem.quarkus.i18n;
+package io.github.belgif.rest.problem.quarkus.server.i18n;
import java.util.Locale;
diff --git a/belgif-rest-problem-quarkus-server/src/main/resources/META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver b/belgif-rest-problem-quarkus-server/src/main/resources/META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver
new file mode 100644
index 00000000..e176abbf
--- /dev/null
+++ b/belgif-rest-problem-quarkus-server/src/main/resources/META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver
@@ -0,0 +1 @@
+io.github.belgif.rest.problem.quarkus.server.i18n.QuarkusLocaleResolver
\ No newline at end of file
diff --git a/belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/i18n/I18NAcceptLanguageFilterTest.java b/belgif-rest-problem-quarkus-server/src/test/java/io/github/belgif/rest/problem/quarkus/server/i18n/I18NAcceptLanguageFilterTest.java
similarity index 96%
rename from belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/i18n/I18NAcceptLanguageFilterTest.java
rename to belgif-rest-problem-quarkus-server/src/test/java/io/github/belgif/rest/problem/quarkus/server/i18n/I18NAcceptLanguageFilterTest.java
index 72af3ae1..1423162e 100644
--- a/belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/i18n/I18NAcceptLanguageFilterTest.java
+++ b/belgif-rest-problem-quarkus-server/src/test/java/io/github/belgif/rest/problem/quarkus/server/i18n/I18NAcceptLanguageFilterTest.java
@@ -1,4 +1,4 @@
-package io.github.belgif.rest.problem.quarkus.i18n;
+package io.github.belgif.rest.problem.quarkus.server.i18n;
import static org.mockito.Mockito.*;
diff --git a/belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/i18n/LocaleHolderTest.java b/belgif-rest-problem-quarkus-server/src/test/java/io/github/belgif/rest/problem/quarkus/server/i18n/LocaleHolderTest.java
similarity index 90%
rename from belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/i18n/LocaleHolderTest.java
rename to belgif-rest-problem-quarkus-server/src/test/java/io/github/belgif/rest/problem/quarkus/server/i18n/LocaleHolderTest.java
index dedbf0e7..a3e06e51 100644
--- a/belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/i18n/LocaleHolderTest.java
+++ b/belgif-rest-problem-quarkus-server/src/test/java/io/github/belgif/rest/problem/quarkus/server/i18n/LocaleHolderTest.java
@@ -1,4 +1,4 @@
-package io.github.belgif.rest.problem.quarkus.i18n;
+package io.github.belgif.rest.problem.quarkus.server.i18n;
import static org.assertj.core.api.Assertions.*;
diff --git a/belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/i18n/QuarkusLocaleResolverTest.java b/belgif-rest-problem-quarkus-server/src/test/java/io/github/belgif/rest/problem/quarkus/server/i18n/QuarkusLocaleResolverTest.java
similarity index 95%
rename from belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/i18n/QuarkusLocaleResolverTest.java
rename to belgif-rest-problem-quarkus-server/src/test/java/io/github/belgif/rest/problem/quarkus/server/i18n/QuarkusLocaleResolverTest.java
index be688a24..4a758f02 100644
--- a/belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/i18n/QuarkusLocaleResolverTest.java
+++ b/belgif-rest-problem-quarkus-server/src/test/java/io/github/belgif/rest/problem/quarkus/server/i18n/QuarkusLocaleResolverTest.java
@@ -1,4 +1,4 @@
-package io.github.belgif.rest.problem.quarkus.i18n;
+package io.github.belgif.rest.problem.quarkus.server.i18n;
import static org.assertj.core.api.Assertions.*;
import static org.mockito.Mockito.*;
diff --git a/belgif-rest-problem-quarkus/pom.xml b/belgif-rest-problem-quarkus/pom.xml
index 80b90886..e42694a9 100644
--- a/belgif-rest-problem-quarkus/pom.xml
+++ b/belgif-rest-problem-quarkus/pom.xml
@@ -13,135 +13,17 @@
${project.groupId}:${project.artifactId}
jar
-
-
-
- io.quarkus.platform
- quarkus-bom
- ${version.quarkus}
- pom
- import
-
-
-
-
io.github.belgif.rest.problem
- belgif-rest-problem
+ belgif-rest-problem-quarkus-client
${project.version}
- io.quarkus
- quarkus-rest-jackson-common
-
-
- jakarta.enterprise
- jakarta.enterprise.cdi-api
- provided
-
-
- jakarta.ws.rs
- jakarta.ws.rs-api
- provided
-
-
- org.junit.jupiter
- junit-jupiter
- test
-
-
- org.assertj
- assertj-core
- test
-
-
- org.mockito
- mockito-junit-jupiter
- test
-
-
- io.quarkus
- quarkus-junit5
- test
-
-
- io.quarkus
- quarkus-junit5-mockito
- test
+ io.github.belgif.rest.problem
+ belgif-rest-problem-quarkus-server
+ ${project.version}
-
-
-
-
- org.apache.maven.plugins
- maven-dependency-plugin
-
-
- compile
-
- unpack
-
-
-
-
- io.github.belgif.rest.problem
- belgif-rest-problem-java-ee
- jakarta
- ${project.version}
- target/classes
-
- META-INF/MANIFEST.MF,
- META-INF/services/jakarta.enterprise.inject.spi.Extension,
- META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver,
- io/github/belgif/rest/problem/ee/jaxrs/EJBExceptionMapper.class,
- io/github/belgif/rest/problem/ee/jaxrs/ProblemConfigurator.class,
- io/github/belgif/rest/problem/ee/registry/CdiProblemTypeRegistry.class,
- io/github/belgif/rest/problem/ee/jaxrs/i18n/*
-
-
-
-
-
-
-
-
- io.quarkus
- quarkus-extension-maven-plugin
- ${version.quarkus}
-
-
- compile
-
- extension-descriptor
-
-
- ${project.groupId}:${project.artifactId}-deployment:${project.version}
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
-
- io.quarkus
- quarkus-extension-processor
- ${version.quarkus}
-
-
-
-
-
-
-
diff --git a/belgif-rest-problem-quarkus/src/main/resources/META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver b/belgif-rest-problem-quarkus/src/main/resources/META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver
deleted file mode 100644
index 8bb4fdfb..00000000
--- a/belgif-rest-problem-quarkus/src/main/resources/META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver
+++ /dev/null
@@ -1 +0,0 @@
-io.github.belgif.rest.problem.quarkus.i18n.QuarkusLocaleResolver
\ No newline at end of file
diff --git a/belgif-rest-problem-quarkus/src/main/resources/META-INF/services/jakarta.enterprise.inject.build.compatible.spi.BuildCompatibleExtension b/belgif-rest-problem-quarkus/src/main/resources/META-INF/services/jakarta.enterprise.inject.build.compatible.spi.BuildCompatibleExtension
deleted file mode 100644
index 588b5ce6..00000000
--- a/belgif-rest-problem-quarkus/src/main/resources/META-INF/services/jakarta.enterprise.inject.build.compatible.spi.BuildCompatibleExtension
+++ /dev/null
@@ -1 +0,0 @@
-io.github.belgif.rest.problem.quarkus.QuarkusProblemExtension
\ No newline at end of file
diff --git a/belgif-rest-problem-spring-boot-3-client/pom.xml b/belgif-rest-problem-spring-boot-3-client/pom.xml
new file mode 100644
index 00000000..fbd0af4a
--- /dev/null
+++ b/belgif-rest-problem-spring-boot-3-client/pom.xml
@@ -0,0 +1,86 @@
+
+
+ 4.0.0
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-parent
+ ${revision}
+
+
+ belgif-rest-problem-spring-boot-3-client
+ ${project.groupId}:${project.artifactId}
+ jar
+
+
+ 17
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-dependencies
+ ${version.spring.boot.3}
+ pom
+ import
+
+
+
+
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-spring-boot-3-core
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-spring-boot-common-client
+ ${project.version}
+
+
+ org.springframework.boot
+ spring-boot-autoconfigure
+ provided
+
+
+ org.springframework
+ spring-web
+ provided
+
+
+ org.springframework
+ spring-webflux
+ provided
+ true
+
+
+ org.slf4j
+ slf4j-api
+ provided
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ provided
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.junit.jupiter
+ junit-jupiter
+ test
+
+
+ org.assertj
+ assertj-core
+ test
+
+
+
+
diff --git a/belgif-rest-problem-spring-boot-3/src/main/java/io/github/belgif/rest/problem/spring/ProblemResponseErrorHandler.java b/belgif-rest-problem-spring-boot-3-client/src/main/java/io/github/belgif/rest/problem/spring/ProblemResponseErrorHandler.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-3/src/main/java/io/github/belgif/rest/problem/spring/ProblemResponseErrorHandler.java
rename to belgif-rest-problem-spring-boot-3-client/src/main/java/io/github/belgif/rest/problem/spring/ProblemResponseErrorHandler.java
diff --git a/belgif-rest-problem-spring-boot-3/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestClientCustomizer.java b/belgif-rest-problem-spring-boot-3-client/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestClientCustomizer.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-3/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestClientCustomizer.java
rename to belgif-rest-problem-spring-boot-3-client/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestClientCustomizer.java
diff --git a/belgif-rest-problem-spring-boot-3/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestTemplateCustomizer.java b/belgif-rest-problem-spring-boot-3-client/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestTemplateCustomizer.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-3/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestTemplateCustomizer.java
rename to belgif-rest-problem-spring-boot-3-client/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestTemplateCustomizer.java
diff --git a/belgif-rest-problem-spring-boot-3/src/main/java/io/github/belgif/rest/problem/spring/ProblemWebClientCustomizer.java b/belgif-rest-problem-spring-boot-3-client/src/main/java/io/github/belgif/rest/problem/spring/ProblemWebClientCustomizer.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-3/src/main/java/io/github/belgif/rest/problem/spring/ProblemWebClientCustomizer.java
rename to belgif-rest-problem-spring-boot-3-client/src/main/java/io/github/belgif/rest/problem/spring/ProblemWebClientCustomizer.java
diff --git a/belgif-rest-problem-spring-boot-3-client/src/test/resources/logback-test.xml b/belgif-rest-problem-spring-boot-3-client/src/test/resources/logback-test.xml
new file mode 100644
index 00000000..fe45af16
--- /dev/null
+++ b/belgif-rest-problem-spring-boot-3-client/src/test/resources/logback-test.xml
@@ -0,0 +1,32 @@
+
+
+
+
+ %d [%thread] %.-1level %logger{36} %M - %msg%n
+
+
+ ERROR
+ DENY
+ ACCEPT
+
+ System.out
+
+
+
+
+ %d [%thread] %.-1level %logger{36} %M - %msg%n
+
+
+ ERROR
+ ACCEPT
+ DENY
+
+ System.err
+
+
+
+
+
+
+
+
diff --git a/belgif-rest-problem-spring-boot-3-core/pom.xml b/belgif-rest-problem-spring-boot-3-core/pom.xml
new file mode 100644
index 00000000..791c8e52
--- /dev/null
+++ b/belgif-rest-problem-spring-boot-3-core/pom.xml
@@ -0,0 +1,70 @@
+
+
+ 4.0.0
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-parent
+ ${revision}
+
+
+ belgif-rest-problem-spring-boot-3-core
+ ${project.groupId}:${project.artifactId}
+ jar
+
+
+ 17
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-dependencies
+ ${version.spring.boot.3}
+ pom
+ import
+
+
+
+
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-spring-boot-common
+ ${project.version}
+
+
+ org.springframework.boot
+ spring-boot-autoconfigure
+ provided
+
+
+ org.slf4j
+ slf4j-api
+ provided
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ provided
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.junit.jupiter
+ junit-jupiter
+ test
+
+
+ org.assertj
+ assertj-core
+ test
+
+
+
+
diff --git a/belgif-rest-problem-spring-boot-3/src/main/java/io/github/belgif/rest/problem/spring/SpringProblemModule.java b/belgif-rest-problem-spring-boot-3-core/src/main/java/io/github/belgif/rest/problem/spring/SpringProblemModule.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-3/src/main/java/io/github/belgif/rest/problem/spring/SpringProblemModule.java
rename to belgif-rest-problem-spring-boot-3-core/src/main/java/io/github/belgif/rest/problem/spring/SpringProblemModule.java
diff --git a/belgif-rest-problem-spring-boot-3/src/test/java/io/github/belgif/rest/problem/spring/SpringProblemModuleTest.java b/belgif-rest-problem-spring-boot-3-core/src/test/java/io/github/belgif/rest/problem/spring/SpringProblemModuleTest.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-3/src/test/java/io/github/belgif/rest/problem/spring/SpringProblemModuleTest.java
rename to belgif-rest-problem-spring-boot-3-core/src/test/java/io/github/belgif/rest/problem/spring/SpringProblemModuleTest.java
diff --git a/belgif-rest-problem-spring-boot-3-core/src/test/resources/logback-test.xml b/belgif-rest-problem-spring-boot-3-core/src/test/resources/logback-test.xml
new file mode 100644
index 00000000..fe45af16
--- /dev/null
+++ b/belgif-rest-problem-spring-boot-3-core/src/test/resources/logback-test.xml
@@ -0,0 +1,32 @@
+
+
+
+
+ %d [%thread] %.-1level %logger{36} %M - %msg%n
+
+
+ ERROR
+ DENY
+ ACCEPT
+
+ System.out
+
+
+
+
+ %d [%thread] %.-1level %logger{36} %M - %msg%n
+
+
+ ERROR
+ ACCEPT
+ DENY
+
+ System.err
+
+
+
+
+
+
+
+
diff --git a/belgif-rest-problem-spring-boot-3-server/pom.xml b/belgif-rest-problem-spring-boot-3-server/pom.xml
new file mode 100644
index 00000000..80f1419b
--- /dev/null
+++ b/belgif-rest-problem-spring-boot-3-server/pom.xml
@@ -0,0 +1,106 @@
+
+
+ 4.0.0
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-parent
+ ${revision}
+
+
+ belgif-rest-problem-spring-boot-3-server
+ ${project.groupId}:${project.artifactId}
+ jar
+
+
+ 17
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-dependencies
+ ${version.spring.boot.3}
+ pom
+ import
+
+
+
+
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-spring-boot-3-core
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-spring-boot-common-server
+ ${project.version}
+
+
+ org.springframework.boot
+ spring-boot-autoconfigure
+ provided
+
+
+ org.springframework
+ spring-web
+ provided
+
+
+ org.springframework
+ spring-webmvc
+ provided
+
+
+ org.slf4j
+ slf4j-api
+ provided
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ provided
+
+
+ jakarta.validation
+ jakarta.validation-api
+ provided
+
+
+ jakarta.servlet
+ jakarta.servlet-api
+ provided
+
+
+ com.atlassian.oai
+ swagger-request-validator-springmvc
+ 2.46.0
+ true
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.springframework.boot
+ spring-boot-starter-validation
+ test
+
+
+ org.junit.jupiter
+ junit-jupiter
+ test
+
+
+ org.assertj
+ assertj-core
+ test
+
+
+
+
diff --git a/belgif-rest-problem-spring-boot-3/src/main/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandler.java b/belgif-rest-problem-spring-boot-3-server/src/main/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandler.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-3/src/main/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandler.java
rename to belgif-rest-problem-spring-boot-3-server/src/main/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandler.java
diff --git a/belgif-rest-problem-spring-boot-3/src/main/java/io/github/belgif/rest/problem/spring/ProblemValidationConfigurationCustomizer.java b/belgif-rest-problem-spring-boot-3-server/src/main/java/io/github/belgif/rest/problem/spring/ProblemValidationConfigurationCustomizer.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-3/src/main/java/io/github/belgif/rest/problem/spring/ProblemValidationConfigurationCustomizer.java
rename to belgif-rest-problem-spring-boot-3-server/src/main/java/io/github/belgif/rest/problem/spring/ProblemValidationConfigurationCustomizer.java
diff --git a/belgif-rest-problem-spring-boot-3/src/main/java/io/github/belgif/rest/problem/spring/RoutingExceptionsHandler.java b/belgif-rest-problem-spring-boot-3-server/src/main/java/io/github/belgif/rest/problem/spring/RoutingExceptionsHandler.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-3/src/main/java/io/github/belgif/rest/problem/spring/RoutingExceptionsHandler.java
rename to belgif-rest-problem-spring-boot-3-server/src/main/java/io/github/belgif/rest/problem/spring/RoutingExceptionsHandler.java
diff --git a/belgif-rest-problem-spring-boot-3/src/test/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandlerTest.java b/belgif-rest-problem-spring-boot-3-server/src/test/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandlerTest.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-3/src/test/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandlerTest.java
rename to belgif-rest-problem-spring-boot-3-server/src/test/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandlerTest.java
diff --git a/belgif-rest-problem-spring-boot-3-server/src/test/resources/logback-test.xml b/belgif-rest-problem-spring-boot-3-server/src/test/resources/logback-test.xml
new file mode 100644
index 00000000..fe45af16
--- /dev/null
+++ b/belgif-rest-problem-spring-boot-3-server/src/test/resources/logback-test.xml
@@ -0,0 +1,32 @@
+
+
+
+
+ %d [%thread] %.-1level %logger{36} %M - %msg%n
+
+
+ ERROR
+ DENY
+ ACCEPT
+
+ System.out
+
+
+
+
+ %d [%thread] %.-1level %logger{36} %M - %msg%n
+
+
+ ERROR
+ ACCEPT
+ DENY
+
+ System.err
+
+
+
+
+
+
+
+
diff --git a/belgif-rest-problem-spring-boot-3/pom.xml b/belgif-rest-problem-spring-boot-3/pom.xml
index 7a5bd74f..af707bb5 100644
--- a/belgif-rest-problem-spring-boot-3/pom.xml
+++ b/belgif-rest-problem-spring-boot-3/pom.xml
@@ -13,100 +13,17 @@
${project.groupId}:${project.artifactId}
jar
-
- 17
-
-
-
-
-
- org.springframework.boot
- spring-boot-dependencies
- ${version.spring.boot.3}
- pom
- import
-
-
-
-
io.github.belgif.rest.problem
- belgif-rest-problem
+ belgif-rest-problem-spring-boot-3-client
${project.version}
io.github.belgif.rest.problem
- belgif-rest-problem-spring-boot-common
+ belgif-rest-problem-spring-boot-3-server
${project.version}
-
- org.springframework.boot
- spring-boot-autoconfigure
- provided
-
-
- org.springframework
- spring-web
- provided
-
-
- org.springframework
- spring-webmvc
- provided
-
-
- org.springframework
- spring-webflux
- provided
- true
-
-
- org.slf4j
- slf4j-api
- provided
-
-
- com.fasterxml.jackson.core
- jackson-databind
- provided
-
-
- jakarta.validation
- jakarta.validation-api
- provided
-
-
- jakarta.servlet
- jakarta.servlet-api
- provided
-
-
- com.atlassian.oai
- swagger-request-validator-springmvc
- 2.46.0
- true
-
-
- org.springframework.boot
- spring-boot-starter-test
- test
-
-
- org.springframework.boot
- spring-boot-starter-validation
- test
-
-
- org.junit.jupiter
- junit-jupiter
- test
-
-
- org.assertj
- assertj-core
- test
-
diff --git a/belgif-rest-problem-spring-boot-4-client/pom.xml b/belgif-rest-problem-spring-boot-4-client/pom.xml
new file mode 100644
index 00000000..56d9c6a6
--- /dev/null
+++ b/belgif-rest-problem-spring-boot-4-client/pom.xml
@@ -0,0 +1,97 @@
+
+
+ 4.0.0
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-parent
+ ${revision}
+
+
+ belgif-rest-problem-spring-boot-4-client
+ ${project.groupId}:${project.artifactId}
+ jar
+
+
+ 17
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-dependencies
+ ${version.spring.boot.4}
+ pom
+ import
+
+
+
+
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-spring-boot-4-core
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-spring-boot-common-client
+ ${project.version}
+
+
+ org.springframework.boot
+ spring-boot-autoconfigure
+ provided
+
+
+ org.springframework
+ spring-web
+ provided
+
+
+ org.springframework.boot
+ spring-boot-starter-restclient
+ provided
+
+
+ org.springframework.boot
+ spring-boot-starter-jackson
+ provided
+
+
+ org.springframework.boot
+ spring-boot-starter-webflux
+ provided
+ true
+
+
+ org.springframework.boot
+ spring-boot-starter-webclient
+ provided
+ true
+
+
+ org.slf4j
+ slf4j-api
+ provided
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.junit.jupiter
+ junit-jupiter
+ test
+
+
+ org.assertj
+ assertj-core
+ test
+
+
+
+
diff --git a/belgif-rest-problem-spring-boot-4/src/main/java/io/github/belgif/rest/problem/spring/ProblemResponseErrorHandler.java b/belgif-rest-problem-spring-boot-4-client/src/main/java/io/github/belgif/rest/problem/spring/ProblemResponseErrorHandler.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-4/src/main/java/io/github/belgif/rest/problem/spring/ProblemResponseErrorHandler.java
rename to belgif-rest-problem-spring-boot-4-client/src/main/java/io/github/belgif/rest/problem/spring/ProblemResponseErrorHandler.java
diff --git a/belgif-rest-problem-spring-boot-4/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestClientCustomizer.java b/belgif-rest-problem-spring-boot-4-client/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestClientCustomizer.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-4/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestClientCustomizer.java
rename to belgif-rest-problem-spring-boot-4-client/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestClientCustomizer.java
diff --git a/belgif-rest-problem-spring-boot-4/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestTemplateCustomizer.java b/belgif-rest-problem-spring-boot-4-client/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestTemplateCustomizer.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-4/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestTemplateCustomizer.java
rename to belgif-rest-problem-spring-boot-4-client/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestTemplateCustomizer.java
diff --git a/belgif-rest-problem-spring-boot-4/src/main/java/io/github/belgif/rest/problem/spring/ProblemWebClientCustomizer.java b/belgif-rest-problem-spring-boot-4-client/src/main/java/io/github/belgif/rest/problem/spring/ProblemWebClientCustomizer.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-4/src/main/java/io/github/belgif/rest/problem/spring/ProblemWebClientCustomizer.java
rename to belgif-rest-problem-spring-boot-4-client/src/main/java/io/github/belgif/rest/problem/spring/ProblemWebClientCustomizer.java
diff --git a/belgif-rest-problem-spring-boot-4-client/src/test/resources/logback-test.xml b/belgif-rest-problem-spring-boot-4-client/src/test/resources/logback-test.xml
new file mode 100644
index 00000000..fe45af16
--- /dev/null
+++ b/belgif-rest-problem-spring-boot-4-client/src/test/resources/logback-test.xml
@@ -0,0 +1,32 @@
+
+
+
+
+ %d [%thread] %.-1level %logger{36} %M - %msg%n
+
+
+ ERROR
+ DENY
+ ACCEPT
+
+ System.out
+
+
+
+
+ %d [%thread] %.-1level %logger{36} %M - %msg%n
+
+
+ ERROR
+ ACCEPT
+ DENY
+
+ System.err
+
+
+
+
+
+
+
+
diff --git a/belgif-rest-problem-spring-boot-4-core/pom.xml b/belgif-rest-problem-spring-boot-4-core/pom.xml
new file mode 100644
index 00000000..612ac9e6
--- /dev/null
+++ b/belgif-rest-problem-spring-boot-4-core/pom.xml
@@ -0,0 +1,70 @@
+
+
+ 4.0.0
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-parent
+ ${revision}
+
+
+ belgif-rest-problem-spring-boot-4-core
+ ${project.groupId}:${project.artifactId}
+ jar
+
+
+ 17
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-dependencies
+ ${version.spring.boot.4}
+ pom
+ import
+
+
+
+
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-spring-boot-common
+ ${project.version}
+
+
+ org.springframework.boot
+ spring-boot-autoconfigure
+ provided
+
+
+ org.springframework.boot
+ spring-boot-starter-jackson
+ provided
+
+
+ org.slf4j
+ slf4j-api
+ provided
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.junit.jupiter
+ junit-jupiter
+ test
+
+
+ org.assertj
+ assertj-core
+ test
+
+
+
+
diff --git a/belgif-rest-problem-spring-boot-4/src/main/java/io/github/belgif/rest/problem/spring/SpringProblemModule.java b/belgif-rest-problem-spring-boot-4-core/src/main/java/io/github/belgif/rest/problem/spring/SpringProblemModule.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-4/src/main/java/io/github/belgif/rest/problem/spring/SpringProblemModule.java
rename to belgif-rest-problem-spring-boot-4-core/src/main/java/io/github/belgif/rest/problem/spring/SpringProblemModule.java
diff --git a/belgif-rest-problem-spring-boot-4/src/test/java/io/github/belgif/rest/problem/spring/SpringProblemModuleTest.java b/belgif-rest-problem-spring-boot-4-core/src/test/java/io/github/belgif/rest/problem/spring/SpringProblemModuleTest.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-4/src/test/java/io/github/belgif/rest/problem/spring/SpringProblemModuleTest.java
rename to belgif-rest-problem-spring-boot-4-core/src/test/java/io/github/belgif/rest/problem/spring/SpringProblemModuleTest.java
diff --git a/belgif-rest-problem-spring-boot-4-core/src/test/resources/logback-test.xml b/belgif-rest-problem-spring-boot-4-core/src/test/resources/logback-test.xml
new file mode 100644
index 00000000..fe45af16
--- /dev/null
+++ b/belgif-rest-problem-spring-boot-4-core/src/test/resources/logback-test.xml
@@ -0,0 +1,32 @@
+
+
+
+
+ %d [%thread] %.-1level %logger{36} %M - %msg%n
+
+
+ ERROR
+ DENY
+ ACCEPT
+
+ System.out
+
+
+
+
+ %d [%thread] %.-1level %logger{36} %M - %msg%n
+
+
+ ERROR
+ ACCEPT
+ DENY
+
+ System.err
+
+
+
+
+
+
+
+
diff --git a/belgif-rest-problem-spring-boot-4-server/pom.xml b/belgif-rest-problem-spring-boot-4-server/pom.xml
new file mode 100644
index 00000000..825b1920
--- /dev/null
+++ b/belgif-rest-problem-spring-boot-4-server/pom.xml
@@ -0,0 +1,106 @@
+
+
+ 4.0.0
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-parent
+ ${revision}
+
+
+ belgif-rest-problem-spring-boot-4-server
+ ${project.groupId}:${project.artifactId}
+ jar
+
+
+ 17
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-dependencies
+ ${version.spring.boot.4}
+ pom
+ import
+
+
+
+
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-spring-boot-4-core
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-spring-boot-common-server
+ ${project.version}
+
+
+ org.springframework.boot
+ spring-boot-autoconfigure
+ provided
+
+
+ org.springframework
+ spring-web
+ provided
+
+
+ org.springframework.boot
+ spring-boot-starter-validation
+ provided
+
+
+ org.springframework.boot
+ spring-boot-starter-jackson
+ provided
+
+
+ org.springframework.boot
+ spring-boot-starter-webmvc
+ provided
+
+
+ org.slf4j
+ slf4j-api
+ provided
+
+
+ jakarta.validation
+ jakarta.validation-api
+ provided
+
+
+ jakarta.servlet
+ jakarta.servlet-api
+ provided
+
+
+ com.atlassian.oai
+ swagger-request-validator-springmvc
+ 2.46.0
+ true
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.junit.jupiter
+ junit-jupiter
+ test
+
+
+ org.assertj
+ assertj-core
+ test
+
+
+
+
diff --git a/belgif-rest-problem-spring-boot-4/src/main/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandler.java b/belgif-rest-problem-spring-boot-4-server/src/main/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandler.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-4/src/main/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandler.java
rename to belgif-rest-problem-spring-boot-4-server/src/main/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandler.java
diff --git a/belgif-rest-problem-spring-boot-4/src/main/java/io/github/belgif/rest/problem/spring/ProblemValidationConfigurationCustomizer.java b/belgif-rest-problem-spring-boot-4-server/src/main/java/io/github/belgif/rest/problem/spring/ProblemValidationConfigurationCustomizer.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-4/src/main/java/io/github/belgif/rest/problem/spring/ProblemValidationConfigurationCustomizer.java
rename to belgif-rest-problem-spring-boot-4-server/src/main/java/io/github/belgif/rest/problem/spring/ProblemValidationConfigurationCustomizer.java
diff --git a/belgif-rest-problem-spring-boot-4/src/main/java/io/github/belgif/rest/problem/spring/RoutingExceptionsHandler.java b/belgif-rest-problem-spring-boot-4-server/src/main/java/io/github/belgif/rest/problem/spring/RoutingExceptionsHandler.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-4/src/main/java/io/github/belgif/rest/problem/spring/RoutingExceptionsHandler.java
rename to belgif-rest-problem-spring-boot-4-server/src/main/java/io/github/belgif/rest/problem/spring/RoutingExceptionsHandler.java
diff --git a/belgif-rest-problem-spring-boot-4/src/test/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandlerTest.java b/belgif-rest-problem-spring-boot-4-server/src/test/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandlerTest.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-4/src/test/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandlerTest.java
rename to belgif-rest-problem-spring-boot-4-server/src/test/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandlerTest.java
diff --git a/belgif-rest-problem-spring-boot-4-server/src/test/resources/logback-test.xml b/belgif-rest-problem-spring-boot-4-server/src/test/resources/logback-test.xml
new file mode 100644
index 00000000..fe45af16
--- /dev/null
+++ b/belgif-rest-problem-spring-boot-4-server/src/test/resources/logback-test.xml
@@ -0,0 +1,32 @@
+
+
+
+
+ %d [%thread] %.-1level %logger{36} %M - %msg%n
+
+
+ ERROR
+ DENY
+ ACCEPT
+
+ System.out
+
+
+
+
+ %d [%thread] %.-1level %logger{36} %M - %msg%n
+
+
+ ERROR
+ ACCEPT
+ DENY
+
+ System.err
+
+
+
+
+
+
+
+
diff --git a/belgif-rest-problem-spring-boot-4/pom.xml b/belgif-rest-problem-spring-boot-4/pom.xml
index 011dba34..4ff85f26 100644
--- a/belgif-rest-problem-spring-boot-4/pom.xml
+++ b/belgif-rest-problem-spring-boot-4/pom.xml
@@ -13,111 +13,17 @@
${project.groupId}:${project.artifactId}
jar
-
- 17
-
-
-
-
-
- org.springframework.boot
- spring-boot-dependencies
- ${version.spring.boot.4}
- pom
- import
-
-
-
-
io.github.belgif.rest.problem
- belgif-rest-problem
+ belgif-rest-problem-spring-boot-4-client
${project.version}
io.github.belgif.rest.problem
- belgif-rest-problem-spring-boot-common
+ belgif-rest-problem-spring-boot-4-server
${project.version}
-
- org.springframework.boot
- spring-boot-autoconfigure
- provided
-
-
- org.springframework
- spring-web
- provided
-
-
- org.springframework.boot
- spring-boot-starter-restclient
- provided
-
-
- org.springframework.boot
- spring-boot-starter-validation
- provided
-
-
- org.springframework.boot
- spring-boot-starter-jackson
- provided
-
-
- org.springframework.boot
- spring-boot-starter-webmvc
- provided
-
-
- org.springframework.boot
- spring-boot-starter-webflux
- provided
- true
-
-
- org.springframework.boot
- spring-boot-starter-webclient
- provided
- true
-
-
- com.atlassian.oai
- swagger-request-validator-springmvc
- 2.46.0
- true
-
-
- org.slf4j
- slf4j-api
- provided
-
-
- jakarta.validation
- jakarta.validation-api
- provided
-
-
- jakarta.servlet
- jakarta.servlet-api
- provided
-
-
- org.springframework.boot
- spring-boot-starter-test
- test
-
-
- org.junit.jupiter
- junit-jupiter
- test
-
-
- org.assertj
- assertj-core
- test
-
diff --git a/belgif-rest-problem-spring-boot-common-client/pom.xml b/belgif-rest-problem-spring-boot-common-client/pom.xml
new file mode 100644
index 00000000..5ebfcea6
--- /dev/null
+++ b/belgif-rest-problem-spring-boot-common-client/pom.xml
@@ -0,0 +1,82 @@
+
+
+ 4.0.0
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-parent
+ ${revision}
+
+
+ belgif-rest-problem-spring-boot-common-client
+ ${project.groupId}:${project.artifactId}
+ Contains shared client components that are common between Spring Boot versions
+ jar
+
+
+ 17
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-dependencies
+ ${version.spring.boot.3}
+ pom
+ import
+
+
+
+
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-spring-boot-common
+ ${project.version}
+
+
+ org.springframework.boot
+ spring-boot-autoconfigure
+ provided
+
+
+ org.springframework
+ spring-web
+ provided
+
+
+ org.springframework
+ spring-webflux
+ provided
+ true
+
+
+ org.slf4j
+ slf4j-api
+ provided
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ provided
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.junit.jupiter
+ junit-jupiter
+ test
+
+
+ org.assertj
+ assertj-core
+ test
+
+
+
+
diff --git a/belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemResponseErrorHandler.java b/belgif-rest-problem-spring-boot-common-client/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemResponseErrorHandler.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemResponseErrorHandler.java
rename to belgif-rest-problem-spring-boot-common-client/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemResponseErrorHandler.java
diff --git a/belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemRestClientCustomizer.java b/belgif-rest-problem-spring-boot-common-client/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemRestClientCustomizer.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemRestClientCustomizer.java
rename to belgif-rest-problem-spring-boot-common-client/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemRestClientCustomizer.java
diff --git a/belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemRestTemplateCustomizer.java b/belgif-rest-problem-spring-boot-common-client/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemRestTemplateCustomizer.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemRestTemplateCustomizer.java
rename to belgif-rest-problem-spring-boot-common-client/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemRestTemplateCustomizer.java
diff --git a/belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemWebClientCustomizer.java b/belgif-rest-problem-spring-boot-common-client/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemWebClientCustomizer.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemWebClientCustomizer.java
rename to belgif-rest-problem-spring-boot-common-client/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemWebClientCustomizer.java
diff --git a/belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemResponseErrorHandlerTest.java b/belgif-rest-problem-spring-boot-common-client/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemResponseErrorHandlerTest.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemResponseErrorHandlerTest.java
rename to belgif-rest-problem-spring-boot-common-client/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemResponseErrorHandlerTest.java
diff --git a/belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemRestClientCustomizerTest.java b/belgif-rest-problem-spring-boot-common-client/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemRestClientCustomizerTest.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemRestClientCustomizerTest.java
rename to belgif-rest-problem-spring-boot-common-client/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemRestClientCustomizerTest.java
diff --git a/belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemRestTemplateCustomizerTest.java b/belgif-rest-problem-spring-boot-common-client/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemRestTemplateCustomizerTest.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemRestTemplateCustomizerTest.java
rename to belgif-rest-problem-spring-boot-common-client/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemRestTemplateCustomizerTest.java
diff --git a/belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemWebClientCustomizerTest.java b/belgif-rest-problem-spring-boot-common-client/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemWebClientCustomizerTest.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemWebClientCustomizerTest.java
rename to belgif-rest-problem-spring-boot-common-client/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemWebClientCustomizerTest.java
diff --git a/belgif-rest-problem-spring-boot-common-client/src/test/resources/logback-test.xml b/belgif-rest-problem-spring-boot-common-client/src/test/resources/logback-test.xml
new file mode 100644
index 00000000..fe45af16
--- /dev/null
+++ b/belgif-rest-problem-spring-boot-common-client/src/test/resources/logback-test.xml
@@ -0,0 +1,32 @@
+
+
+
+
+ %d [%thread] %.-1level %logger{36} %M - %msg%n
+
+
+ ERROR
+ DENY
+ ACCEPT
+
+ System.out
+
+
+
+
+ %d [%thread] %.-1level %logger{36} %M - %msg%n
+
+
+ ERROR
+ ACCEPT
+ DENY
+
+ System.err
+
+
+
+
+
+
+
+
diff --git a/belgif-rest-problem-spring-boot-common-server/pom.xml b/belgif-rest-problem-spring-boot-common-server/pom.xml
new file mode 100644
index 00000000..27b4fcff
--- /dev/null
+++ b/belgif-rest-problem-spring-boot-common-server/pom.xml
@@ -0,0 +1,102 @@
+
+
+ 4.0.0
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-parent
+ ${revision}
+
+
+ belgif-rest-problem-spring-boot-common-server
+ ${project.groupId}:${project.artifactId}
+ Contains shared server components that are common between Spring Boot versions
+ jar
+
+
+ 17
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-dependencies
+ ${version.spring.boot.3}
+ pom
+ import
+
+
+
+
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-spring-boot-common
+ ${project.version}
+
+
+ org.springframework.boot
+ spring-boot-autoconfigure
+ provided
+
+
+ org.springframework
+ spring-web
+ provided
+
+
+ org.springframework
+ spring-webmvc
+ provided
+
+
+ org.slf4j
+ slf4j-api
+ provided
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ provided
+
+
+ jakarta.validation
+ jakarta.validation-api
+ provided
+
+
+ jakarta.servlet
+ jakarta.servlet-api
+ provided
+
+
+ com.atlassian.oai
+ swagger-request-validator-springmvc
+ 2.46.0
+ true
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.springframework.boot
+ spring-boot-starter-validation
+ test
+
+
+ org.junit.jupiter
+ junit-jupiter
+ test
+
+
+ org.assertj
+ assertj-core
+ test
+
+
+
+
diff --git a/belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/AbstractInvalidRequestExceptionHandler.java b/belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/AbstractInvalidRequestExceptionHandler.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/AbstractInvalidRequestExceptionHandler.java
rename to belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/AbstractInvalidRequestExceptionHandler.java
diff --git a/belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemValidationConfigurationCustomizer.java b/belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemValidationConfigurationCustomizer.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemValidationConfigurationCustomizer.java
rename to belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemValidationConfigurationCustomizer.java
diff --git a/belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/AbstractRoutingExceptionsHandler.java b/belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/AbstractRoutingExceptionsHandler.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/AbstractRoutingExceptionsHandler.java
rename to belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/AbstractRoutingExceptionsHandler.java
diff --git a/belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/AnnotationParameterNameProvider.java b/belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/AnnotationParameterNameProvider.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/AnnotationParameterNameProvider.java
rename to belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/AnnotationParameterNameProvider.java
diff --git a/belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/BeanValidationExceptionsHandler.java b/belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/BeanValidationExceptionsHandler.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/BeanValidationExceptionsHandler.java
rename to belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/BeanValidationExceptionsHandler.java
diff --git a/belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/NoResourceFoundExceptionHandler.java b/belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/NoResourceFoundExceptionHandler.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/NoResourceFoundExceptionHandler.java
rename to belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/NoResourceFoundExceptionHandler.java
diff --git a/belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/ProblemExceptionHandler.java b/belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/ProblemExceptionHandler.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/ProblemExceptionHandler.java
rename to belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/ProblemExceptionHandler.java
diff --git a/belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/i18n/LocaleContextHolderLocaleResolver.java b/belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/i18n/LocaleContextHolderLocaleResolver.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/i18n/LocaleContextHolderLocaleResolver.java
rename to belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/i18n/LocaleContextHolderLocaleResolver.java
diff --git a/belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/internal/BeanValidationExceptionUtil.java b/belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/internal/BeanValidationExceptionUtil.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/internal/BeanValidationExceptionUtil.java
rename to belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/internal/BeanValidationExceptionUtil.java
diff --git a/belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/internal/CachedAnnotationParameterNameSupport.java b/belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/internal/CachedAnnotationParameterNameSupport.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/internal/CachedAnnotationParameterNameSupport.java
rename to belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/internal/CachedAnnotationParameterNameSupport.java
diff --git a/belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/internal/DetermineSourceUtil.java b/belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/internal/DetermineSourceUtil.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/internal/DetermineSourceUtil.java
rename to belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/internal/DetermineSourceUtil.java
diff --git a/belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/internal/InvalidRequestExceptionUtil.java b/belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/internal/InvalidRequestExceptionUtil.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/internal/InvalidRequestExceptionUtil.java
rename to belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/internal/InvalidRequestExceptionUtil.java
diff --git a/belgif-rest-problem-spring-boot-common/src/main/resources/META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver b/belgif-rest-problem-spring-boot-common-server/src/main/resources/META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver
similarity index 100%
rename from belgif-rest-problem-spring-boot-common/src/main/resources/META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver
rename to belgif-rest-problem-spring-boot-common-server/src/main/resources/META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver
diff --git a/belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/AbstractInvalidRequestExceptionHandlerTest.java b/belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/AbstractInvalidRequestExceptionHandlerTest.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/AbstractInvalidRequestExceptionHandlerTest.java
rename to belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/AbstractInvalidRequestExceptionHandlerTest.java
diff --git a/belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemValidationConfigurationCustomizerTest.java b/belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemValidationConfigurationCustomizerTest.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemValidationConfigurationCustomizerTest.java
rename to belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemValidationConfigurationCustomizerTest.java
diff --git a/belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/AbstractRoutingExceptionsHandlerTest.java b/belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/AbstractRoutingExceptionsHandlerTest.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/AbstractRoutingExceptionsHandlerTest.java
rename to belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/AbstractRoutingExceptionsHandlerTest.java
diff --git a/belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/AnnotationParameterNameProviderTest.java b/belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/AnnotationParameterNameProviderTest.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/AnnotationParameterNameProviderTest.java
rename to belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/AnnotationParameterNameProviderTest.java
diff --git a/belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/BeanValidationExceptionsHandlerTest.java b/belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/BeanValidationExceptionsHandlerTest.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/BeanValidationExceptionsHandlerTest.java
rename to belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/BeanValidationExceptionsHandlerTest.java
diff --git a/belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/NoResourceFoundExceptionHandlerTest.java b/belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/NoResourceFoundExceptionHandlerTest.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/NoResourceFoundExceptionHandlerTest.java
rename to belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/NoResourceFoundExceptionHandlerTest.java
diff --git a/belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/ProblemExceptionHandlerTest.java b/belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/ProblemExceptionHandlerTest.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/ProblemExceptionHandlerTest.java
rename to belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/ProblemExceptionHandlerTest.java
diff --git a/belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/i18n/LocaleContextHolderLocaleResolverTest.java b/belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/i18n/LocaleContextHolderLocaleResolverTest.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/i18n/LocaleContextHolderLocaleResolverTest.java
rename to belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/i18n/LocaleContextHolderLocaleResolverTest.java
diff --git a/belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/internal/BeanValidationExceptionUtilTest.java b/belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/internal/BeanValidationExceptionUtilTest.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/internal/BeanValidationExceptionUtilTest.java
rename to belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/internal/BeanValidationExceptionUtilTest.java
diff --git a/belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/internal/CachedAnnotationParameterNameSupportTest.java b/belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/internal/CachedAnnotationParameterNameSupportTest.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/internal/CachedAnnotationParameterNameSupportTest.java
rename to belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/internal/CachedAnnotationParameterNameSupportTest.java
diff --git a/belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/internal/DetermineSourceUtilTest.java b/belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/internal/DetermineSourceUtilTest.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/internal/DetermineSourceUtilTest.java
rename to belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/internal/DetermineSourceUtilTest.java
diff --git a/belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/internal/InvalidRequestExceptionUtilTest.java b/belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/internal/InvalidRequestExceptionUtilTest.java
similarity index 100%
rename from belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/internal/InvalidRequestExceptionUtilTest.java
rename to belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/internal/InvalidRequestExceptionUtilTest.java
diff --git a/belgif-rest-problem-spring-boot-common-server/src/test/resources/logback-test.xml b/belgif-rest-problem-spring-boot-common-server/src/test/resources/logback-test.xml
new file mode 100644
index 00000000..fe45af16
--- /dev/null
+++ b/belgif-rest-problem-spring-boot-common-server/src/test/resources/logback-test.xml
@@ -0,0 +1,32 @@
+
+
+
+
+ %d [%thread] %.-1level %logger{36} %M - %msg%n
+
+
+ ERROR
+ DENY
+ ACCEPT
+
+ System.out
+
+
+
+
+ %d [%thread] %.-1level %logger{36} %M - %msg%n
+
+
+ ERROR
+ ACCEPT
+ DENY
+
+ System.err
+
+
+
+
+
+
+
+
diff --git a/belgif-rest-problem-spring-boot-common/pom.xml b/belgif-rest-problem-spring-boot-common/pom.xml
index e086e681..cd7feac7 100644
--- a/belgif-rest-problem-spring-boot-common/pom.xml
+++ b/belgif-rest-problem-spring-boot-common/pom.xml
@@ -46,17 +46,6 @@
spring-web
provided
-
- org.springframework
- spring-webmvc
- provided
-
-
- org.springframework
- spring-webflux
- provided
- true
-
org.slf4j
slf4j-api
@@ -67,32 +56,11 @@
jackson-databind
provided
-
- jakarta.validation
- jakarta.validation-api
- provided
-
-
- jakarta.servlet
- jakarta.servlet-api
- provided
-
-
- com.atlassian.oai
- swagger-request-validator-springmvc
- 2.46.0
- true
-
org.springframework.boot
spring-boot-starter-test
test
-
- org.springframework.boot
- spring-boot-starter-validation
- test
-
org.junit.jupiter
junit-jupiter
diff --git a/jacoco-aggregator/pom.xml b/jacoco-aggregator/pom.xml
index 2ec6a0d4..82b30420 100644
--- a/jacoco-aggregator/pom.xml
+++ b/jacoco-aggregator/pom.xml
@@ -24,21 +24,96 @@
belgif-rest-problem-java-ee
${project.version}
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-java-ee-core
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-java-ee-client
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-java-ee-server
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-jakarta-ee
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-jakarta-ee-core
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-jakarta-ee-client
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-jakarta-ee-server
+ ${project.version}
+
io.github.belgif.rest.problem
belgif-rest-problem-spring-boot-common
${project.version}
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-spring-boot-common-client
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-spring-boot-common-server
+ ${project.version}
+
io.github.belgif.rest.problem
belgif-rest-problem-spring-boot-3
${project.version}
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-spring-boot-3-core
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-spring-boot-3-client
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-spring-boot-3-server
+ ${project.version}
+
io.github.belgif.rest.problem
belgif-rest-problem-spring-boot-4
${project.version}
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-spring-boot-4-core
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-spring-boot-4-client
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-spring-boot-4-server
+ ${project.version}
+
io.github.belgif.rest.problem
belgif-rest-problem-validator
@@ -51,7 +126,32 @@
io.github.belgif.rest.problem
- belgif-rest-problem-quarkus-deployment
+ belgif-rest-problem-quarkus-core
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-quarkus-core-deployment
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-quarkus-client
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-quarkus-client-deployment
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-quarkus-server
+ ${project.version}
+
+
+ io.github.belgif.rest.problem
+ belgif-rest-problem-quarkus-server-deployment
${project.version}
diff --git a/pom.xml b/pom.xml
index 600e778d..c4a8c8c8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -171,16 +171,7 @@
org.eclipse.transformer
transformer-maven-plugin
1.0.0
-
-
- true
-
-
- ${project.groupId}
- ${project.artifactId}
-
- jakarta
-
+ true
org.codehaus.mojo
@@ -242,7 +233,11 @@
belgif-rest-problem-it,
jacoco-aggregator,
- belgif-rest-problem-spring-boot-3
+
+ belgif-rest-problem-spring-boot-3,
+ belgif-rest-problem-spring-boot-3-core,
+ belgif-rest-problem-spring-boot-3-client,
+ belgif-rest-problem-spring-boot-3-server
all,-missing
true
@@ -377,11 +372,31 @@
belgif-rest-problem
belgif-rest-problem-validator
belgif-rest-problem-java-ee
+ belgif-rest-problem-java-ee-core
+ belgif-rest-problem-java-ee-client
+ belgif-rest-problem-java-ee-server
+ belgif-rest-problem-jakarta-ee
+ belgif-rest-problem-jakarta-ee-core
+ belgif-rest-problem-jakarta-ee-client
+ belgif-rest-problem-jakarta-ee-server
belgif-rest-problem-spring-boot-common
+ belgif-rest-problem-spring-boot-common-client
+ belgif-rest-problem-spring-boot-common-server
belgif-rest-problem-spring-boot-3
+ belgif-rest-problem-spring-boot-3-core
+ belgif-rest-problem-spring-boot-3-client
+ belgif-rest-problem-spring-boot-3-server
belgif-rest-problem-spring-boot-4
+ belgif-rest-problem-spring-boot-4-core
+ belgif-rest-problem-spring-boot-4-client
+ belgif-rest-problem-spring-boot-4-server
belgif-rest-problem-quarkus
- belgif-rest-problem-quarkus-deployment
+ belgif-rest-problem-quarkus-core
+ belgif-rest-problem-quarkus-core-deployment
+ belgif-rest-problem-quarkus-client
+ belgif-rest-problem-quarkus-client-deployment
+ belgif-rest-problem-quarkus-server
+ belgif-rest-problem-quarkus-server-deployment
belgif-rest-problem-it
belgif-rest-problem-bom
@@ -449,6 +464,7 @@
belgif-rest-problem-apt
belgif-rest-problem-codegen-it
belgif-rest-problem-it-common
+ belgif-rest-problem-it-common-jakarta
belgif-rest-problem-jackson2-latest-it
belgif-rest-problem-jackson2-minimal-it
belgif-rest-problem-jackson3-it
@@ -480,11 +496,31 @@
belgif-rest-problem
belgif-rest-problem-validator
belgif-rest-problem-java-ee
+ belgif-rest-problem-java-ee-core
+ belgif-rest-problem-java-ee-client
+ belgif-rest-problem-java-ee-server
+ belgif-rest-problem-jakarta-ee
+ belgif-rest-problem-jakarta-ee-core
+ belgif-rest-problem-jakarta-ee-client
+ belgif-rest-problem-jakarta-ee-server
belgif-rest-problem-spring-boot-common
+ belgif-rest-problem-spring-boot-common-client
+ belgif-rest-problem-spring-boot-common-server
belgif-rest-problem-spring-boot-3
+ belgif-rest-problem-spring-boot-3-core
+ belgif-rest-problem-spring-boot-3-client
+ belgif-rest-problem-spring-boot-3-server
belgif-rest-problem-spring-boot-4
+ belgif-rest-problem-spring-boot-4-core
+ belgif-rest-problem-spring-boot-4-client
+ belgif-rest-problem-spring-boot-4-server
belgif-rest-problem-quarkus
- belgif-rest-problem-quarkus-deployment
+ belgif-rest-problem-quarkus-core
+ belgif-rest-problem-quarkus-core-deployment
+ belgif-rest-problem-quarkus-client
+ belgif-rest-problem-quarkus-client-deployment
+ belgif-rest-problem-quarkus-server
+ belgif-rest-problem-quarkus-server-deployment
belgif-rest-problem-it
belgif-rest-problem-bom
jacoco-aggregator
@@ -527,12 +563,21 @@
belgif-rest-problem
belgif-rest-problem-spring-boot-common
+ belgif-rest-problem-spring-boot-common-client
+ belgif-rest-problem-spring-boot-common-server
belgif-rest-problem-spring-boot-3
+ belgif-rest-problem-spring-boot-3-core
+ belgif-rest-problem-spring-boot-3-client
+ belgif-rest-problem-spring-boot-3-server
belgif-rest-problem-spring-boot-4
+ belgif-rest-problem-spring-boot-4-core
+ belgif-rest-problem-spring-boot-4-client
+ belgif-rest-problem-spring-boot-4-server
belgif-rest-problem-it/belgif-rest-problem-apt
belgif-rest-problem-it/belgif-rest-problem-codegen-it
belgif-rest-problem-it/belgif-rest-problem-it-common
+ belgif-rest-problem-it/belgif-rest-problem-it-common-jakarta
belgif-rest-problem-it/belgif-rest-problem-jackson2-latest-it
belgif-rest-problem-it/belgif-rest-problem-jackson2-minimal-it
belgif-rest-problem-it/belgif-rest-problem-jackson3-it
diff --git a/src/main/asciidoc/index.adoc b/src/main/asciidoc/index.adoc
index bd3ad0d3..56ecbfcd 100644
--- a/src/main/asciidoc/index.adoc
+++ b/src/main/asciidoc/index.adoc
@@ -23,8 +23,10 @@ With this library, RFC 9457 Problems can be *automagically* treated as standard
The library consists of these modules:
* *belgif-rest-problem*: library for RFC 9457 standardized Belgif problems
-* *belgif-rest-problem-java-ee*: Java EE / Jakarta EE integration for belgif-rest-problem
+* *belgif-rest-problem-java-ee*: Java EE integration for belgif-rest-problem
+* *belgif-rest-problem-jakarta-ee*: Jakarta EE integration for belgif-rest-problem
* *belgif-rest-problem-spring-boot-3*: Spring Boot 3.x integration for belgif-rest-problem
+* *belgif-rest-problem-spring-boot-4*: Spring Boot 4.x integration for belgif-rest-problem
* *belgif-rest-problem-quarkus*: Quarkus integration for belgif-rest-problem
* *belgif-rest-problem-validator*: validation library that generates Belgif-compliant BadRequestProblem with InputValidationIssues
@@ -77,6 +79,15 @@ compile 'io.github.belgif.rest.problem:belgif-rest-problem-spring-boot-3:{revnum
compile 'io.github.belgif.rest.problem:belgif-rest-problem-spring-boot-4:{revnumber}'
----
+Alternatively, if you specifically only want to use problems either client-side or server-side, you can depend on these modules instead:
+
+* Spring Boot 3:
+** belgif-rest-problem-spring-boot-3-client
+** belgif-rest-problem-spring-boot-3-server
+* Spring Boot 4:
+** belgif-rest-problem-spring-boot-4-client
+** belgif-rest-problem-spring-boot-4-server
+
[[dependencies-jakarta-ee]]
==== Jakarta EE
@@ -85,16 +96,15 @@ compile 'io.github.belgif.rest.problem:belgif-rest-problem-spring-boot-4:{revnum
----
io.github.belgif.rest.problem
- belgif-rest-problem-java-ee
+ belgif-rest-problem-jakarta-ee
{revnumber}
- jakarta
----
[source,role="secondary",subs="attributes+"]
.Jakarta EE 9+ (Gradle)
----
-compile 'io.github.belgif.rest.problem:belgif-rest-problem-java-ee:{revnumber}:jakarta'
+compile 'io.github.belgif.rest.problem:belgif-rest-problem-jakarta-ee:{revnumber}'
----
[source,xml,role="secondary",subs="attributes+"]
@@ -113,6 +123,15 @@ compile 'io.github.belgif.rest.problem:belgif-rest-problem-java-ee:{revnumber}:j
compile 'io.github.belgif.rest.problem:belgif-rest-problem-java-ee:{revnumber}'
----
+Alternatively, if you specifically only want to use problems either client-side or server-side, you can depend on these modules instead:
+
+* Jakarta EE 9+:
+** belgif-rest-problem-jakarta-ee-client
+** belgif-rest-problem-jakarta-ee-server
+* Jakarta EE 8-:
+** belgif-rest-problem-java-ee-client
+** belgif-rest-problem-java-ee-server
+
[[dependencies-quarkus]]
==== Quarkus
@@ -134,6 +153,11 @@ WARNING: Quarkus support is currently still *experimental*.
compile 'io.github.belgif.rest.problem:belgif-rest-problem-quarkus:{revnumber}'
----
+Alternatively, if you specifically only want to use problems either client-side or server-side, you can depend on these modules instead:
+
+* belgif-rest-problem-quarkus-client
+* belgif-rest-problem-quarkus-server
+
[[getting-started-usage]]
=== Usage
diff --git a/src/main/asciidoc/release-notes.adoc b/src/main/asciidoc/release-notes.adoc
index f533ab63..c2ef2ca0 100644
--- a/src/main/asciidoc/release-notes.adoc
+++ b/src/main/asciidoc/release-notes.adoc
@@ -18,6 +18,51 @@
* Fix concurrency issue in InputValidationIssues.BELGIF_ISSUE_TYPE_HREFS cache
+*belgif-rest-problem-spring-boot-3:*
+
+Provide separate modules in case you specifically only want to use problems either client-side or server-side.
+
+* belgif-rest-problem-spring-boot-3-client
+* belgif-rest-problem-spring-boot-3-server
+
+Note that you can keep using `belgif-rest-problem-spring-boot-3` as before if you want both client-side and server-side integration.
+
+*belgif-rest-problem-spring-boot-4:*
+
+Provide separate modules in case you specifically only want to use problems either client-side or server-side.
+
+* belgif-rest-problem-spring-boot-4-client
+* belgif-rest-problem-spring-boot-4-server
+
+Note that you can keep using `belgif-rest-problem-spring-boot-4` as before when you want both client-side and server-side integration.
+
+*belgif-rest-problem-java-ee:*
+
+Provide separate modules in case you specifically only want to use problems either client-side or server-side.
+
+* Java EE:
+** belgif-rest-problem-java-ee-client
+** belgif-rest-problem-java-ee-server
+* Jakarta EE:
+** belgif-rest-problem-jakarta-ee-client
+** belgif-rest-problem-jakarta-ee-server
+
+Note that you can keep using `belgif-rest-problem-java-ee` as before when you want both client-side and server-side integration.
+
+[WARNING]
+====
+*Breaking change:* The `jakarta` variant of `belgif-rest-problem-java-ee` no longer exists and should be replaced by `belgif-rest-problem-jakarta-ee`.
+====
+
+*belgif-rest-problem-quarkus:*
+
+Provide separate modules in case you specifically only want to use problems either client-side or server-side.
+
+* belgif-rest-problem-quarkus-client
+* belgif-rest-problem-quarkus-server
+
+Note that you can keep using `belgif-rest-problem-quarkus` as before when you want both client-side and server-side integration.
+
== Version 0.20
*belgif-rest-problem:*