io.reactivex.rxjava2
rxjava
diff --git a/extensions/pom.xml b/extensions/pom.xml
index 7f86c1174b30f5..1b866dc2c2165c 100644
--- a/extensions/pom.xml
+++ b/extensions/pom.xml
@@ -59,6 +59,7 @@
resteasy-classic
+ resteasy-common
smallrye-openapi-common
smallrye-openapi
swagger-ui
diff --git a/extensions/resteasy-common/deployment-spi/pom.xml b/extensions/resteasy-common/deployment-spi/pom.xml
new file mode 100644
index 00000000000000..86b7fa1b01b3fb
--- /dev/null
+++ b/extensions/resteasy-common/deployment-spi/pom.xml
@@ -0,0 +1,27 @@
+
+
+ 4.0.0
+
+
+ io.quarkus
+ quarkus-resteasy-common-spi-parent
+ 999-SNAPSHOT
+
+
+ quarkus-resteasy-common-deployment-spi
+ Quarkus - Resteasy - SPI - Deployment
+
+
+
+ io.quarkus
+ quarkus-core-deployment
+
+
+ io.smallrye
+ jandex
+
+
+
+
diff --git a/extensions/resteasy-common/deployment-spi/src/main/java/io/quarkus/resteasy/common/deployment/EndpointValidationPredicatesBuildItem.java b/extensions/resteasy-common/deployment-spi/src/main/java/io/quarkus/resteasy/common/deployment/EndpointValidationPredicatesBuildItem.java
new file mode 100644
index 00000000000000..01bc756efd81bb
--- /dev/null
+++ b/extensions/resteasy-common/deployment-spi/src/main/java/io/quarkus/resteasy/common/deployment/EndpointValidationPredicatesBuildItem.java
@@ -0,0 +1,33 @@
+package io.quarkus.resteasy.common.deployment;
+
+import java.util.function.Predicate;
+
+import org.jboss.jandex.ClassInfo;
+
+import io.quarkus.builder.item.MultiBuildItem;
+
+/**
+ * A build item that provides a {@link Predicate} to detect and validate classes defining REST endpoints.
+ *
+ * This can include resources in RESTEasy or controllers in the Spring ecosystem.
+ * It acts as a Service Provider Interface (SPI) to allow customization of the validation logic for endpoint detection,
+ * enabling integration with various frameworks or specific application needs.
+ *
+ *
+ *
+ * The {@link Predicate} evaluates {@link ClassInfo} instances to determine whether a class defines a REST endpoint
+ * according to the provided logic.
+ *
+ */
+public final class EndpointValidationPredicatesBuildItem extends MultiBuildItem {
+
+ private final Predicate predicate;
+
+ public EndpointValidationPredicatesBuildItem(Predicate predicate) {
+ this.predicate = predicate;
+ }
+
+ public Predicate getPredicate() {
+ return predicate;
+ }
+}
diff --git a/extensions/resteasy-common/pom.xml b/extensions/resteasy-common/pom.xml
new file mode 100644
index 00000000000000..a7234ac9a90046
--- /dev/null
+++ b/extensions/resteasy-common/pom.xml
@@ -0,0 +1,21 @@
+
+
+
+ quarkus-extensions-parent
+ io.quarkus
+ 999-SNAPSHOT
+ ../pom.xml
+
+ 4.0.0
+
+ quarkus-resteasy-common-spi-parent
+ Quarkus - RESTEasy Common SPI - Parent
+ This module provides reusable abstraction for use with both RESTEasy Classic and Quarkus REST (formerly RESTEasy Reactive)
+ pom
+
+ deployment-spi
+
+
+
diff --git a/extensions/resteasy-reactive/rest-client-jaxrs/deployment/pom.xml b/extensions/resteasy-reactive/rest-client-jaxrs/deployment/pom.xml
index bc8a8c616760aa..2d6706975673f8 100644
--- a/extensions/resteasy-reactive/rest-client-jaxrs/deployment/pom.xml
+++ b/extensions/resteasy-reactive/rest-client-jaxrs/deployment/pom.xml
@@ -33,6 +33,10 @@
io.quarkus
quarkus-rest-spi-deployment
+