diff --git a/docs/src/main/asciidoc/kotlin.adoc b/docs/src/main/asciidoc/kotlin.adoc index 644dbb97176c2..ef117f0c8d0fb 100644 --- a/docs/src/main/asciidoc/kotlin.adoc +++ b/docs/src/main/asciidoc/kotlin.adoc @@ -174,7 +174,7 @@ Thus, the `all-open` Kotlin compiler plugin allows us to configure the compiler we have specified that classes annotated with `jakarta.ws.rs.Path` should not be `final`. If your application contains Kotlin classes annotated with `jakarta.enterprise.context.ApplicationScoped` -for example, then `` needs to be added as well. Same goes for any class that needs to have a dynamic proxy created at runtime. +for example, then `` needs to be added as well. Same goes for any class that needs to have a dynamic proxy created at runtime, like a JPA Entity class. Future versions of Quarkus will configure the Kotlin compiler plugin in a way that will make it unnecessary to alter this configuration. @@ -228,6 +228,7 @@ java { allOpen { // <2> annotation("jakarta.ws.rs.Path") annotation("jakarta.enterprise.context.ApplicationScoped") + annotation("jakarta.persistence.Entity") annotation("io.quarkus.test.junit.QuarkusTest") } @@ -296,6 +297,7 @@ java { allOpen { // <2> annotation("jakarta.ws.rs.Path") annotation("jakarta.enterprise.context.ApplicationScoped") + annotation("jakarta.persistence.Entity") annotation("io.quarkus.test.junit.QuarkusTest") } diff --git a/independent-projects/tools/base-codestarts/src/main/resources/codestarts/quarkus/buildtool/gradle-kotlin-dsl/kotlin/build.tpl.qute.gradle.kts b/independent-projects/tools/base-codestarts/src/main/resources/codestarts/quarkus/buildtool/gradle-kotlin-dsl/kotlin/build.tpl.qute.gradle.kts index ed99b5f16072d..ac4043c53faed 100644 --- a/independent-projects/tools/base-codestarts/src/main/resources/codestarts/quarkus/buildtool/gradle-kotlin-dsl/kotlin/build.tpl.qute.gradle.kts +++ b/independent-projects/tools/base-codestarts/src/main/resources/codestarts/quarkus/buildtool/gradle-kotlin-dsl/kotlin/build.tpl.qute.gradle.kts @@ -12,9 +12,11 @@ allOpen { {#if quarkus.platform.version.startsWith("2.") or quarkus.platform.version.startsWith("1.")} annotation("javax.ws.rs.Path") annotation("javax.enterprise.context.ApplicationScoped") + annotation("javax.persistence.Entity") {#else} annotation("jakarta.ws.rs.Path") annotation("jakarta.enterprise.context.ApplicationScoped") + annotation("jakarta.persistence.Entity") {/if} annotation("io.quarkus.test.junit.QuarkusTest") } diff --git a/independent-projects/tools/base-codestarts/src/main/resources/codestarts/quarkus/buildtool/gradle/kotlin/build.tpl.qute.gradle b/independent-projects/tools/base-codestarts/src/main/resources/codestarts/quarkus/buildtool/gradle/kotlin/build.tpl.qute.gradle index 062bb795e42e1..84fbbd20f1242 100644 --- a/independent-projects/tools/base-codestarts/src/main/resources/codestarts/quarkus/buildtool/gradle/kotlin/build.tpl.qute.gradle +++ b/independent-projects/tools/base-codestarts/src/main/resources/codestarts/quarkus/buildtool/gradle/kotlin/build.tpl.qute.gradle @@ -12,9 +12,11 @@ allOpen { {#if quarkus.platform.version.startsWith("2.") or quarkus.platform.version.startsWith("1.")} annotation("javax.ws.rs.Path") annotation("javax.enterprise.context.ApplicationScoped") + annotation("javax.persistence.Entity") {#else} annotation("jakarta.ws.rs.Path") annotation("jakarta.enterprise.context.ApplicationScoped") + annotation("jakarta.persistence.Entity") {/if} annotation("io.quarkus.test.junit.QuarkusTest") } diff --git a/independent-projects/tools/base-codestarts/src/main/resources/codestarts/quarkus/buildtool/maven/kotlin/pom.tpl.qute.xml b/independent-projects/tools/base-codestarts/src/main/resources/codestarts/quarkus/buildtool/maven/kotlin/pom.tpl.qute.xml index d3581f35c5b45..8ebaeba5f5e0b 100644 --- a/independent-projects/tools/base-codestarts/src/main/resources/codestarts/quarkus/buildtool/maven/kotlin/pom.tpl.qute.xml +++ b/independent-projects/tools/base-codestarts/src/main/resources/codestarts/quarkus/buildtool/maven/kotlin/pom.tpl.qute.xml @@ -51,9 +51,11 @@ {#if quarkus.platform.version.startsWith("2.") or quarkus.platform.version.startsWith("1.")} + {#else} + {/if} diff --git a/integration-tests/gradle/src/main/resources/bean-in-testsources-project/build.gradle b/integration-tests/gradle/src/main/resources/bean-in-testsources-project/build.gradle index 48484bcacc504..3b0999ab58824 100644 --- a/integration-tests/gradle/src/main/resources/bean-in-testsources-project/build.gradle +++ b/integration-tests/gradle/src/main/resources/bean-in-testsources-project/build.gradle @@ -30,6 +30,7 @@ version '1.0.0-SNAPSHOT' allOpen { annotation("jakarta.ws.rs.Path") annotation("jakarta.enterprise.context.ApplicationScoped") + annotation("jakarta.persistence.Entity") annotation("io.quarkus.test.junit.QuarkusTest") } diff --git a/integration-tests/gradle/src/main/resources/conditional-dependencies-kotlin/build.gradle.kts b/integration-tests/gradle/src/main/resources/conditional-dependencies-kotlin/build.gradle.kts index fceb6a712b6f0..e5d23bacc50de 100644 --- a/integration-tests/gradle/src/main/resources/conditional-dependencies-kotlin/build.gradle.kts +++ b/integration-tests/gradle/src/main/resources/conditional-dependencies-kotlin/build.gradle.kts @@ -41,6 +41,7 @@ java { allOpen { annotation("jakarta.ws.rs.Path") annotation("jakarta.enterprise.context.ApplicationScoped") + annotation("jakarta.persistence.Entity") annotation("io.quarkus.test.junit.QuarkusTest") } diff --git a/integration-tests/gradle/src/main/resources/kotlin-grpc-project/build.gradle b/integration-tests/gradle/src/main/resources/kotlin-grpc-project/build.gradle index e1b70c84d92d6..469b5fabff4fd 100644 --- a/integration-tests/gradle/src/main/resources/kotlin-grpc-project/build.gradle +++ b/integration-tests/gradle/src/main/resources/kotlin-grpc-project/build.gradle @@ -32,6 +32,7 @@ version '1.0.0-SNAPSHOT' allOpen { annotation("jakarta.ws.rs.Path") annotation("jakarta.enterprise.context.ApplicationScoped") + annotation("jakarta.persistence.Entity") annotation("io.quarkus.test.junit.QuarkusTest") } diff --git a/integration-tests/gradle/src/main/resources/multi-module-kotlin-project/build.gradle b/integration-tests/gradle/src/main/resources/multi-module-kotlin-project/build.gradle index dcfe99f6eead4..c865e84396955 100644 --- a/integration-tests/gradle/src/main/resources/multi-module-kotlin-project/build.gradle +++ b/integration-tests/gradle/src/main/resources/multi-module-kotlin-project/build.gradle @@ -13,6 +13,7 @@ dependencies { allOpen { annotation("jakarta.ws.rs.Path") annotation("jakarta.enterprise.context.ApplicationScoped") + annotation("jakarta.persistence.Entity") annotation("io.quarkus.test.junit.QuarkusTest") } diff --git a/integration-tests/gradle/src/main/resources/multi-source-project/build.gradle b/integration-tests/gradle/src/main/resources/multi-source-project/build.gradle index 44106837be7f0..09d3854d5292c 100644 --- a/integration-tests/gradle/src/main/resources/multi-source-project/build.gradle +++ b/integration-tests/gradle/src/main/resources/multi-source-project/build.gradle @@ -31,6 +31,7 @@ version '1.0.0-SNAPSHOT' allOpen { annotation("jakarta.ws.rs.Path") annotation("jakarta.enterprise.context.ApplicationScoped") + annotation("jakarta.persistence.Entity") annotation("io.quarkus.test.junit.QuarkusTest") } diff --git a/integration-tests/hibernate-reactive-panache-kotlin/pom.xml b/integration-tests/hibernate-reactive-panache-kotlin/pom.xml index aa3b0d3bd54e3..aaf32c7cf76b2 100644 --- a/integration-tests/hibernate-reactive-panache-kotlin/pom.xml +++ b/integration-tests/hibernate-reactive-panache-kotlin/pom.xml @@ -214,6 +214,7 @@ + diff --git a/integration-tests/kotlin/src/test/resources/projects/classic-kotlin/pom.xml b/integration-tests/kotlin/src/test/resources/projects/classic-kotlin/pom.xml index 9d7b96435010b..11e69627d833a 100644 --- a/integration-tests/kotlin/src/test/resources/projects/classic-kotlin/pom.xml +++ b/integration-tests/kotlin/src/test/resources/projects/classic-kotlin/pom.xml @@ -95,6 +95,7 @@ + diff --git a/integration-tests/kotlin/src/test/resources/projects/external-reloadable-artifacts/app/pom.xml b/integration-tests/kotlin/src/test/resources/projects/external-reloadable-artifacts/app/pom.xml index a5cc869a832c5..6038adf509dfc 100644 --- a/integration-tests/kotlin/src/test/resources/projects/external-reloadable-artifacts/app/pom.xml +++ b/integration-tests/kotlin/src/test/resources/projects/external-reloadable-artifacts/app/pom.xml @@ -82,6 +82,7 @@ + diff --git a/integration-tests/kotlin/src/test/resources/projects/kotlin-compiler-args/pom.xml b/integration-tests/kotlin/src/test/resources/projects/kotlin-compiler-args/pom.xml index eb816331807ff..c264411637c04 100644 --- a/integration-tests/kotlin/src/test/resources/projects/kotlin-compiler-args/pom.xml +++ b/integration-tests/kotlin/src/test/resources/projects/kotlin-compiler-args/pom.xml @@ -109,6 +109,7 @@ + -Xemit-jvm-type-annotations diff --git a/integration-tests/logging-panache-kotlin/pom.xml b/integration-tests/logging-panache-kotlin/pom.xml index f689140cd745f..366fccc401d49 100644 --- a/integration-tests/logging-panache-kotlin/pom.xml +++ b/integration-tests/logging-panache-kotlin/pom.xml @@ -112,6 +112,7 @@ + diff --git a/integration-tests/resteasy-reactive-kotlin/prod-mode/pom.xml b/integration-tests/resteasy-reactive-kotlin/prod-mode/pom.xml index 19345f4cd97e9..48c89d5a180a9 100644 --- a/integration-tests/resteasy-reactive-kotlin/prod-mode/pom.xml +++ b/integration-tests/resteasy-reactive-kotlin/prod-mode/pom.xml @@ -152,6 +152,7 @@ + diff --git a/integration-tests/resteasy-reactive-kotlin/standard/pom.xml b/integration-tests/resteasy-reactive-kotlin/standard/pom.xml index 758d622b759c3..bfebbdc1a1e42 100644 --- a/integration-tests/resteasy-reactive-kotlin/standard/pom.xml +++ b/integration-tests/resteasy-reactive-kotlin/standard/pom.xml @@ -240,6 +240,7 @@ +