Skip to content

Commit 2bd3429

Browse files
authored
Merge pull request #346 from mraible/dependabot/maven/reactive/helidon/io.helidon.applications-helidon-se-27.0.1
Bump io.helidon.applications:helidon-se from 4.5.4 to 27.0.1 in /reactive/helidon
2 parents e43d8a8 + 29508eb commit 2bd3429

14 files changed

Lines changed: 25 additions & 67 deletions

File tree

‎.github/workflows/helidon.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,11 @@ jobs:
3434
steps:
3535
- name: Checkout
3636
uses: actions/checkout@v7
37-
- name: Configure Java 25
37+
- name: Configure Java 27
3838
uses: actions/setup-java@v6
3939
with:
4040
distribution: 'temurin'
41-
java-version: 25
41+
java-version: 27
4242
cache: 'gradle'
4343
- name: Run tests
4444
working-directory: ./${{ matrix.app }}

‎.github/workflows/reactive.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ jobs:
4949
- name: Build Helidon project
5050
run: |
5151
cd reactive/helidon
52-
docker build -t helidon -f Dockerfile.native .
52+
docker build -t helidon -f Dockerfile.jlink .
5353
docker tag helidon:latest mraible/helidon-reactive:latest
5454
shell: bash
5555

‎README.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,14 +79,14 @@ You can also build and run each example as a native app.
7979
- Micronaut: `./gradlew nativeCompile`
8080
- Quarkus: `quarkus build --native`
8181
- Spring Boot: `./gradlew nativeCompile`
82-
- Helidon: `mvn package -Pnative-image`
82+
- Helidon: `mvn package -Pnative-image` (imperative) or `mvn package -Pjlink-image` (reactive, which uses a jlink image because no GraalVM release supports Java 27 yet)
8383

8484
Then, start each app as a native executable.
8585

8686
- Micronaut: `./build/native/nativeCompile/app`
8787
- Quarkus: `./build/quarkus-1.0.0-SNAPSHOT-runner`
8888
- Spring Boot: `./build/native/nativeCompile/spring-boot`
89-
- Helidon: `./target/helidon`
89+
- Helidon: `./target/helidon` (imperative) or `./target/helidon-jri/bin/start` (reactive)
9090

9191
## Links
9292

‎reactive/build.sh‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,6 @@ cd ../quarkus && ./gradlew build -Dquarkus.package.type=native
1818
echo "Building Spring Boot..."
1919
cd ../spring-boot && ./gradlew nativeCompile
2020

21-
echo "Building Helidon..."
22-
cd ../helidon && mvn package -Pnative-image
21+
echo "Building Helidon (jlink image with AOT cache, requires Java 27)..."
22+
sdk use java 27.0.0.0+35-tem
23+
cd ../helidon && mvn package -Pjlink-image

‎reactive/demo.adoc‎

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -419,22 +419,17 @@ security:
419419

420420
http :8080/hello Authorization:"Bearer $TOKEN"
421421

422-
=== Build a native Helidon app with GraalVM
422+
=== Build a Helidon jlink image with an AOT cache
423423

424-
. Update `src/main/resources/META-INF/native-image/com.example.rest/helidon/native-image.properties` so native compilation will work with Java 21.
425-
+
426-
[source,properties]
427-
----
428-
Args=--initialize-at-build-time=com.example.rest --enable-url-protocols=https
429-
----
424+
Helidon 27 requires Java 27, and no GraalVM release supports Java 27 yet, so this app uses a custom Java runtime image with an ahead-of-time (AOT) cache instead of a native executable.
430425

431-
. Compile your Helidon app into a native executable using the `native-image` profile:
426+
. Build the runtime image using the `jlink-image` profile:
432427

433-
mvn package -Pnative-image
428+
mvn package -Pjlink-image
434429

435430
. Start your Helidon app:
436431

437-
./target/helidon
432+
./target/helidon-jri/bin/start
438433

439434
. Test your API with an access token.
440435

‎reactive/helidon/Dockerfile‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22
# 1st stage, build the app
3-
FROM container-registry.oracle.com/java/openjdk:21 as build
3+
FROM container-registry.oracle.com/java/openjdk:27-oraclelinux9 AS build
44

55
# Install maven
66
WORKDIR /usr/share
@@ -27,7 +27,7 @@ RUN mvn package -DskipTests
2727
RUN echo "done!"
2828

2929
# 2nd stage, build the runtime image
30-
FROM container-registry.oracle.com/java/openjdk:21
30+
FROM container-registry.oracle.com/java/openjdk:27-oraclelinux9
3131
WORKDIR /helidon
3232

3333
# Copy the binary built in the 1st stage

‎reactive/helidon/Dockerfile.jlink‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22
# 1st stage, build the app
3-
FROM container-registry.oracle.com/java/openjdk:21 as build
3+
FROM container-registry.oracle.com/java/openjdk:27-oraclelinux9 AS build
44

55
WORKDIR /usr/share
66

@@ -28,7 +28,7 @@ RUN echo "done!"
2828

2929
# 2nd stage, build the final image with the JRI built in the 1st stage
3030

31-
FROM debian:stretch-slim
31+
FROM container-registry.oracle.com/os/oraclelinux:9-slim
3232
WORKDIR /helidon
3333
COPY --from=build /helidon/target/helidon-jri ./
3434
ENTRYPOINT ["/bin/bash", "/helidon/bin/start"]

‎reactive/helidon/Dockerfile.native‎

Lines changed: 0 additions & 39 deletions
This file was deleted.

‎reactive/helidon/README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Sample Helidon SE project that includes multiple REST operations.
55
## Build and run
66

77

8-
With JDK21
8+
With JDK 27
99
```bash
1010
mvn package
1111
java -jar target/helidon.jar

‎reactive/helidon/pom.xml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>io.helidon.applications</groupId>
88
<artifactId>helidon-se</artifactId>
9-
<version>4.5.4</version>
9+
<version>27.0.1</version>
1010
<relativePath/>
1111
</parent>
1212
<groupId>com.example.rest</groupId>

0 commit comments

Comments
 (0)