diff --git a/bom/application/pom.xml b/bom/application/pom.xml
index 392a1e3970f18..b076f919cdfce 100644
--- a/bom/application/pom.xml
+++ b/bom/application/pom.xml
@@ -1922,6 +1922,11 @@
quarkus-resteasy-reactive
${project.version}
+
+ io.quarkus
+ quarkus-resteasy-reactive-kotlin
+ ${project.version}
+
io.quarkus
quarkus-resteasy-reactive-spi-deployment
diff --git a/extensions/resteasy-reactive/quarkus-resteasy-reactive/deployment/pom.xml b/extensions/resteasy-reactive/quarkus-resteasy-reactive/deployment/pom.xml
index 9a13e08fe9c4a..a4a896e2a2f50 100644
--- a/extensions/resteasy-reactive/quarkus-resteasy-reactive/deployment/pom.xml
+++ b/extensions/resteasy-reactive/quarkus-resteasy-reactive/deployment/pom.xml
@@ -17,6 +17,10 @@
io.quarkus.resteasy.reactive
resteasy-reactive-processor
+
+ io.quarkus
+ quarkus-resteasy-reactive-kotlin
+
io.quarkus
quarkus-vertx-http-deployment
diff --git a/extensions/resteasy-reactive/quarkus-resteasy-reactive/kotlin/pom.xml b/extensions/resteasy-reactive/quarkus-resteasy-reactive/kotlin/pom.xml
new file mode 100644
index 0000000000000..66a5152a86b00
--- /dev/null
+++ b/extensions/resteasy-reactive/quarkus-resteasy-reactive/kotlin/pom.xml
@@ -0,0 +1,102 @@
+
+
+
+ io.quarkus
+ quarkus-resteasy-reactive-parent
+ 999-SNAPSHOT
+
+ 4.0.0
+
+ quarkus-resteasy-reactive-kotlin
+ Quarkus - RESTEasy Reactive - Kotlin
+ Provides Kotlin support for RESTEasy Reactive
+
+
+
+ io.quarkus
+ quarkus-resteasy-reactive-common
+
+
+ io.quarkus.resteasy.reactive
+ resteasy-reactive-vertx
+
+
+ org.jetbrains.kotlin
+ kotlin-stdlib-jdk8
+ true
+
+
+ org.jetbrains.kotlinx
+ kotlinx-coroutines-core-jvm
+ true
+
+
+
+
+ ${project.basedir}/src/main/kotlin
+ ${project.basedir}/src/test/kotlin
+
+
+ org.jetbrains.kotlin
+ kotlin-maven-plugin
+ ${kotlin.version}
+
+
+ compile
+
+ compile
+
+
+
+ test-compile
+
+ test-compile
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+
+ io.quarkus
+ quarkus-extension-processor
+ ${project.version}
+
+
+
+
+
+
+ default-compile
+ none
+
+
+
+ default-testCompile
+ none
+
+
+ java-compile
+ compile
+
+ compile
+
+
+
+ java-test-compile
+ test-compile
+
+ testCompile
+
+
+
+
+
+
+
+
diff --git a/extensions/resteasy-reactive/quarkus-resteasy-reactive/runtime/src/main/kotlin/org/jboss/resteasy/reactive/server/runtime/kotlin/CoroutineEndpointInvoker.kt b/extensions/resteasy-reactive/quarkus-resteasy-reactive/kotlin/src/main/kotlin/org/jboss/resteasy/reactive/server/runtime/kotlin/CoroutineEndpointInvoker.kt
similarity index 100%
rename from extensions/resteasy-reactive/quarkus-resteasy-reactive/runtime/src/main/kotlin/org/jboss/resteasy/reactive/server/runtime/kotlin/CoroutineEndpointInvoker.kt
rename to extensions/resteasy-reactive/quarkus-resteasy-reactive/kotlin/src/main/kotlin/org/jboss/resteasy/reactive/server/runtime/kotlin/CoroutineEndpointInvoker.kt
diff --git a/extensions/resteasy-reactive/quarkus-resteasy-reactive/runtime/src/main/kotlin/org/jboss/resteasy/reactive/server/runtime/kotlin/CoroutineInvocationHandler.kt b/extensions/resteasy-reactive/quarkus-resteasy-reactive/kotlin/src/main/kotlin/org/jboss/resteasy/reactive/server/runtime/kotlin/CoroutineInvocationHandler.kt
similarity index 100%
rename from extensions/resteasy-reactive/quarkus-resteasy-reactive/runtime/src/main/kotlin/org/jboss/resteasy/reactive/server/runtime/kotlin/CoroutineInvocationHandler.kt
rename to extensions/resteasy-reactive/quarkus-resteasy-reactive/kotlin/src/main/kotlin/org/jboss/resteasy/reactive/server/runtime/kotlin/CoroutineInvocationHandler.kt
diff --git a/extensions/resteasy-reactive/quarkus-resteasy-reactive/runtime/src/main/kotlin/org/jboss/resteasy/reactive/server/runtime/kotlin/CoroutineMethodProcessor.kt b/extensions/resteasy-reactive/quarkus-resteasy-reactive/kotlin/src/main/kotlin/org/jboss/resteasy/reactive/server/runtime/kotlin/CoroutineMethodProcessor.kt
similarity index 100%
rename from extensions/resteasy-reactive/quarkus-resteasy-reactive/runtime/src/main/kotlin/org/jboss/resteasy/reactive/server/runtime/kotlin/CoroutineMethodProcessor.kt
rename to extensions/resteasy-reactive/quarkus-resteasy-reactive/kotlin/src/main/kotlin/org/jboss/resteasy/reactive/server/runtime/kotlin/CoroutineMethodProcessor.kt
diff --git a/extensions/resteasy-reactive/quarkus-resteasy-reactive/pom.xml b/extensions/resteasy-reactive/quarkus-resteasy-reactive/pom.xml
index 25ed7a24c94b6..566778d978bbd 100644
--- a/extensions/resteasy-reactive/quarkus-resteasy-reactive/pom.xml
+++ b/extensions/resteasy-reactive/quarkus-resteasy-reactive/pom.xml
@@ -15,6 +15,7 @@
pom
deployment
+ kotlin
runtime
diff --git a/extensions/resteasy-reactive/quarkus-resteasy-reactive/runtime/pom.xml b/extensions/resteasy-reactive/quarkus-resteasy-reactive/runtime/pom.xml
index 22dd78a11c6fb..1c2455a13f238 100644
--- a/extensions/resteasy-reactive/quarkus-resteasy-reactive/runtime/pom.xml
+++ b/extensions/resteasy-reactive/quarkus-resteasy-reactive/runtime/pom.xml
@@ -28,22 +28,11 @@
io.quarkus
- quarkus-vertx-http
-
-
- org.jetbrains.kotlinx
- kotlinx-coroutines-core-jvm
- true
+ quarkus-resteasy-reactive-kotlin
- org.jetbrains.kotlin
- kotlin-stdlib-jdk8
- true
-
-
- org.jetbrains.kotlin
- kotlin-reflect
- true
+ io.quarkus
+ quarkus-vertx-http
com.fasterxml.jackson.core
@@ -63,74 +52,6 @@
-
- org.jetbrains.kotlin
- kotlin-maven-plugin
- ${kotlin.version}
-
-
- compile
-
- compile
-
-
-
- ${project.basedir}/src/main/kotlin
- ${project.basedir}/src/main/java
-
-
-
-
- test-compile
- test-compile
-
-
- ${project.basedir}/src/test/kotlin
- ${project.basedir}/src/test/java
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
-
- io.quarkus
- quarkus-extension-processor
- ${project.version}
-
-
-
-
-
-
- default-compile
- none
-
-
-
- default-testCompile
- none
-
-
- java-compile
- compile
-
- compile
-
-
-
- java-test-compile
- test-compile
-
- testCompile
-
-
-
-
io.quarkus
quarkus-bootstrap-maven-plugin