diff --git a/.github/native-tests.json b/.github/native-tests.json
index 38a89f7cd0fc6..6d90e7b2f8b57 100644
--- a/.github/native-tests.json
+++ b/.github/native-tests.json
@@ -93,7 +93,7 @@
{
"category": "HTTP",
"timeout": 70,
- "test-modules": "elytron-resteasy, resteasy-jackson, resteasy-mutiny, resteasy-reactive-kotlin, vertx, vertx-http, vertx-web, vertx-web-jackson, vertx-graphql, virtual-http, rest-client",
+ "test-modules": "elytron-resteasy, resteasy-jackson, resteasy-mutiny, resteasy-reactive-kotlin/standard, vertx, vertx-http, vertx-web, vertx-web-jackson, vertx-graphql, virtual-http, rest-client",
"os-name": "ubuntu-latest"
},
{
diff --git a/integration-tests/resteasy-reactive-kotlin/pom.xml b/integration-tests/resteasy-reactive-kotlin/pom.xml
index 4fc33fe3b7929..92515457261da 100644
--- a/integration-tests/resteasy-reactive-kotlin/pom.xml
+++ b/integration-tests/resteasy-reactive-kotlin/pom.xml
@@ -10,150 +10,15 @@
999-SNAPSHOT
- quarkus-integration-test-resteasy-reactive-kotlin
+ quarkus-integration-test-resteasy-reactive-kotlin-parent
+ Quarkus - Integration Tests - RESTEasy Reactive Kotlin - Parent
+ pom
- Quarkus - Integration Tests - RESTEasy Reactive Kotlin
+
+ standard
+ prod-mode
+
-
-
- io.quarkus
- quarkus-resteasy-reactive
-
-
- io.quarkus
- quarkus-kotlin
-
-
- io.quarkus
- quarkus-arc
-
-
- io.quarkus
- quarkus-junit5
- test
-
-
- io.rest-assured
- rest-assured
- test
-
-
- org.jetbrains.kotlinx
- kotlinx-coroutines-core-jvm
- 1.4.2
-
-
- org.jetbrains.kotlin
- kotlin-stdlib-jdk8
- ${kotlin.version}
-
-
- org.jetbrains.kotlin
- kotlin-reflect
- ${kotlin.version}
-
-
- io.rest-assured
- kotlin-extensions
- test
-
-
-
-
- io.quarkus
- quarkus-arc-deployment
- ${project.version}
- pom
- test
-
-
- *
- *
-
-
-
-
- io.quarkus
- quarkus-kotlin-deployment
- ${project.version}
- pom
- test
-
-
- *
- *
-
-
-
-
- io.quarkus
- quarkus-resteasy-reactive-deployment
- ${project.version}
- pom
- test
-
-
- *
- *
-
-
-
-
-
-
-
- src/main/kotlin
- src/test/kotlin
-
-
- io.quarkus
- quarkus-maven-plugin
-
-
-
- build
-
-
-
-
-
- org.jetbrains.kotlin
- kotlin-maven-plugin
-
-
- compile
-
- compile
-
-
-
- test-compile
-
- test-compile
-
-
-
-
-
- org.jetbrains.kotlin
- kotlin-maven-allopen
- ${kotlin.version}
-
-
-
- true
-
- all-open
-
-
-
-
-
-
-
-
-
-
diff --git a/integration-tests/resteasy-reactive-kotlin/prod-mode/pom.xml b/integration-tests/resteasy-reactive-kotlin/prod-mode/pom.xml
new file mode 100644
index 0000000000000..7c2d2b218000c
--- /dev/null
+++ b/integration-tests/resteasy-reactive-kotlin/prod-mode/pom.xml
@@ -0,0 +1,164 @@
+
+
+ 4.0.0
+
+
+ quarkus-integration-test-resteasy-reactive-kotlin-parent
+ io.quarkus
+ 999-SNAPSHOT
+
+
+ quarkus-integration-test-resteasy-reactive-kotlin-prod-mode
+
+ Quarkus - Integration Tests - RESTEasy Reactive Kotlin - Prod Mode tests
+
+
+
+ io.quarkus
+ quarkus-resteasy-reactive
+
+
+ io.quarkus
+ quarkus-kotlin
+
+
+ io.quarkus
+ quarkus-arc
+
+
+ io.quarkus
+ quarkus-junit5
+ test
+
+
+ io.quarkus
+ quarkus-junit5-internal
+ test
+
+
+ io.rest-assured
+ rest-assured
+ test
+
+
+ org.jetbrains.kotlinx
+ kotlinx-coroutines-core-jvm
+ 1.4.2
+
+
+ org.jetbrains.kotlin
+ kotlin-stdlib-jdk8
+ ${kotlin.version}
+
+
+ org.jetbrains.kotlin
+ kotlin-reflect
+ ${kotlin.version}
+
+
+ io.rest-assured
+ kotlin-extensions
+ test
+
+
+
+
+ io.quarkus
+ quarkus-arc-deployment
+ ${project.version}
+ pom
+ test
+
+
+ *
+ *
+
+
+
+
+ io.quarkus
+ quarkus-kotlin-deployment
+ ${project.version}
+ pom
+ test
+
+
+ *
+ *
+
+
+
+
+ io.quarkus
+ quarkus-resteasy-reactive-deployment
+ ${project.version}
+ pom
+ test
+
+
+ *
+ *
+
+
+
+
+
+
+
+ src/main/kotlin
+ src/test/kotlin
+
+
+ io.quarkus
+ quarkus-maven-plugin
+
+
+
+ build
+
+
+
+
+
+ org.jetbrains.kotlin
+ kotlin-maven-plugin
+
+
+ compile
+
+ compile
+
+
+
+ test-compile
+
+ test-compile
+
+
+
+
+
+ org.jetbrains.kotlin
+ kotlin-maven-allopen
+ ${kotlin.version}
+
+
+
+ true
+
+ all-open
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/integration-tests/resteasy-reactive-kotlin/prod-mode/src/test/kotlin/io/quarkus/it/resteasy/reactive/kotlin/BlockingCoroutinesTest.java b/integration-tests/resteasy-reactive-kotlin/prod-mode/src/test/kotlin/io/quarkus/it/resteasy/reactive/kotlin/BlockingCoroutinesTest.java
new file mode 100644
index 0000000000000..76039bae847da
--- /dev/null
+++ b/integration-tests/resteasy-reactive-kotlin/prod-mode/src/test/kotlin/io/quarkus/it/resteasy/reactive/kotlin/BlockingCoroutinesTest.java
@@ -0,0 +1,43 @@
+package io.quarkus.it.resteasy.reactive.kotlin;
+
+import static org.junit.jupiter.api.Assertions.fail;
+
+import java.util.function.Supplier;
+
+import javax.ws.rs.Path;
+
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
+
+import io.quarkus.test.QuarkusProdModeTest;
+import io.smallrye.common.annotation.Blocking;
+
+public class BlockingCoroutinesTest {
+
+ @RegisterExtension
+ static QuarkusProdModeTest test = new QuarkusProdModeTest()
+ .setArchiveProducer(new Supplier() {
+ @Override
+ public JavaArchive get() {
+ return ShrinkWrap.create(JavaArchive.class)
+ .addClasses(TestEndpoint.class);
+ }
+ }).setExpectedException(IllegalStateException.class);
+
+ @Test
+ public void test() {
+ fail("Should never be called");
+ }
+
+ @Path("test")
+ static class TestEndpoint {
+
+ @Path("hello")
+ @Blocking
+ public Object hello(kotlin.coroutines.Continuation> cont) {
+ throw new IllegalStateException("should never be called");
+ }
+ }
+}
diff --git a/integration-tests/resteasy-reactive-kotlin/standard/pom.xml b/integration-tests/resteasy-reactive-kotlin/standard/pom.xml
new file mode 100644
index 0000000000000..e2f6cb2d2b219
--- /dev/null
+++ b/integration-tests/resteasy-reactive-kotlin/standard/pom.xml
@@ -0,0 +1,159 @@
+
+
+ 4.0.0
+
+
+ quarkus-integration-test-resteasy-reactive-kotlin-parent
+ io.quarkus
+ 999-SNAPSHOT
+
+
+ quarkus-integration-test-resteasy-reactive-kotlin-standard
+
+ Quarkus - Integration Tests - RESTEasy Reactive Kotlin - Standard tests
+
+
+
+ io.quarkus
+ quarkus-resteasy-reactive
+
+
+ io.quarkus
+ quarkus-kotlin
+
+
+ io.quarkus
+ quarkus-arc
+
+
+ io.quarkus
+ quarkus-junit5
+ test
+
+
+ io.rest-assured
+ rest-assured
+ test
+
+
+ org.jetbrains.kotlinx
+ kotlinx-coroutines-core-jvm
+ 1.4.2
+
+
+ org.jetbrains.kotlin
+ kotlin-stdlib-jdk8
+ ${kotlin.version}
+
+
+ org.jetbrains.kotlin
+ kotlin-reflect
+ ${kotlin.version}
+
+
+ io.rest-assured
+ kotlin-extensions
+ test
+
+
+
+
+ io.quarkus
+ quarkus-arc-deployment
+ ${project.version}
+ pom
+ test
+
+
+ *
+ *
+
+
+
+
+ io.quarkus
+ quarkus-kotlin-deployment
+ ${project.version}
+ pom
+ test
+
+
+ *
+ *
+
+
+
+
+ io.quarkus
+ quarkus-resteasy-reactive-deployment
+ ${project.version}
+ pom
+ test
+
+
+ *
+ *
+
+
+
+
+
+
+
+ src/main/kotlin
+ src/test/kotlin
+
+
+ io.quarkus
+ quarkus-maven-plugin
+
+
+
+ build
+
+
+
+
+
+ org.jetbrains.kotlin
+ kotlin-maven-plugin
+
+
+ compile
+
+ compile
+
+
+
+ test-compile
+
+ test-compile
+
+
+
+
+
+ org.jetbrains.kotlin
+ kotlin-maven-allopen
+ ${kotlin.version}
+
+
+
+ true
+
+ all-open
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/integration-tests/resteasy-reactive-kotlin/src/main/kotlin/io/quarkus/it/resteasy/reactive/kotlin/ReactiveGreetingResource.kt b/integration-tests/resteasy-reactive-kotlin/standard/src/main/kotlin/io/quarkus/it/resteasy/reactive/kotlin/ReactiveGreetingResource.kt
similarity index 100%
rename from integration-tests/resteasy-reactive-kotlin/src/main/kotlin/io/quarkus/it/resteasy/reactive/kotlin/ReactiveGreetingResource.kt
rename to integration-tests/resteasy-reactive-kotlin/standard/src/main/kotlin/io/quarkus/it/resteasy/reactive/kotlin/ReactiveGreetingResource.kt
diff --git a/integration-tests/resteasy-reactive-kotlin/src/main/resources/META-INF/resources/test.txt b/integration-tests/resteasy-reactive-kotlin/standard/src/main/resources/META-INF/resources/test.txt
similarity index 100%
rename from integration-tests/resteasy-reactive-kotlin/src/main/resources/META-INF/resources/test.txt
rename to integration-tests/resteasy-reactive-kotlin/standard/src/main/resources/META-INF/resources/test.txt
diff --git a/integration-tests/resteasy-reactive-kotlin/src/main/resources/application.properties b/integration-tests/resteasy-reactive-kotlin/standard/src/main/resources/application.properties
similarity index 100%
rename from integration-tests/resteasy-reactive-kotlin/src/main/resources/application.properties
rename to integration-tests/resteasy-reactive-kotlin/standard/src/main/resources/application.properties
diff --git a/integration-tests/resteasy-reactive-kotlin/src/test/kotlin/io/quarkus/it/resteasy/reactive/kotlin/NativeReactiveGreetingResourceIT.kt b/integration-tests/resteasy-reactive-kotlin/standard/src/test/kotlin/io/quarkus/it/resteasy/reactive/kotlin/NativeReactiveGreetingResourceIT.kt
similarity index 100%
rename from integration-tests/resteasy-reactive-kotlin/src/test/kotlin/io/quarkus/it/resteasy/reactive/kotlin/NativeReactiveGreetingResourceIT.kt
rename to integration-tests/resteasy-reactive-kotlin/standard/src/test/kotlin/io/quarkus/it/resteasy/reactive/kotlin/NativeReactiveGreetingResourceIT.kt
diff --git a/integration-tests/resteasy-reactive-kotlin/src/test/kotlin/io/quarkus/it/resteasy/reactive/kotlin/ReactiveGreetingResourceTest.kt b/integration-tests/resteasy-reactive-kotlin/standard/src/test/kotlin/io/quarkus/it/resteasy/reactive/kotlin/ReactiveGreetingResourceTest.kt
similarity index 100%
rename from integration-tests/resteasy-reactive-kotlin/src/test/kotlin/io/quarkus/it/resteasy/reactive/kotlin/ReactiveGreetingResourceTest.kt
rename to integration-tests/resteasy-reactive-kotlin/standard/src/test/kotlin/io/quarkus/it/resteasy/reactive/kotlin/ReactiveGreetingResourceTest.kt