diff --git a/applications/mp/pom.xml b/applications/mp/pom.xml
index bdb007532a7..e7dc9211c29 100644
--- a/applications/mp/pom.xml
+++ b/applications/mp/pom.xml
@@ -83,14 +83,22 @@
- io.helidon.build-tools
- helidon-maven-plugin
+ org.graalvm.buildtools
+ native-maven-plugin
- native-image
+ resource-config
+
+ generateResourceConfig
+
+ package
+
+
+ build-native-image
- native-image
+ compile
+ package
diff --git a/applications/pom.xml b/applications/pom.xml
index b0bb0048322..578d2b778a8 100644
--- a/applications/pom.xml
+++ b/applications/pom.xml
@@ -50,6 +50,7 @@
3.0.0
3.0.0
3.0.2
+ 0.9.16
1.5.0.Final
0.5.1
2.7
@@ -170,6 +171,39 @@
io.grpc:protoc-gen-grpc-java:${version.lib.grpc}:exe:${os.detected.classifier}
+
+ org.graalvm.buildtools
+ native-maven-plugin
+ ${version.plugin.nativeimage}
+
+
+ resource-config
+
+
+ true
+
+
+
+ build-native-image
+
+
+ true
+
+ ${project.build.outputDirectory}
+ ${project.build.finalName}
+ false
+
+ false
+
+
+
+ --add-exports=org.graalvm.nativeimage.builder/com.oracle.svm.core.configure=ALL-UNNAMED
+
+
+
+
+
diff --git a/applications/se/pom.xml b/applications/se/pom.xml
index a6443226df5..9c4f2f0de9b 100644
--- a/applications/se/pom.xml
+++ b/applications/se/pom.xml
@@ -36,14 +36,22 @@
- io.helidon.build-tools
- helidon-maven-plugin
+ org.graalvm.buildtools
+ native-maven-plugin
- native-image
+ resource-config
+
+ generateResourceConfig
+
+ package
+
+
+ build-native-image
- native-image
+ compile
+ package
diff --git a/archetypes/helidon/src/main/archetype/common/files/Dockerfile.native.mustache b/archetypes/helidon/src/main/archetype/common/files/Dockerfile.native.mustache
index 4846986fd2c..cf81ff28571 100644
--- a/archetypes/helidon/src/main/archetype/common/files/Dockerfile.native.mustache
+++ b/archetypes/helidon/src/main/archetype/common/files/Dockerfile.native.mustache
@@ -1,6 +1,6 @@
# 1st stage, build the app
-FROM ghcr.io/graalvm/graalvm-ce:java17-21.3.0 as build
+FROM ghcr.io/graalvm/graalvm-ce:ol9-java17-22.3.0 as build
# Install native-image
RUN gu install native-image
diff --git a/tests/integration/native-image/mp-2/src/main/resources/META-INF/native-image/tests/mp-2/native-image.properties b/common/common/src/main/resources/META-INF/native-image/io.helidon.common/helidon-common/native-image.properties
similarity index 73%
rename from tests/integration/native-image/mp-2/src/main/resources/META-INF/native-image/tests/mp-2/native-image.properties
rename to common/common/src/main/resources/META-INF/native-image/io.helidon.common/helidon-common/native-image.properties
index 7abbaa30149..059f9251bf4 100644
--- a/tests/integration/native-image/mp-2/src/main/resources/META-INF/native-image/tests/mp-2/native-image.properties
+++ b/common/common/src/main/resources/META-INF/native-image/io.helidon.common/helidon-common/native-image.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2020, 2022 Oracle and/or its affiliates.
+# Copyright (c) 2022 Oracle and/or its affiliates.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -14,7 +14,5 @@
# limitations under the License.
#
-#
-# Graal native image supports additional configuration from this property file.
-#
-Args=-H:+RemoveSaturatedTypeFlows
+# all Helidon classes should be designed for native image, exceptions configured in specific modules
+Args=--initialize-at-build-time=io.helidon
diff --git a/common/common/src/main/resources/META-INF/native-image/io.helidon/helidon-common/reflect-config.json b/common/common/src/main/resources/META-INF/native-image/io.helidon.common/helidon-common/reflect-config.json
similarity index 100%
rename from common/common/src/main/resources/META-INF/native-image/io.helidon/helidon-common/reflect-config.json
rename to common/common/src/main/resources/META-INF/native-image/io.helidon.common/helidon-common/reflect-config.json
diff --git a/common/common/src/main/resources/META-INF/native-image/io.helidon/helidon-common/resource-config.json b/common/common/src/main/resources/META-INF/native-image/io.helidon.common/helidon-common/resource-config.json
similarity index 100%
rename from common/common/src/main/resources/META-INF/native-image/io.helidon/helidon-common/resource-config.json
rename to common/common/src/main/resources/META-INF/native-image/io.helidon.common/helidon-common/resource-config.json
diff --git a/config/yaml/src/main/resources/META-INF/native-image/io.helidon.config/helidon-config-yaml/native-image.properties b/config/yaml/src/main/resources/META-INF/native-image/io.helidon.config/helidon-config-yaml/native-image.properties
index 4a4ca04f076..30aecd85516 100644
--- a/config/yaml/src/main/resources/META-INF/native-image/io.helidon.config/helidon-config-yaml/native-image.properties
+++ b/config/yaml/src/main/resources/META-INF/native-image/io.helidon.config/helidon-config-yaml/native-image.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2019, 2021 Oracle and/or its affiliates.
+# Copyright (c) 2019, 2022 Oracle and/or its affiliates.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -14,4 +14,5 @@
# limitations under the License.
#
-Args=--initialize-at-build-time=io.helidon.config.yaml
+Args=--initialize-at-build-time=io.helidon.config.yaml \
+ --initialize-at-build-time=org.yaml.snakeyaml
diff --git a/dbclient/jdbc/src/main/resources/META-INF/native-image/io.helidon.dbclient/helidon-dbclient-jdbc/native-image.properties b/dbclient/jdbc/src/main/resources/META-INF/native-image/io.helidon.dbclient/helidon-dbclient-jdbc/native-image.properties
index 99e8a47f564..edd1cacc1f8 100644
--- a/dbclient/jdbc/src/main/resources/META-INF/native-image/io.helidon.dbclient/helidon-dbclient-jdbc/native-image.properties
+++ b/dbclient/jdbc/src/main/resources/META-INF/native-image/io.helidon.dbclient/helidon-dbclient-jdbc/native-image.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2019, 2020 Oracle and/or its affiliates.
+# Copyright (c) 2019, 2022 Oracle and/or its affiliates.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -15,4 +15,5 @@
#
Args= --initialize-at-build-time=org.slf4j \
+ --initialize-at-build-time=com.zaxxer.hikari \
--initialize-at-run-time=com.zaxxer.hikari.metrics.dropwizard.CodaHaleMetricsTracker
diff --git a/dependencies/pom.xml b/dependencies/pom.xml
index dc892d19213..4c6c71f697b 100644
--- a/dependencies/pom.xml
+++ b/dependencies/pom.xml
@@ -52,7 +52,7 @@
1.33.3
2.3.3
3.21.7
- 21.3.0
+ 22.3.0
17.4
17.1
2.8.9
@@ -969,11 +969,6 @@
-
- org.graalvm.nativeimage
- svm
- ${version.lib.graalvm}
-
org.apache.kafka
diff --git a/docs/includes/guides/graalnative.adoc b/docs/includes/guides/graalnative.adoc
index 8bee202bc37..2d8116fe612 100644
--- a/docs/includes/guides/graalnative.adoc
+++ b/docs/includes/guides/graalnative.adoc
@@ -42,7 +42,7 @@ set the `GRAALVM_HOME` environment variable to point at your GraalVM installatio
[source,bash]
----
# Your path might be different
-export GRAALVM_HOME=/usr/local/graalvm-ce-21.3.0/Contents/Home/
+export GRAALVM_HOME=/usr/local/graalvm-ce-22.3.0/Contents/Home/
----
Then install the optional `native-image` command:
diff --git a/etc/dependency-check-suppression.xml b/etc/dependency-check-suppression.xml
index 2c985004b81..f170d1eac88 100644
--- a/etc/dependency-check-suppression.xml
+++ b/etc/dependency-check-suppression.xml
@@ -18,119 +18,119 @@
-->
^pkg:maven/org\.graalvm\..*/.*@.*$
CVE-2022-21248
^pkg:maven/org\.graalvm\..*/.*@.*$
CVE-2022-21271
^pkg:maven/org\.graalvm\..*/.*@.*$
CVE-2022-21277
^pkg:maven/org\.graalvm\..*/.*@.*$
CVE-2022-21282
^pkg:maven/org\.graalvm\..*/.*@.*$
CVE-2022-21283
^pkg:maven/org\.graalvm\..*/.*@.*$
CVE-2022-21291
^pkg:maven/org\.graalvm\..*/.*@.*$
CVE-2022-21293
^pkg:maven/org\.graalvm\..*/.*@.*$
CVE-2022-21294
^pkg:maven/org\.graalvm\..*/.*@.*$
CVE-2022-21296
^pkg:maven/org\.graalvm\..*/.*@.*$
CVE-2022-21299
^pkg:maven/org\.graalvm\..*/.*@.*$
CVE-2022-21305
^pkg:maven/org\.graalvm\..*/.*@.*$
CVE-2022-21340
^pkg:maven/org\.graalvm\..*/.*@.*$
CVE-2022-21341
^pkg:maven/org\.graalvm\..*/.*@.*$
CVE-2022-21349
^pkg:maven/org\.graalvm\..*/.*@.*$
CVE-2022-21360
^pkg:maven/org\.graalvm\..*/.*@.*$
CVE-2022-21365
^pkg:maven/org\.graalvm\..*/.*@.*$
CVE-2022-21366
diff --git a/etc/scripts/includes/pipeline-env.sh b/etc/scripts/includes/pipeline-env.sh
index baef4650283..038afd255c7 100644
--- a/etc/scripts/includes/pipeline-env.sh
+++ b/etc/scripts/includes/pipeline-env.sh
@@ -47,7 +47,7 @@ if [ -z "${__PIPELINE_ENV_INCLUDED__}" ]; then
. ${WS_DIR}/etc/scripts/includes/error_handlers.sh
if [ -z "${GRAALVM_HOME}" ]; then
- export GRAALVM_HOME="/tools/graalvm-ce-java17-21.3.0"
+ export GRAALVM_HOME="/tools/graalvm-ce-java17-22.3.0"
fi
require_env() {
diff --git a/examples/integrations/neo4j/neo4j-mp/Dockerfile.native b/examples/integrations/neo4j/neo4j-mp/Dockerfile.native
index b189c0e8369..3eb3e047bba 100644
--- a/examples/integrations/neo4j/neo4j-mp/Dockerfile.native
+++ b/examples/integrations/neo4j/neo4j-mp/Dockerfile.native
@@ -15,7 +15,7 @@
#
# 1st stage, build the app
-FROM ghcr.io/graalvm/graalvm-ce:java17-21.3.0 as build
+FROM ghcr.io/graalvm/graalvm-ce:ol9-java17-22.3.0 as build
# Install native-image
RUN gu install native-image
diff --git a/examples/integrations/neo4j/neo4j-se/Dockerfile.native b/examples/integrations/neo4j/neo4j-se/Dockerfile.native
index 770f0acf859..5efbf0a80c6 100644
--- a/examples/integrations/neo4j/neo4j-se/Dockerfile.native
+++ b/examples/integrations/neo4j/neo4j-se/Dockerfile.native
@@ -15,7 +15,7 @@
#
# 1st stage, build the app
-FROM ghcr.io/graalvm/graalvm-ce:java17-21.3.0 as build
+FROM ghcr.io/graalvm/graalvm-ce:ol9-java17-22.3.0 as build
# Install native-image
RUN gu install native-image
diff --git a/examples/quickstarts/helidon-quickstart-mp/Dockerfile.native b/examples/quickstarts/helidon-quickstart-mp/Dockerfile.native
index 4d44834f29f..8f2eb3890cc 100644
--- a/examples/quickstarts/helidon-quickstart-mp/Dockerfile.native
+++ b/examples/quickstarts/helidon-quickstart-mp/Dockerfile.native
@@ -15,7 +15,7 @@
#
# 1st stage, build the app
-FROM ghcr.io/graalvm/graalvm-ce:java17-21.3.0 as build
+FROM ghcr.io/graalvm/graalvm-ce:ol9-java17-22.3.0 as build
# Install native-image
RUN gu install native-image
diff --git a/examples/quickstarts/helidon-quickstart-mp/README.md b/examples/quickstarts/helidon-quickstart-mp/README.md
index 8305c86335b..4a025bd51e0 100644
--- a/examples/quickstarts/helidon-quickstart-mp/README.md
+++ b/examples/quickstarts/helidon-quickstart-mp/README.md
@@ -80,7 +80,7 @@ You can build a native executable in 2 different ways:
### Local build
Download Graal VM at https://www.graalvm.org/downloads. We recommend
-version `21.3.0` or later.
+version `22.3.0` or later.
```
# Setup the environment
diff --git a/examples/quickstarts/helidon-quickstart-se/Dockerfile.native b/examples/quickstarts/helidon-quickstart-se/Dockerfile.native
index e6222cb4294..aab68738ba2 100644
--- a/examples/quickstarts/helidon-quickstart-se/Dockerfile.native
+++ b/examples/quickstarts/helidon-quickstart-se/Dockerfile.native
@@ -15,7 +15,7 @@
#
# 1st stage, build the app
-FROM ghcr.io/graalvm/graalvm-ce:java17-21.3.0 as build
+FROM ghcr.io/graalvm/graalvm-ce:ol9-java17-22.3.0 as build
# Install native-image
RUN gu install native-image
diff --git a/examples/quickstarts/helidon-quickstart-se/README.md b/examples/quickstarts/helidon-quickstart-se/README.md
index 183fb28eced..c3da9e6d54c 100644
--- a/examples/quickstarts/helidon-quickstart-se/README.md
+++ b/examples/quickstarts/helidon-quickstart-se/README.md
@@ -80,7 +80,7 @@ You can build a native executable in 2 different ways:
### Local build
Download Graal VM at https://www.graalvm.org/downloads. We recommend
-version `21.3.0` or later.
+version `22.3.0` or later.
```
# Setup the environment
diff --git a/examples/quickstarts/helidon-standalone-quickstart-mp/Dockerfile.native b/examples/quickstarts/helidon-standalone-quickstart-mp/Dockerfile.native
index c61e11abcea..911af806530 100644
--- a/examples/quickstarts/helidon-standalone-quickstart-mp/Dockerfile.native
+++ b/examples/quickstarts/helidon-standalone-quickstart-mp/Dockerfile.native
@@ -15,7 +15,7 @@
#
# 1st stage, build the app
-FROM ghcr.io/graalvm/graalvm-ce:java17-21.3.0 as build
+FROM ghcr.io/graalvm/graalvm-ce:ol9-java17-22.3.0 as build
# Install native-image
RUN gu install native-image
diff --git a/examples/quickstarts/helidon-standalone-quickstart-se/Dockerfile.native b/examples/quickstarts/helidon-standalone-quickstart-se/Dockerfile.native
index 229b28b84d6..78e867aa92a 100644
--- a/examples/quickstarts/helidon-standalone-quickstart-se/Dockerfile.native
+++ b/examples/quickstarts/helidon-standalone-quickstart-se/Dockerfile.native
@@ -15,7 +15,7 @@
#
# 1st stage, build the app
-FROM ghcr.io/graalvm/graalvm-ce:java17-21.3.0 as build
+FROM ghcr.io/graalvm/graalvm-ce:ol9-java17-22.3.0 as build
# Install native-image
RUN gu install native-image
diff --git a/examples/quickstarts/helidon-standalone-quickstart-se/README.md b/examples/quickstarts/helidon-standalone-quickstart-se/README.md
index 05b912e03d5..08887994d89 100644
--- a/examples/quickstarts/helidon-standalone-quickstart-se/README.md
+++ b/examples/quickstarts/helidon-standalone-quickstart-se/README.md
@@ -81,7 +81,7 @@ You can build a native executable in 2 different ways:
### Local build
Download Graal VM at https://www.graalvm.org/downloads. We recommend
-version `21.3.0` or later.
+version `22.3.0` or later.
```
# Setup the environment
diff --git a/grpc/core/src/main/resources/META-INF/native-image/io-helidon-grpc/helidon-grpc-core/native-image.properties b/grpc/core/src/main/resources/META-INF/native-image/io-helidon-grpc/helidon-grpc-core/native-image.properties
index b64704ec106..557a30ffa17 100644
--- a/grpc/core/src/main/resources/META-INF/native-image/io-helidon-grpc/helidon-grpc-core/native-image.properties
+++ b/grpc/core/src/main/resources/META-INF/native-image/io-helidon-grpc/helidon-grpc-core/native-image.properties
@@ -22,5 +22,4 @@ Args=--initialize-at-build-time=com.google \
--initialize-at-run-time=io.grpc.netty.Utils$ByteBufAllocatorPreferDirectHolder \
--initialize-at-run-time=io.grpc.netty.Utils$ByteBufAllocatorPreferHeapHolder \
--initialize-at-run-time=io.helidon.grpc.core.JsonbMarshaller \
- --initialize-at-run-time=io.helidon.grpc.server.SSLContextBuilder \
- --allow-incomplete-classpath
+ --initialize-at-run-time=io.helidon.grpc.server.SSLContextBuilder
diff --git a/integrations/cdi/datasource-hikaricp/src/main/resources/META-INF/native-image/io.helidon.integrations.cdi/helidon-integrations-cdi-datasource-hikaricp/native-image.properties b/integrations/cdi/datasource-hikaricp/src/main/resources/META-INF/native-image/io.helidon.integrations.cdi/helidon-integrations-cdi-datasource-hikaricp/native-image.properties
index ce6dd8f7b41..5901aa4594b 100644
--- a/integrations/cdi/datasource-hikaricp/src/main/resources/META-INF/native-image/io.helidon.integrations.cdi/helidon-integrations-cdi-datasource-hikaricp/native-image.properties
+++ b/integrations/cdi/datasource-hikaricp/src/main/resources/META-INF/native-image/io.helidon.integrations.cdi/helidon-integrations-cdi-datasource-hikaricp/native-image.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2020 Oracle and/or its affiliates.
+# Copyright (c) 2020, 2022 Oracle and/or its affiliates.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -14,4 +14,6 @@
# limitations under the License.
#
-Args=--initialize-at-run-time=com.zaxxer.hikari.metrics.dropwizard.CodaHaleMetricsTracker
+Args=--initialize-at-build-time=com.zaxxer.hikari \
+ --initialize-at-build-time=org.slf4j \
+ --initialize-at-run-time=com.zaxxer.hikari.metrics.dropwizard.CodaHaleMetricsTracker
diff --git a/integrations/cdi/hibernate-cdi/src/main/resources/META-INF/native-image/io.helidon.integrations.cdi/helidon-integrations-cdi-hibernate/native-image.properties b/integrations/cdi/hibernate-cdi/src/main/resources/META-INF/native-image/io.helidon.integrations.cdi/helidon-integrations-cdi-hibernate/native-image.properties
index f1dab2d9b70..8f9df8f56ce 100644
--- a/integrations/cdi/hibernate-cdi/src/main/resources/META-INF/native-image/io.helidon.integrations.cdi/helidon-integrations-cdi-hibernate/native-image.properties
+++ b/integrations/cdi/hibernate-cdi/src/main/resources/META-INF/native-image/io.helidon.integrations.cdi/helidon-integrations-cdi-hibernate/native-image.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2020 Oracle and/or its affiliates.
+# Copyright (c) 2020, 2022 Oracle and/or its affiliates.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -14,5 +14,7 @@
# limitations under the License.
#
-Args=--initialize-at-run-time=org.hibernate.secure.internal.StandardJaccServiceImpl \
- --initialize-at-run-time=org.hibernate.dialect.OracleTypesHelper
+Args=--initialize-at-build-time=org.hibernate \
+ --initialize-at-build-time=org.antlr \
+ --initialize-at-run-time=org.hibernate.secure.internal.StandardJaccServiceImpl \
+ --initialize-at-run-time=org.hibernate.dialect
diff --git a/integrations/cdi/jpa-cdi/src/main/resources/META-INF/native-image/io.helidon.integrations.cd/helidon-integrations-cdi-jpa/native-image.properties b/integrations/cdi/jpa-cdi/src/main/resources/META-INF/native-image/io.helidon.integrations.cdi/helidon-integrations-cdi-jpa/native-image.properties
similarity index 92%
rename from integrations/cdi/jpa-cdi/src/main/resources/META-INF/native-image/io.helidon.integrations.cd/helidon-integrations-cdi-jpa/native-image.properties
rename to integrations/cdi/jpa-cdi/src/main/resources/META-INF/native-image/io.helidon.integrations.cdi/helidon-integrations-cdi-jpa/native-image.properties
index a90c4e40123..d9eb58f5af5 100644
--- a/integrations/cdi/jpa-cdi/src/main/resources/META-INF/native-image/io.helidon.integrations.cd/helidon-integrations-cdi-jpa/native-image.properties
+++ b/integrations/cdi/jpa-cdi/src/main/resources/META-INF/native-image/io.helidon.integrations.cdi/helidon-integrations-cdi-jpa/native-image.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2020 Oracle and/or its affiliates.
+# Copyright (c) 2020, 2022 Oracle and/or its affiliates.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
diff --git a/integrations/cdi/jpa-cdi/src/main/resources/META-INF/native-image/io.helidon.integrations.cd/helidon-integrations-cdi-jpa/resource-config.json b/integrations/cdi/jpa-cdi/src/main/resources/META-INF/native-image/io.helidon.integrations.cdi/helidon-integrations-cdi-jpa/resource-config.json
similarity index 100%
rename from integrations/cdi/jpa-cdi/src/main/resources/META-INF/native-image/io.helidon.integrations.cd/helidon-integrations-cdi-jpa/resource-config.json
rename to integrations/cdi/jpa-cdi/src/main/resources/META-INF/native-image/io.helidon.integrations.cdi/helidon-integrations-cdi-jpa/resource-config.json
diff --git a/integrations/cdi/jta-cdi/src/main/resources/META-INF/native-image/io.helidon.integrations.cdi/helidon-integrations-cdi-jta/native-image.properties b/integrations/cdi/jta-cdi/src/main/resources/META-INF/native-image/io.helidon.integrations.cdi/helidon-integrations-cdi-jta/native-image.properties
index c66561f3a6e..9f03a961a9d 100644
--- a/integrations/cdi/jta-cdi/src/main/resources/META-INF/native-image/io.helidon.integrations.cdi/helidon-integrations-cdi-jta/native-image.properties
+++ b/integrations/cdi/jta-cdi/src/main/resources/META-INF/native-image/io.helidon.integrations.cdi/helidon-integrations-cdi-jta/native-image.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2020 Oracle and/or its affiliates.
+# Copyright (c) 2020, 2022 Oracle and/or its affiliates.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -21,4 +21,6 @@ Args=--initialize-at-run-time=com.arjuna.ats.internal.jta.transaction.arjunacore
--initialize-at-run-time=com.arjuna.ats.internal.arjuna.coordinator.ReaperWorkerThread \
--initialize-at-run-time=com.arjuna.ats.arjuna.recovery.RecoveryManager \
--initialize-at-run-time=com.arjuna.ats.internal.jta.resources.arjunacore.CommitMarkableResourceRecord \
- -H:IncludeResourceBundles=io.helidon.integrations.jta.cdi.Messages
+ --initialize-at-run-time=com.arjuna.ats.jdbc.TransactionalDriver \
+ -H:IncludeResourceBundles=io.helidon.integrations.jta.cdi.Messages \
+ --initialize-at-build-time=com.arjuna
diff --git a/integrations/db/h2/pom.xml b/integrations/db/h2/pom.xml
index ca380736d79..a761a2ad2a3 100644
--- a/integrations/db/h2/pom.xml
+++ b/integrations/db/h2/pom.xml
@@ -48,8 +48,8 @@
h2
- org.graalvm.nativeimage
- svm
+ org.graalvm.sdk
+ graal-sdk
provided
diff --git a/integrations/db/ojdbc/src/main/resources/META-INF/native-image/io.helidon.integrations.db/ojdbc/jni-config.json b/integrations/db/ojdbc/src/main/resources/META-INF/native-image/io.helidon.integrations.db/ojdbc/jni-config.json
deleted file mode 100644
index e903501a272..00000000000
--- a/integrations/db/ojdbc/src/main/resources/META-INF/native-image/io.helidon.integrations.db/ojdbc/jni-config.json
+++ /dev/null
@@ -1,6 +0,0 @@
-[
- {
- "name":"java.net.InetAddress",
- "methods":[{"name":"","parameterTypes":[] }]
- }
-]
\ No newline at end of file
diff --git a/integrations/db/ojdbc/src/main/resources/META-INF/native-image/io.helidon.integrations.db/ojdbc/native-image.properties b/integrations/db/ojdbc/src/main/resources/META-INF/native-image/io.helidon.integrations.db/ojdbc/native-image.properties
deleted file mode 100644
index de101a41b82..00000000000
--- a/integrations/db/ojdbc/src/main/resources/META-INF/native-image/io.helidon.integrations.db/ojdbc/native-image.properties
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-# Copyright (c) 2020, 2021 Oracle and/or its affiliates.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-Args= --allow-incomplete-classpath \
- --enable-all-security-services \
- --initialize-at-build-time=oracle.net.jdbc.nl.mesg.NLSR_en \
- --initialize-at-build-time=oracle.jdbc.driver.DynamicByteArray \
- --initialize-at-build-time=oracle.sql.ConverterArchive \
- --initialize-at-build-time=oracle.sql.converter.CharacterConverterJDBC \
- --initialize-at-build-time=oracle.sql.converter.CharacterConverter1Byte \
- --initialize-at-run-time=oracle.jdbc.pool.OracleDataSource \
- --initialize-at-run-time=oracle.jdbc.driver.OracleDriver \
- --initialize-at-run-time=oracle.jdbc.driver.OracleTimeoutThreadPerVM \
- --initialize-at-run-time=oracle.jdbc.driver.BlockSource$ThreadedCachingBlockSource \
- --initialize-at-run-time=oracle.jdbc.driver.BlockSource$ThreadedCachingBlockSource$BlockReleaser \
- --initialize-at-run-time=oracle.security.o5logon.O5Logon \
- --initialize-at-run-time=oracle.net.nt.TimeoutInterruptHandler \
- --initialize-at-run-time=oracle.jdbc.driver.LogicalConnection \
- --initialize-at-run-time=oracle.jdbc.driver.NoSupportHAManager \
- --initialize-at-run-time=oracle.net.nt.Clock \
- --initialize-at-run-time=oracle.net.nt.TcpMultiplexer \
- --initialize-at-run-time=oracle.net.nt.TcpMultiplexer \
- --initialize-at-run-time=oracle.net.nt.TcpMultiplexer$LazyHolder \
- --initialize-at-run-time=oracle.jdbc.driver.SQLUtil$XMLFactory \
- --initialize-at-run-time=oracle.jdbc.driver.NamedTypeAccessor$XMLFactory \
- --initialize-at-run-time=oracle.xml.util.UnicodeUtil
diff --git a/integrations/db/ojdbc/src/main/resources/META-INF/native-image/io.helidon.integrations.db/ojdbc/reflect-config.json b/integrations/db/ojdbc/src/main/resources/META-INF/native-image/io.helidon.integrations.db/ojdbc/reflect-config.json
index 4e460f36b8f..d628de76277 100644
--- a/integrations/db/ojdbc/src/main/resources/META-INF/native-image/io.helidon.integrations.db/ojdbc/reflect-config.json
+++ b/integrations/db/ojdbc/src/main/resources/META-INF/native-image/io.helidon.integrations.db/ojdbc/reflect-config.json
@@ -1,82 +1,4 @@
[
- {
- "name": "oracle.jdbc.internal.ACProxyable",
- "methods": [
- {
- "name": "setACProxy",
- "parameterTypes": [
- "java.lang.Object"
- ]
- },
- {
- "name": "getACProxy",
- "parameterTypes": []
- }
- ]
- },
- {
- "name": "oracle.jdbc.driver.T4CDriverExtension",
- "methods": [
- {
- "name": "",
- "parameterTypes": []
- }
- ]
- },
- {
- "name": "oracle.jdbc.driver.T2CDriverExtension",
- "methods": [
- {
- "name": "",
- "parameterTypes": []
- }
- ]
- },
- {
- "name": "oracle.net.ano.Ano",
- "methods": [
- {
- "name": "",
- "parameterTypes": []
- }
- ]
- },
- {
- "name": "oracle.net.ano.AuthenticationService",
- "methods": [
- {
- "name": "",
- "parameterTypes": []
- }
- ]
- },
- {
- "name": "oracle.net.ano.DataIntegrityService",
- "methods": [
- {
- "name": "",
- "parameterTypes": []
- }
- ]
- },
- {
- "name": "oracle.net.ano.EncryptionService",
- "methods": [
- {
- "name": "",
- "parameterTypes": []
- }
- ]
- },
- {
- "name": "oracle.net.ano.SupervisorService",
- "methods": [
- {
- "name": "",
- "parameterTypes": []
- }
- ]
- },
{
"name": "java.sql.Statement[]",
"allDeclaredConstructors": true,
diff --git a/integrations/db/ojdbc/src/main/resources/META-INF/native-image/io.helidon.integrations.db/ojdbc/resource-config.json b/integrations/db/ojdbc/src/main/resources/META-INF/native-image/io.helidon.integrations.db/ojdbc/resource-config.json
deleted file mode 100644
index 8ee1aead144..00000000000
--- a/integrations/db/ojdbc/src/main/resources/META-INF/native-image/io.helidon.integrations.db/ojdbc/resource-config.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "resources":[
- {"pattern":"META-INF/services/java.sql.Driver"},
- {"pattern":"oracle/sql/converter_xcharset/.*.glb$"},
- {"pattern":"oracle/jdbc/defaultConnectionProperties.properties"},
- {"pattern":"oracle/jdbc/driver/errorMap.xml"},
- {"pattern":"oracle/jdbc/defaultLoggingConfig.properties"}
- ],
- "bundles": [
- {"name":"oracle.net.jdbc.nl.mesg.NLSR"},
- {"name":"oracle.net.mesg.Message"}
- ]
-}
-
-
diff --git a/integrations/db/pgsql/pom.xml b/integrations/db/pgsql/pom.xml
index dfe664d7582..dbd3fdcb0d0 100644
--- a/integrations/db/pgsql/pom.xml
+++ b/integrations/db/pgsql/pom.xml
@@ -41,8 +41,8 @@
provided
- org.graalvm.nativeimage
- svm
+ org.graalvm.sdk
+ graal-sdk
provided
diff --git a/integrations/graal/mp-native-image-extension/pom.xml b/integrations/graal/mp-native-image-extension/pom.xml
index bfbbfdaceae..27e56152e56 100644
--- a/integrations/graal/mp-native-image-extension/pom.xml
+++ b/integrations/graal/mp-native-image-extension/pom.xml
@@ -56,11 +56,6 @@
graal-sdk
provided
-
- org.graalvm.nativeimage
- svm
- provided
-
diff --git a/integrations/graal/mp-native-image-extension/src/main/java/io/helidon/integrations/graal/mp/nativeimage/extension/WeldFeature.java b/integrations/graal/mp-native-image-extension/src/main/java/io/helidon/integrations/graal/mp/nativeimage/extension/WeldFeature.java
index b0455fcd8d2..0a183a46d24 100644
--- a/integrations/graal/mp-native-image-extension/src/main/java/io/helidon/integrations/graal/mp/nativeimage/extension/WeldFeature.java
+++ b/integrations/graal/mp-native-image-extension/src/main/java/io/helidon/integrations/graal/mp/nativeimage/extension/WeldFeature.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2019, 2021 Oracle and/or its affiliates.
+ * Copyright (c) 2019, 2022 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -33,7 +33,6 @@
import io.helidon.integrations.graal.nativeimage.extension.NativeConfig;
-import com.oracle.svm.core.annotate.AutomaticFeature;
import jakarta.enterprise.inject.spi.Bean;
import jakarta.json.Json;
import jakarta.json.JsonArray;
@@ -51,7 +50,6 @@
* An automatic feature for native-image to
* register Weld specific stuff.
*/
-@AutomaticFeature
public class WeldFeature implements Feature {
private static final boolean ENABLED = NativeConfig.option("weld.enable-feature", true);
private static final boolean TRACE = NativeConfig.option("weld.trace", false);
diff --git a/integrations/graal/mp-native-image-extension/src/main/java/module-info.java b/integrations/graal/mp-native-image-extension/src/main/java/module-info.java
index 6b7f46287fc..3a237e3134d 100644
--- a/integrations/graal/mp-native-image-extension/src/main/java/module-info.java
+++ b/integrations/graal/mp-native-image-extension/src/main/java/module-info.java
@@ -18,7 +18,6 @@
*/
module io.helidon.graal.nativeimage.mp {
requires jakarta.cdi;
- requires svm;
requires io.helidon.graal.nativeimage;
requires jakarta.json;
requires org.graalvm.sdk;
diff --git a/integrations/graal/native-image-extension/pom.xml b/integrations/graal/native-image-extension/pom.xml
index 5f9b87ccf2c..c135c8a5c68 100644
--- a/integrations/graal/native-image-extension/pom.xml
+++ b/integrations/graal/native-image-extension/pom.xml
@@ -58,11 +58,6 @@
graal-sdk
provided
-
- org.graalvm.nativeimage
- svm
- provided
-
diff --git a/integrations/graal/native-image-extension/src/main/java/io/helidon/integrations/graal/nativeimage/extension/HelidonReflectionFeature.java b/integrations/graal/native-image-extension/src/main/java/io/helidon/integrations/graal/nativeimage/extension/HelidonReflectionFeature.java
index 24da8151a7a..6ed2d1d6403 100644
--- a/integrations/graal/native-image-extension/src/main/java/io/helidon/integrations/graal/nativeimage/extension/HelidonReflectionFeature.java
+++ b/integrations/graal/native-image-extension/src/main/java/io/helidon/integrations/graal/nativeimage/extension/HelidonReflectionFeature.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2019, 2021 Oracle and/or its affiliates.
+ * Copyright (c) 2019, 2022 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -15,6 +15,7 @@
*/
package io.helidon.integrations.graal.nativeimage.extension;
+import java.io.IOException;
import java.io.InputStream;
import java.lang.annotation.Annotation;
import java.lang.reflect.Constructor;
@@ -37,13 +38,12 @@
import io.helidon.common.Reflected;
import io.helidon.config.mp.MpConfigProviderResolver;
-import com.oracle.svm.core.jdk.Resources;
-import com.oracle.svm.core.jdk.proxy.DynamicProxyRegistry;
import io.github.classgraph.ClassGraph;
import io.github.classgraph.ScanResult;
-import org.graalvm.nativeimage.ImageSingletons;
import org.graalvm.nativeimage.hosted.Feature;
+import org.graalvm.nativeimage.hosted.RuntimeProxyCreation;
import org.graalvm.nativeimage.hosted.RuntimeReflection;
+import org.graalvm.nativeimage.hosted.RuntimeResourceAccess;
/**
* Feature to add reflection configuration to the image for Helidon, CDI and Jersey.
@@ -280,7 +280,11 @@ private void processEntity(BeforeAnalysisContext context) {
tracer.parsing(() -> "Processing annotated class " + aClass.getName());
String resourceName = aClass.getName().replace('.', '/') + ".class";
InputStream resourceStream = aClass.getClassLoader().getResourceAsStream(resourceName);
- Resources.registerResource(resourceName, resourceStream);
+ try {
+ RuntimeResourceAccess.addResource(aClass.getModule(), resourceName, resourceStream.readAllBytes());
+ } catch (IOException e) {
+ throw new RuntimeException("Failed to read entity class file", e);
+ }
for (Field declaredField : aClass.getDeclaredFields()) {
if (!Modifier.isPublic(declaredField.getModifiers()) && declaredField.getAnnotations().length == 0) {
RuntimeReflection.register(declaredField);
@@ -303,7 +307,6 @@ private void processRegisterRestClient(BeforeAnalysisContext context) {
tracer.parsing(() -> "Looking up annotated by " + AT_REGISTER_REST_CLIENT);
Set> annotatedSet = util.findAnnotated(AT_REGISTER_REST_CLIENT);
- DynamicProxyRegistry proxyRegistry = ImageSingletons.lookup(DynamicProxyRegistry.class);
Class> autoCloseable = context.access().findClassByName("java.lang.AutoCloseable");
Class> closeable = context.access().findClassByName("java.io.Closeable");
@@ -315,7 +318,7 @@ private void processRegisterRestClient(BeforeAnalysisContext context) {
processClassHierarchy(context, it);
// and we also need to create a proxy
tracer.parsing(() -> "Registering a proxy for class " + it.getName());
- proxyRegistry.addProxyClass(it, autoCloseable, closeable);
+ RuntimeProxyCreation.register(it, autoCloseable, closeable);
}
});
}
diff --git a/integrations/graal/native-image-extension/src/main/java/module-info.java b/integrations/graal/native-image-extension/src/main/java/module-info.java
index 7afa0597e82..bc7b9d30b6c 100644
--- a/integrations/graal/native-image-extension/src/main/java/module-info.java
+++ b/integrations/graal/native-image-extension/src/main/java/module-info.java
@@ -20,7 +20,6 @@
requires io.helidon.config;
requires io.github.classgraph;
requires io.helidon.config.mp;
- requires svm;
requires org.graalvm.sdk;
requires jakarta.json;
diff --git a/integrations/graal/native-image-extension/src/main/resources/META-INF/native-image/io.helidon/helidon/native-image.properties b/integrations/graal/native-image-extension/src/main/resources/META-INF/native-image/io.helidon.integrations.graal/helidon-graal-native-image-extension/native-image.properties
similarity index 95%
rename from integrations/graal/native-image-extension/src/main/resources/META-INF/native-image/io.helidon/helidon/native-image.properties
rename to integrations/graal/native-image-extension/src/main/resources/META-INF/native-image/io.helidon.integrations.graal/helidon-graal-native-image-extension/native-image.properties
index fec0100d107..fc13fba03fd 100644
--- a/integrations/graal/native-image-extension/src/main/resources/META-INF/native-image/io.helidon/helidon/native-image.properties
+++ b/integrations/graal/native-image-extension/src/main/resources/META-INF/native-image/io.helidon.integrations.graal/helidon-graal-native-image-extension/native-image.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2019, 2021 Oracle and/or its affiliates.
+# Copyright (c) 2019, 2022 Oracle and/or its affiliates.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
diff --git a/integrations/graal/native-image-extension/src/main/resources/META-INF/native-image/io.helidon/helidon/reflect-config.json b/integrations/graal/native-image-extension/src/main/resources/META-INF/native-image/io.helidon.integrations.graal/helidon-graal-native-image-extension/reflect-config.json
similarity index 100%
rename from integrations/graal/native-image-extension/src/main/resources/META-INF/native-image/io.helidon/helidon/reflect-config.json
rename to integrations/graal/native-image-extension/src/main/resources/META-INF/native-image/io.helidon.integrations.graal/helidon-graal-native-image-extension/reflect-config.json
diff --git a/integrations/graal/native-image-extension/src/main/resources/META-INF/native-image/io.helidon/helidon/resource-config.json b/integrations/graal/native-image-extension/src/main/resources/META-INF/native-image/io.helidon.integrations.graal/helidon-graal-native-image-extension/resource-config.json
similarity index 100%
rename from integrations/graal/native-image-extension/src/main/resources/META-INF/native-image/io.helidon/helidon/resource-config.json
rename to integrations/graal/native-image-extension/src/main/resources/META-INF/native-image/io.helidon.integrations.graal/helidon-graal-native-image-extension/resource-config.json
diff --git a/jersey/jsonp/src/main/resources/META-INF/native-image/io.helidon.jersey.media.jsonp/helidon-jersey-media-jsonp/native-image.properties b/jersey/jsonp/src/main/resources/META-INF/native-image/io.helidon.jersey/helidon-jersey-media-jsonp/native-image.properties
similarity index 100%
rename from jersey/jsonp/src/main/resources/META-INF/native-image/io.helidon.jersey.media.jsonp/helidon-jersey-media-jsonp/native-image.properties
rename to jersey/jsonp/src/main/resources/META-INF/native-image/io.helidon.jersey/helidon-jersey-media-jsonp/native-image.properties
diff --git a/jersey/jsonp/src/main/resources/META-INF/native-image/io.helidon.jersey.media.jsonp/helidon-jersey-media-jsonp/reflect-config.json b/jersey/jsonp/src/main/resources/META-INF/native-image/io.helidon.jersey/helidon-jersey-media-jsonp/reflect-config.json
similarity index 100%
rename from jersey/jsonp/src/main/resources/META-INF/native-image/io.helidon.jersey.media.jsonp/helidon-jersey-media-jsonp/reflect-config.json
rename to jersey/jsonp/src/main/resources/META-INF/native-image/io.helidon.jersey/helidon-jersey-media-jsonp/reflect-config.json
diff --git a/logging/log4j/src/main/resources/META-INF/native-image/io.helidon.logging/helidon-logging-log4j/native-image.properties b/logging/log4j/src/main/resources/META-INF/native-image/io.helidon.logging/helidon-logging-log4j/native-image.properties
index 87dd3480919..f06ec459f7b 100644
--- a/logging/log4j/src/main/resources/META-INF/native-image/io.helidon.logging/helidon-logging-log4j/native-image.properties
+++ b/logging/log4j/src/main/resources/META-INF/native-image/io.helidon.logging/helidon-logging-log4j/native-image.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2020 Oracle and/or its affiliates.
+# Copyright (c) 2020, 2022 Oracle and/or its affiliates.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -16,7 +16,6 @@
Args=-Dlog4j2.disable.jmx=true \
-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager \
- --allow-incomplete-classpath \
--report-unsupported-elements-at-runtime \
--initialize-at-build-time=org.apache.logging.log4j.core.config.builder.impl.BuiltConfiguration \
--initialize-at-build-time=org.apache.logging.log4j.core.config.status.StatusConfiguration \
diff --git a/media/jsonp/src/main/resources/META-INF/native-image/io.helidon.media/helidon-media-jsonp-common/native-image.properties b/media/jsonp/src/main/resources/META-INF/native-image/io.helidon.media/helidon-media-jsonp/native-image.properties
similarity index 100%
rename from media/jsonp/src/main/resources/META-INF/native-image/io.helidon.media/helidon-media-jsonp-common/native-image.properties
rename to media/jsonp/src/main/resources/META-INF/native-image/io.helidon.media/helidon-media-jsonp/native-image.properties
diff --git a/media/jsonp/src/main/resources/META-INF/native-image/io.helidon.media/helidon-media-jsonp-common/reflect-config.json b/media/jsonp/src/main/resources/META-INF/native-image/io.helidon.media/helidon-media-jsonp/reflect-config.json
similarity index 100%
rename from media/jsonp/src/main/resources/META-INF/native-image/io.helidon.media/helidon-media-jsonp-common/reflect-config.json
rename to media/jsonp/src/main/resources/META-INF/native-image/io.helidon.media/helidon-media-jsonp/reflect-config.json
diff --git a/messaging/connectors/kafka/pom.xml b/messaging/connectors/kafka/pom.xml
index f59eaa05c1f..fd3adad6f37 100644
--- a/messaging/connectors/kafka/pom.xml
+++ b/messaging/connectors/kafka/pom.xml
@@ -65,8 +65,8 @@
true
- org.graalvm.nativeimage
- svm
+ org.graalvm.sdk
+ graal-sdk
provided
diff --git a/messaging/connectors/kafka/src/main/java/module-info.java b/messaging/connectors/kafka/src/main/java/module-info.java
index 7640dc5f74f..b0494c5edbf 100644
--- a/messaging/connectors/kafka/src/main/java/module-info.java
+++ b/messaging/connectors/kafka/src/main/java/module-info.java
@@ -33,7 +33,7 @@
requires io.helidon.common.configurable;
requires io.helidon.messaging;
requires microprofile.config.api;
- requires static svm;
+ requires static org.graalvm.sdk;
requires java.security.sasl;
requires transitive org.slf4j;
// To allow KerberosLoginSubstitution
diff --git a/config/encryption/src/main/resources/META-INF/native-image/native-image.properties b/metrics/api/src/main/resources/META-INF/native-image/io.helidon.metrics/helidon-metrics-api/native-image.properties
similarity index 82%
rename from config/encryption/src/main/resources/META-INF/native-image/native-image.properties
rename to metrics/api/src/main/resources/META-INF/native-image/io.helidon.metrics/helidon-metrics-api/native-image.properties
index 84549270225..5332ad6e545 100644
--- a/config/encryption/src/main/resources/META-INF/native-image/native-image.properties
+++ b/metrics/api/src/main/resources/META-INF/native-image/io.helidon.metrics/helidon-metrics-api/native-image.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2019, 2021 Oracle and/or its affiliates.
+# Copyright (c) 2022 Oracle and/or its affiliates.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -13,4 +13,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
-Args=--enable-all-security-services
+
+Args=--initialize-at-build-time=org.eclipse.microprofile.metrics
+
diff --git a/metrics/metrics/src/main/resources/META-INF/native-image/io.helidon.metrics/native-image.properties b/metrics/metrics/src/main/resources/META-INF/native-image/io.helidon.metrics/helidon-metrics/native-image.properties
similarity index 91%
rename from metrics/metrics/src/main/resources/META-INF/native-image/io.helidon.metrics/native-image.properties
rename to metrics/metrics/src/main/resources/META-INF/native-image/io.helidon.metrics/helidon-metrics/native-image.properties
index 1c4245a3d37..4a39f5603d9 100644
--- a/metrics/metrics/src/main/resources/META-INF/native-image/io.helidon.metrics/native-image.properties
+++ b/metrics/metrics/src/main/resources/META-INF/native-image/io.helidon.metrics/helidon-metrics/native-image.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2021 Oracle and/or its affiliates.
+# Copyright (c) 2021, 2022 Oracle and/or its affiliates.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
diff --git a/microprofile/cdi/src/main/resources/META-INF/native-image/io.helidon.microprofile.cdi/helidon-microprofile-cdi/native-image.properties b/microprofile/cdi/src/main/resources/META-INF/native-image/io.helidon.microprofile.cdi/helidon-microprofile-cdi/native-image.properties
index 1648ad8a7b9..37f73e723ec 100644
--- a/microprofile/cdi/src/main/resources/META-INF/native-image/io.helidon.microprofile.cdi/helidon-microprofile-cdi/native-image.properties
+++ b/microprofile/cdi/src/main/resources/META-INF/native-image/io.helidon.microprofile.cdi/helidon-microprofile-cdi/native-image.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2019, 2021 Oracle and/or its affiliates.
+# Copyright (c) 2019, 2022 Oracle and/or its affiliates.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -14,10 +14,11 @@
# limitations under the License.
#
-# We need "report-unsupported-elements-at-runtime" - there is no fine grained control of this switch
-Args=--initialize-at-build-time \
- --initialize-at-build-time=io.helidon.microprofile.cdi.BuildTimeInitializer \
+Args=--initialize-at-build-time=io.helidon.microprofile \
+ --initialize-at-build-time=org.eclipse.microprofile \
+ --initialize-at-build-time=jakarta \
+ --initialize-at-build-time=org.jboss \
+ --initialize-at-build-time=org.glassfish \
--initialize-at-run-time=org.jboss.weld.probe.Resource \
- --initialize-at-run-time=org.jboss.weld.probe.Resource$14 \
- --report-unsupported-elements-at-runtime
+ --initialize-at-run-time=org.jboss.weld.probe.Resource$14
diff --git a/openapi/src/main/resources/META-INF/native-image/io.helidon.openapi/helidon-openapi/native-image.properties b/openapi/src/main/resources/META-INF/native-image/io.helidon.openapi/helidon-openapi/native-image.properties
index ce86039510f..d4458ccb1ee 100644
--- a/openapi/src/main/resources/META-INF/native-image/io.helidon.openapi/helidon-openapi/native-image.properties
+++ b/openapi/src/main/resources/META-INF/native-image/io.helidon.openapi/helidon-openapi/native-image.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2020 Oracle and/or its affiliates.
+# Copyright (c) 2020, 2022 Oracle and/or its affiliates.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -14,4 +14,5 @@
# limitations under the License.
#
-Args=--initialize-at-run-time=io.smallrye.openapi.runtime.io.OpenApiSerializer
+Args=--initialize-at-run-time=io.smallrye.openapi.runtime.io.OpenApiSerializer \
+ --initialize-at-build-time=io.smallrye.openapi
diff --git a/security/providers/oidc-common/src/main/resources/META-INF/native-image/native-image.properties b/security/providers/oidc-common/src/main/resources/META-INF/native-image/io.helidon.security.providers/helidon-security-providers-oidc-common/native-image.properties
similarity index 87%
rename from security/providers/oidc-common/src/main/resources/META-INF/native-image/native-image.properties
rename to security/providers/oidc-common/src/main/resources/META-INF/native-image/io.helidon.security.providers/helidon-security-providers-oidc-common/native-image.properties
index a840c5f2a37..14dc9dc2da9 100644
--- a/security/providers/oidc-common/src/main/resources/META-INF/native-image/native-image.properties
+++ b/security/providers/oidc-common/src/main/resources/META-INF/native-image/io.helidon.security.providers/helidon-security-providers-oidc-common/native-image.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2019, 2021 Oracle and/or its affiliates.
+# Copyright (c) 2019, 2022 Oracle and/or its affiliates.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -16,5 +16,4 @@
Args=-H:EnableURLProtocols=http \
-H:EnableURLProtocols=https \
- --enable-all-security-services \
--initialize-at-build-time=io.helidon.security.providers.oidc.common
diff --git a/security/security/src/main/resources/META-INF/native-image/io.helidon.security/helidon-security/native-image.properties b/security/security/src/main/resources/META-INF/native-image/io.helidon.security/helidon-security/native-image.properties
index abc13ca74a8..9f1f44505e7 100644
--- a/security/security/src/main/resources/META-INF/native-image/io.helidon.security/helidon-security/native-image.properties
+++ b/security/security/src/main/resources/META-INF/native-image/io.helidon.security/helidon-security/native-image.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2019, 2021 Oracle and/or its affiliates.
+# Copyright (c) 2019, 2022 Oracle and/or its affiliates.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -14,12 +14,5 @@
# limitations under the License.
#
-#
-# Graal native image supports additional configuration from this property file.
# Security Subject requires this to work
-# The `all-security-services` is to support encryption algorithms,
-# intermediate solution until we can figure out
-# how to do a fine-grained algorithm support
-#
-Args=-H:IncludeResourceBundles=sun.security.util.Resources \
- --enable-all-security-services
+Args=-H:IncludeResourceBundles=sun.security.util.Resources
diff --git a/tests/integration/native-image/mp-1/README.md b/tests/integration/native-image/mp-1/README.md
index 8dcf795171f..932a81d8b9e 100644
--- a/tests/integration/native-image/mp-1/README.md
+++ b/tests/integration/native-image/mp-1/README.md
@@ -35,7 +35,6 @@ ${GRAALVM_HOME}/bin/native-image -Dhelidon.native.reflection.trace-parsing=true
-H:Name=helidon-tests-native-image-mp-1 \
"-H:IncludeResources=logging.properties|meta-config.yaml|web/resource.txt|web/welcome.txt|verify-jwk.json|META-INF/native-image/tests/mp-1/resource-config.json|META-INF/beans.xml|META-INF/microprofile-config.properties|sign-jwk.json" \
-H:+ReportExceptionStackTraces \
- --no-server \
-jar ./target/helidon-tests-native-image-mp-1.jar
```
diff --git a/tests/integration/native-image/mp-1/pom.xml b/tests/integration/native-image/mp-1/pom.xml
index c2df74ec676..b5abfd9817a 100644
--- a/tests/integration/native-image/mp-1/pom.xml
+++ b/tests/integration/native-image/mp-1/pom.xml
@@ -93,6 +93,13 @@
+
+ org.graalvm.buildtools
+ native-maven-plugin
+
+ true
+
+
diff --git a/tests/integration/native-image/mp-2/README.md b/tests/integration/native-image/mp-2/README.md
index 75f0bdf7fc0..787287661e4 100644
--- a/tests/integration/native-image/mp-2/README.md
+++ b/tests/integration/native-image/mp-2/README.md
@@ -11,7 +11,7 @@ mvn clean package -Pnative-image
./target/helidon-tests-native-image-mp-2
```
-Requires at least GraalVM 21.3.0
+Requires at least GraalVM 22.3.0
This test validates that JPA integration (using Hibernate) and JTA
integration work in native image.
diff --git a/tests/integration/native-image/mp-2/pom.xml b/tests/integration/native-image/mp-2/pom.xml
index d7cb3527e86..dbba9c97cbc 100644
--- a/tests/integration/native-image/mp-2/pom.xml
+++ b/tests/integration/native-image/mp-2/pom.xml
@@ -125,6 +125,13 @@
+
+ org.graalvm.buildtools
+ native-maven-plugin
+
+ true
+
+
org.jboss.jandex
jandex-maven-plugin
@@ -174,29 +181,4 @@
-
-
- native-image
-
-
-
- io.helidon.build-tools
- helidon-maven-plugin
-
- ${mainClass}
- main
-
-
-
- native-image
-
- native-image
-
-
-
-
-
-
-
-
diff --git a/tests/integration/native-image/mp-3/pom.xml b/tests/integration/native-image/mp-3/pom.xml
index 389585d6ed4..22d99fd355c 100644
--- a/tests/integration/native-image/mp-3/pom.xml
+++ b/tests/integration/native-image/mp-3/pom.xml
@@ -53,6 +53,13 @@
+
+ org.graalvm.buildtools
+ native-maven-plugin
+
+ true
+
+
org.apache.maven.plugins
maven-dependency-plugin
diff --git a/tests/integration/native-image/mp-3/src/main/resources/META-INF/microprofile-config.properties b/tests/integration/native-image/mp-3/src/main/resources/META-INF/microprofile-config.properties
index 1ef4e8f1dd7..2e4a439fa21 100644
--- a/tests/integration/native-image/mp-3/src/main/resources/META-INF/microprofile-config.properties
+++ b/tests/integration/native-image/mp-3/src/main/resources/META-INF/microprofile-config.properties
@@ -20,7 +20,6 @@ mp.config.profile=test
app.greeting=Wrong Hello
# Microprofile server properties
-#server.port=7001
server.port=7001
server.host=0.0.0.0
%test.server.port=0
diff --git a/tests/integration/native-image/se-1/pom.xml b/tests/integration/native-image/se-1/pom.xml
index b2bd3268876..05d4beab071 100644
--- a/tests/integration/native-image/se-1/pom.xml
+++ b/tests/integration/native-image/se-1/pom.xml
@@ -132,6 +132,13 @@
+
+ org.graalvm.buildtools
+ native-maven-plugin
+
+ true
+
+
org.apache.maven.plugins
maven-dependency-plugin
diff --git a/tracing/jaeger/src/main/resources/META-INF/native-image/io.helidon.tracing/helidon-tracing-jaeger/native-image.properties b/tracing/jaeger/src/main/resources/META-INF/native-image/io.helidon.tracing/helidon-tracing-jaeger/native-image.properties
index 56fb195a344..b0bdcb8a31d 100644
--- a/tracing/jaeger/src/main/resources/META-INF/native-image/io.helidon.tracing/helidon-tracing-jaeger/native-image.properties
+++ b/tracing/jaeger/src/main/resources/META-INF/native-image/io.helidon.tracing/helidon-tracing-jaeger/native-image.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2019, 2021 Oracle and/or its affiliates.
+# Copyright (c) 2019, 2022 Oracle and/or its affiliates.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -16,6 +16,5 @@
Args=--initialize-at-build-time=org.slf4j,io.helidon.tracing.jaeger \
-H:+AddAllCharsets \
- --enable-all-security-services \
-H:EnableURLProtocols=http \
-H:EnableURLProtocols=https
diff --git a/tracing/jaeger/src/main/resources/META-INF/native-image/io.helidon.tracing/helidon-tracing-jaeger/reflect-config.json b/tracing/jaeger/src/main/resources/META-INF/native-image/io.helidon.tracing/helidon-tracing-jaeger/reflect-config.json
index a06752f7420..c37848ea954 100644
--- a/tracing/jaeger/src/main/resources/META-INF/native-image/io.helidon.tracing/helidon-tracing-jaeger/reflect-config.json
+++ b/tracing/jaeger/src/main/resources/META-INF/native-image/io.helidon.tracing/helidon-tracing-jaeger/reflect-config.json
@@ -1,106 +1,4 @@
[
- {
- "name": "io.jaegertracing.internal.samplers.http.SamplingStrategyResponse",
- "allPublicConstructors": true,
- "allDeclaredConstructors": true,
- "allDeclaredMethods": true,
- "allPublicMethods": true,
- "allPublicFields": true,
- "allDeclaredFields": true,
- "fields": [
- {
- "name": "probabilisticSampling",
- "allowWrite": true
- },
- {
- "name": "rateLimitingSampling",
- "allowWrite": true
- },
- {
- "name": "operationSampling",
- "allowWrite": true
- }
- ]
- },
- {
- "name": "io.jaegertracing.internal.metrics.Metrics",
- "allPublicConstructors": true,
- "allPublicMethods": true,
- "allPublicFields": true,
- "allDeclaredFields": true
- },
- {
- "name": "io.jaegertracing.internal.samplers.http.ProbabilisticSamplingStrategy",
- "allPublicConstructors": true,
- "allDeclaredConstructors": true,
- "allDeclaredMethods": true,
- "allPublicMethods": true,
- "allPublicFields": true,
- "allDeclaredFields": true,
- "fields": [
- {
- "name": "samplingRate",
- "allowWrite": true
- }
- ]
- },
- {
- "name": "io.jaegertracing.internal.samplers.http.RateLimitingSamplingStrategy",
- "allPublicConstructors": true,
- "allDeclaredConstructors": true,
- "allDeclaredMethods": true,
- "allPublicMethods": true,
- "allPublicFields": true,
- "allDeclaredFields": true,
- "fields": [
- {
- "name": "maxTracesPerSecond",
- "allowWrite": true
- }
- ]
- },
- {
- "name": "io.jaegertracing.internal.samplers.http.PerOperationSamplingParameters",
- "allPublicConstructors": true,
- "allDeclaredConstructors": true,
- "allDeclaredMethods": true,
- "allPublicMethods": true,
- "allPublicFields": true,
- "allDeclaredFields": true,
- "fields": [
- {
- "name": "operation",
- "allowWrite": true
- },
- {
- "name": "probabilisticSampling",
- "allowWrite": true
- }
- ]
- },
- {
- "name": "io.jaegertracing.internal.samplers.http.OperationSamplingParameters",
- "allPublicConstructors": true,
- "allDeclaredConstructors": true,
- "allDeclaredMethods": true,
- "allPublicMethods": true,
- "allPublicFields": true,
- "allDeclaredFields": true,
- "fields": [
- {
- "name": "defaultSamplingProbability",
- "allowWrite": true
- },
- {
- "name": "defaultLowerBoundTracesPerSecond",
- "allowWrite": true
- },
- {
- "name": "perOperationStrategies",
- "allowWrite": true
- }
- ]
- },
{
"name": "java.time.Instant",
"methods": [
diff --git a/webclient/jaxrs/src/main/resources/META-INF/native-image/native-image.properties b/webclient/jaxrs/src/main/resources/META-INF/native-image/io.helidon.webclient/helidon-webclient-jaxrs/native-image.properties
similarity index 76%
rename from webclient/jaxrs/src/main/resources/META-INF/native-image/native-image.properties
rename to webclient/jaxrs/src/main/resources/META-INF/native-image/io.helidon.webclient/helidon-webclient-jaxrs/native-image.properties
index 36175ccda69..a7047e79681 100644
--- a/webclient/jaxrs/src/main/resources/META-INF/native-image/native-image.properties
+++ b/webclient/jaxrs/src/main/resources/META-INF/native-image/io.helidon.webclient/helidon-webclient-jaxrs/native-image.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2019, 2021 Oracle and/or its affiliates.
+# Copyright (c) 2019, 2022 Oracle and/or its affiliates.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -14,6 +14,5 @@
# limitations under the License.
#
-Args=-H:ReflectionConfigurationResources=${.}/helidon-webclient-jaxrs-reflection-config.json \
- -H:EnableURLProtocols=http \
+Args=-H:EnableURLProtocols=http \
--initialize-at-build-time=io.helidon.webclient.jaxrs
diff --git a/webclient/jaxrs/src/main/resources/META-INF/native-image/helidon-webclient-jaxrs-reflection-config.json b/webclient/jaxrs/src/main/resources/META-INF/native-image/io.helidon.webclient/helidon-webclient-jaxrs/reflect-config.json
similarity index 100%
rename from webclient/jaxrs/src/main/resources/META-INF/native-image/helidon-webclient-jaxrs-reflection-config.json
rename to webclient/jaxrs/src/main/resources/META-INF/native-image/io.helidon.webclient/helidon-webclient-jaxrs/reflect-config.json
diff --git a/webserver/jersey/src/main/resources/META-INF/native-image/io.helidon.webserver/helidon-webserver-jersey/native-image.properties b/webserver/jersey/src/main/resources/META-INF/native-image/io.helidon.webserver/helidon-webserver-jersey/native-image.properties
index f29ca7445ec..908d056c147 100644
--- a/webserver/jersey/src/main/resources/META-INF/native-image/io.helidon.webserver/helidon-webserver-jersey/native-image.properties
+++ b/webserver/jersey/src/main/resources/META-INF/native-image/io.helidon.webserver/helidon-webserver-jersey/native-image.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2019, 2021 Oracle and/or its affiliates.
+# Copyright (c) 2019, 2022 Oracle and/or its affiliates.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -15,4 +15,5 @@
#
Args=-H:EnableURLProtocols=http,https \
- --initialize-at-run-time=org.glassfish.jersey.client.internal.HttpUrlConnector
+ --initialize-at-run-time=org.glassfish.jersey.client.internal.HttpUrlConnector \
+ --initialize-at-build-time=org.eclipse.yasson
diff --git a/webserver/webserver/src/main/resources/META-INF/native-image/io.helidon.webserver/helidon-webserver/native-image.properties b/webserver/webserver/src/main/resources/META-INF/native-image/io.helidon.webserver/helidon-webserver/native-image.properties
index 607fa543c0c..c7388254082 100644
--- a/webserver/webserver/src/main/resources/META-INF/native-image/io.helidon.webserver/helidon-webserver/native-image.properties
+++ b/webserver/webserver/src/main/resources/META-INF/native-image/io.helidon.webserver/helidon-webserver/native-image.properties
@@ -20,8 +20,7 @@
#
# allow incomplete classpath - Netty contains classes that depend on Log4j etc, so we need to allow that
#
-Args=--allow-incomplete-classpath \
- --initialize-at-run-time=io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeNoCleanerDirectByteBuf \
+Args=--initialize-at-run-time=io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeNoCleanerDirectByteBuf \
--initialize-at-run-time=io.netty.buffer.UnreleasableByteBuf \
--initialize-at-run-time=io.netty.handler.codec.compression.BrotliDecoder$1 \
--initialize-at-run-time=io.netty.handler.codec.compression.BrotliOptions \