diff --git a/.github/workflows/ci-actions-incremental.yml b/.github/workflows/ci-actions-incremental.yml index 4423a550a06ea..d9d32558c5bd1 100644 --- a/.github/workflows/ci-actions-incremental.yml +++ b/.github/workflows/ci-actions-incremental.yml @@ -771,11 +771,11 @@ jobs: path: . - name: Extract .m2/repository/io/quarkus run: tar -xzf m2-io-quarkus.tgz -C ~ - - name: Set up JDK 20 + - name: Set up JDK 21 uses: actions/setup-java@v3 with: distribution: temurin - java-version: 20 + java-version: 21 # We do this so we can get better analytics for the downloaded version of the build images - name: Update Docker Client User Agent run: | @@ -785,7 +785,7 @@ jobs: TEST_MODULES: ${{matrix.test-modules}} CONTAINER_BUILD: ${{startsWith(matrix.os-name, 'windows') && 'false' || 'true'}} run: | - export LANG=en_US && ./mvnw $COMMON_MAVEN_ARGS -f integration-tests/virtual-threads -pl "$TEST_MODULES" $NATIVE_TEST_MAVEN_ARGS -Dextra-args=--enable-preview -Dquarkus.native.container-build=true -Dquarkus.native.builder-image=quay.io/quarkus/ubi-quarkus-mandrel-builder-image:jdk-20 + export LANG=en_US && ./mvnw $COMMON_MAVEN_ARGS -f integration-tests/virtual-threads -pl "$TEST_MODULES" $NATIVE_TEST_MAVEN_ARGS -Dextra-args=--enable-preview -Dquarkus.native.container-build=true - name: Upload build reports (if build failed) uses: actions/upload-artifact@v3 if: ${{ failure() || cancelled() }} diff --git a/core/deployment/src/main/java/io/quarkus/deployment/pkg/NativeConfig.java b/core/deployment/src/main/java/io/quarkus/deployment/pkg/NativeConfig.java index 977cb104e0461..c973f8a449a91 100644 --- a/core/deployment/src/main/java/io/quarkus/deployment/pkg/NativeConfig.java +++ b/core/deployment/src/main/java/io/quarkus/deployment/pkg/NativeConfig.java @@ -20,8 +20,8 @@ @ConfigMapping(prefix = "quarkus.native") public interface NativeConfig { - String DEFAULT_GRAALVM_BUILDER_IMAGE = "quay.io/quarkus/ubi-quarkus-graalvmce-builder-image:jdk-17"; - String DEFAULT_MANDREL_BUILDER_IMAGE = "quay.io/quarkus/ubi-quarkus-mandrel-builder-image:jdk-17"; + String DEFAULT_GRAALVM_BUILDER_IMAGE = "quay.io/quarkus/ubi-quarkus-graalvmce-builder-image:jdk-21"; + String DEFAULT_MANDREL_BUILDER_IMAGE = "quay.io/quarkus/ubi-quarkus-mandrel-builder-image:jdk-21"; /** * Comma-separated, additional arguments to pass to the build process. @@ -225,7 +225,7 @@ default boolean isExplicitContainerBuild() { interface BuilderImageConfig { /** * The docker image to use to do the image build. It can be one of `graalvm`, `mandrel`, or the full image path, e.g. - * {@code quay.io/quarkus/ubi-quarkus-mandrel-builder-image:jdk-17}. + * {@code quay.io/quarkus/ubi-quarkus-mandrel-builder-image:jdk-21}. */ @WithParentName @WithDefault("${platform.quarkus.native.builder-image}") diff --git a/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/GraalVM.java b/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/GraalVM.java index e0bacc8780aed..6fa2aa252fc1f 100644 --- a/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/GraalVM.java +++ b/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/GraalVM.java @@ -155,7 +155,7 @@ public static final class Version implements Comparable { public static final Version VERSION_23_1_0 = new Version("GraalVM 23.1.0", "23.1.0", Distribution.GRAALVM); public static final Version MINIMUM = VERSION_22_2_0; - public static final Version CURRENT = VERSION_23_0_0; + public static final Version CURRENT = VERSION_23_1_0; public static final int UNDEFINED = -1; final String fullVersion; diff --git a/core/deployment/src/test/java/io/quarkus/deployment/pkg/NativeConfigTest.java b/core/deployment/src/test/java/io/quarkus/deployment/pkg/NativeConfigTest.java index cb6a429e20f4d..654655f32234e 100644 --- a/core/deployment/src/test/java/io/quarkus/deployment/pkg/NativeConfigTest.java +++ b/core/deployment/src/test/java/io/quarkus/deployment/pkg/NativeConfigTest.java @@ -9,20 +9,20 @@ class NativeConfigTest { @Test public void testBuilderImageProperlyDetected() { assertThat(createConfig("graalvm").builderImage().getEffectiveImage()).contains("ubi-quarkus-graalvmce-builder-image") - .contains("jdk-17"); + .contains("jdk-21"); assertThat(createConfig("GraalVM").builderImage().getEffectiveImage()).contains("ubi-quarkus-graalvmce-builder-image") - .contains("jdk-17"); + .contains("jdk-21"); assertThat(createConfig("GraalVM").builderImage().getEffectiveImage()).contains("ubi-quarkus-graalvmce-builder-image") - .contains("jdk-17"); + .contains("jdk-21"); assertThat(createConfig("GRAALVM").builderImage().getEffectiveImage()).contains("ubi-quarkus-graalvmce-builder-image") - .contains("jdk-17"); + .contains("jdk-21"); assertThat(createConfig("mandrel").builderImage().getEffectiveImage()).contains("ubi-quarkus-mandrel-builder-image") - .contains("jdk-17"); + .contains("jdk-21"); assertThat(createConfig("Mandrel").builderImage().getEffectiveImage()).contains("ubi-quarkus-mandrel-builder-image") - .contains("jdk-17"); + .contains("jdk-21"); assertThat(createConfig("MANDREL").builderImage().getEffectiveImage()).contains("ubi-quarkus-mandrel-builder-image") - .contains("jdk-17"); + .contains("jdk-21"); assertThat(createConfig("aRandomString").builderImage().getEffectiveImage()).isEqualTo("aRandomString"); } diff --git a/docs/pom.xml b/docs/pom.xml index 38070aa3d12c1..dbf502dbfae57 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -17,10 +17,10 @@ - for JDK 17 - jdk17 - jdk-17 - jdk-17 + for JDK 21 + jdk21 + jdk-21 + jdk-21 3.5.0 2.0.0 diff --git a/docs/src/main/asciidoc/building-native-image.adoc b/docs/src/main/asciidoc/building-native-image.adoc index 8a2d72bc58b3c..0dad0256163c0 100644 --- a/docs/src/main/asciidoc/building-native-image.adoc +++ b/docs/src/main/asciidoc/building-native-image.adoc @@ -428,17 +428,6 @@ In this case, use the parameter `-Dquarkus.native.remote-container-build=true` i The reason for this is that the local build driver invoked through `-Dquarkus.native.container-build=true` uses volume mounts to make the JAR available in the build container, but volume mounts do not work with remote daemons. The remote container build driver copies the necessary files instead of mounting them. Note that even though the remote driver also works with local daemons, the local driver should be preferred in the local case because mounting is usually more performant than copying. ==== -[TIP] -==== -The builder image used by default supports Java 17 as it is the latest LTS version. - -If your application uses Java 18 or later, you need to specify a builder image supporting Java 20: - -:build-additional-parameters: -Dquarkus.native.builder-image=quay.io/quarkus/ubi-quarkus-mandrel-builder-image:jdk-20 -include::{includes}/devtools/build-native-container-parameters.adoc[] -:!build-additional-parameters: -==== - [TIP] ==== Building with GraalVM instead of Mandrel requires a custom builder image parameter to be passed additionally: diff --git a/docs/src/main/asciidoc/virtual-threads.adoc b/docs/src/main/asciidoc/virtual-threads.adoc index e409077fdb982..0e42c6650928c 100644 --- a/docs/src/main/asciidoc/virtual-threads.adoc +++ b/docs/src/main/asciidoc/virtual-threads.adoc @@ -387,15 +387,10 @@ Then, add to your `application.properties` file: [source, properties] ---- -quarkus.native.additional-build-args=--enable-preview <1> - # In-container build to get a linux 64 executable -quarkus.native.container-build=true <2> -quarkus.native.builder-image=quay.io/quarkus/ubi-quarkus-mandrel-builder-image:jdk-20 <3> +quarkus.native.container-build=true <1> ---- -<1> The `enable-preview` flag in only necessary until Java 21. -<2> Enables the in-container build -<3> The builder container to use. Make sure it supports virtual threads +<1> Enables the in-container build [IMPORTANT] .From ARM/64 to AMD/64 diff --git a/independent-projects/bootstrap/pom.xml b/independent-projects/bootstrap/pom.xml index 449aa916eec8d..b53b42b3de503 100644 --- a/independent-projects/bootstrap/pom.xml +++ b/independent-projects/bootstrap/pom.xml @@ -70,7 +70,7 @@ 3.0.2.Final 1.1.0.Final 1.7.36 - 23.0.1 + 23.1.0 2.6.0 2.0 1.26 diff --git a/integration-tests/virtual-threads/amqp-virtual-threads/src/main/resources/application.properties b/integration-tests/virtual-threads/amqp-virtual-threads/src/main/resources/application.properties index f212b575de362..f6768433c2a8a 100644 --- a/integration-tests/virtual-threads/amqp-virtual-threads/src/main/resources/application.properties +++ b/integration-tests/virtual-threads/amqp-virtual-threads/src/main/resources/application.properties @@ -3,5 +3,3 @@ mp.messaging.incoming.prices.broadcast=true mp.messaging.outgoing.prices-out.address=prices smallrye.messaging.worker..max-concurrency=10 - -quarkus.native.additional-build-args=--enable-preview diff --git a/integration-tests/virtual-threads/grpc-virtual-threads/src/main/resources/application.properties b/integration-tests/virtual-threads/grpc-virtual-threads/src/main/resources/application.properties index c5e8d4afaaaf6..7646bf42cfd05 100644 --- a/integration-tests/virtual-threads/grpc-virtual-threads/src/main/resources/application.properties +++ b/integration-tests/virtual-threads/grpc-virtual-threads/src/main/resources/application.properties @@ -3,7 +3,5 @@ quarkus.grpc.clients.service.port=9001 %vertx.quarkus.grpc.server.use-separate-server=false -quarkus.native.additional-build-args=--enable-preview - %vertx.quarkus.grpc.clients.service.port=8081 %vertx.quarkus.grpc.clients.service.use-quarkus-grpc-client=true diff --git a/integration-tests/virtual-threads/jms-virtual-threads/src/main/resources/application.properties b/integration-tests/virtual-threads/jms-virtual-threads/src/main/resources/application.properties index 176a3abff2075..57d7613b5e8e5 100644 --- a/integration-tests/virtual-threads/jms-virtual-threads/src/main/resources/application.properties +++ b/integration-tests/virtual-threads/jms-virtual-threads/src/main/resources/application.properties @@ -4,7 +4,5 @@ mp.messaging.outgoing.prices-out.destination=prices smallrye.messaging.worker..max-concurrency=5 -quarkus.native.additional-build-args=--enable-preview - quarkus.artemis.devservices.enabled=true quarkus.artemis.devservices.image-name=quay.io/artemiscloud/activemq-artemis-broker:1.0.18 diff --git a/integration-tests/virtual-threads/kafka-virtual-threads/src/main/resources/application.properties b/integration-tests/virtual-threads/kafka-virtual-threads/src/main/resources/application.properties index c361e848bc491..ad3c16899286a 100644 --- a/integration-tests/virtual-threads/kafka-virtual-threads/src/main/resources/application.properties +++ b/integration-tests/virtual-threads/kafka-virtual-threads/src/main/resources/application.properties @@ -4,5 +4,3 @@ mp.messaging.incoming.prices.auto.offset.reset=earliest mp.messaging.outgoing.prices-out.topic=prices smallrye.messaging.worker..max-concurrency=10 - -quarkus.native.additional-build-args=--enable-preview diff --git a/integration-tests/virtual-threads/mailer-virtual-threads/src/main/resources/application.properties b/integration-tests/virtual-threads/mailer-virtual-threads/src/main/resources/application.properties index 182aeaefac333..9d56807a66e4e 100644 --- a/integration-tests/virtual-threads/mailer-virtual-threads/src/main/resources/application.properties +++ b/integration-tests/virtual-threads/mailer-virtual-threads/src/main/resources/application.properties @@ -1,3 +1,2 @@ -quarkus.native.additional-build-args=--enable-preview quarkus.mailer.mock=false -quarkus.mailer.from=roger-the-robot@quarkus.io \ No newline at end of file +quarkus.mailer.from=roger-the-robot@quarkus.io diff --git a/integration-tests/virtual-threads/pom.xml b/integration-tests/virtual-threads/pom.xml index f23f86a062baa..96fabdd34574b 100644 --- a/integration-tests/virtual-threads/pom.xml +++ b/integration-tests/virtual-threads/pom.xml @@ -104,7 +104,7 @@ ${maven.home} - --enable-preview -Djdk.tracePinnedThreads -Dgradle.scan.captureTestLogging=false + -Djdk.tracePinnedThreads -Dgradle.scan.captureTestLogging=false ${skipTests} @@ -131,7 +131,6 @@ ${version.compiler.plugin} - --enable-preview -parameters diff --git a/integration-tests/virtual-threads/quartz-virtual-threads/src/main/resources/application.properties b/integration-tests/virtual-threads/quartz-virtual-threads/src/main/resources/application.properties index 43b1e230c2184..e69de29bb2d1d 100644 --- a/integration-tests/virtual-threads/quartz-virtual-threads/src/main/resources/application.properties +++ b/integration-tests/virtual-threads/quartz-virtual-threads/src/main/resources/application.properties @@ -1,3 +0,0 @@ -quarkus.native.additional-build-args=--enable-preview - -quarkus.package.quiltflower.enabled=true \ No newline at end of file diff --git a/integration-tests/virtual-threads/redis-virtual-threads/src/main/resources/application.properties b/integration-tests/virtual-threads/redis-virtual-threads/src/main/resources/application.properties index 651500d04fd6d..83f9967b1c962 100644 --- a/integration-tests/virtual-threads/redis-virtual-threads/src/main/resources/application.properties +++ b/integration-tests/virtual-threads/redis-virtual-threads/src/main/resources/application.properties @@ -1,4 +1,2 @@ -quarkus.native.additional-build-args=--enable-preview - quarkus.cache.redis.value-type=java.lang.String -quarkus.cache.redis.ttl=10s \ No newline at end of file +quarkus.cache.redis.ttl=10s diff --git a/integration-tests/virtual-threads/rest-client-reactive-virtual-threads/src/main/resources/application.properties b/integration-tests/virtual-threads/rest-client-reactive-virtual-threads/src/main/resources/application.properties index 0bdbbf4a0cfe7..e69de29bb2d1d 100644 --- a/integration-tests/virtual-threads/rest-client-reactive-virtual-threads/src/main/resources/application.properties +++ b/integration-tests/virtual-threads/rest-client-reactive-virtual-threads/src/main/resources/application.properties @@ -1 +0,0 @@ -quarkus.native.additional-build-args=--enable-preview diff --git a/integration-tests/virtual-threads/resteasy-reactive-virtual-threads/src/main/resources/application.properties b/integration-tests/virtual-threads/resteasy-reactive-virtual-threads/src/main/resources/application.properties index 0632584e49a8d..e69de29bb2d1d 100644 --- a/integration-tests/virtual-threads/resteasy-reactive-virtual-threads/src/main/resources/application.properties +++ b/integration-tests/virtual-threads/resteasy-reactive-virtual-threads/src/main/resources/application.properties @@ -1 +0,0 @@ -quarkus.native.additional-build-args=--enable-preview \ No newline at end of file diff --git a/integration-tests/virtual-threads/scheduler-virtual-threads/src/main/resources/application.properties b/integration-tests/virtual-threads/scheduler-virtual-threads/src/main/resources/application.properties index 43b1e230c2184..e69de29bb2d1d 100644 --- a/integration-tests/virtual-threads/scheduler-virtual-threads/src/main/resources/application.properties +++ b/integration-tests/virtual-threads/scheduler-virtual-threads/src/main/resources/application.properties @@ -1,3 +0,0 @@ -quarkus.native.additional-build-args=--enable-preview - -quarkus.package.quiltflower.enabled=true \ No newline at end of file diff --git a/integration-tests/virtual-threads/vertx-event-bus-virtual-threads/src/main/resources/application.properties b/integration-tests/virtual-threads/vertx-event-bus-virtual-threads/src/main/resources/application.properties index 0bdbbf4a0cfe7..e69de29bb2d1d 100644 --- a/integration-tests/virtual-threads/vertx-event-bus-virtual-threads/src/main/resources/application.properties +++ b/integration-tests/virtual-threads/vertx-event-bus-virtual-threads/src/main/resources/application.properties @@ -1 +0,0 @@ -quarkus.native.additional-build-args=--enable-preview diff --git a/integration-tests/virtual-threads/virtual-threads-disabled/src/main/resources/application.properties b/integration-tests/virtual-threads/virtual-threads-disabled/src/main/resources/application.properties index c97efe2603807..4ac0c01bba146 100644 --- a/integration-tests/virtual-threads/virtual-threads-disabled/src/main/resources/application.properties +++ b/integration-tests/virtual-threads/virtual-threads-disabled/src/main/resources/application.properties @@ -1,2 +1 @@ -quarkus.native.additional-build-args=--enable-preview -quarkus.virtual-threads.enabled=false \ No newline at end of file +quarkus.virtual-threads.enabled=false