Open TharmiganK opened 1 month ago
@warunalakshitha FYI
Experimental options used in Ballerina Lang:
Option | Requirement | Comment/ Resolution | Status |
---|---|---|---|
H:Name |
The name of the executable | Can be replaced by -o <enitre-file-path-with-name> |
PENDING |
H:Path |
The path for the executable generation | Can be replaced by -o <enitre-file-path-with-name> |
PENDING |
H:IncludeResources |
Include all the resource files in the resources directory of a ballerina project |
A resource-config.json can be added for the same requirement. Here the issue is we need to add this for ballerina project only, not for a single file |
FIXED |
H:ReflectionConfigurationFiles |
Include the reflection configurations required to run mock tests | A reflect-config.json can be added for the same requirement. Here the issue is that the reflection config is not static, it can change based on the ballerina code |
PENDING |
Experimental options used in Standard Libraries: | Library | Option | Requirement | Comment/Resoultion | Status |
---|---|---|---|---|---|
crypto |
H:ClassInitialization |
Initialize BC related classes with rerun strategy | Use initialize-at-run-time instead |
FIXED | |
data.csv |
H:+IncludeAllLocales |
Include all the locales in the generated native image. This is not packed with the package. But used in tests | |||
kafka |
H:AdditionalSecurityProviders |
Add additional security provider |
Description:
With Java 21, GraalVM native image tool has marked some of the options/properties as experimental in order to remove them in the upcoming releases[1].
Currently there are added as warnings during the native-image build. Example:
[1]
Experimental Build Options in Native Image
inGraalVM for JDK 21 is here!
articleDescribe your task(s)
Most of them are used in the external Java dependencies(such as netty, bouncy castle etc.). If these options are added by either lang or standard libraries then we need to replace them with the appropriate option. If there is no replacement option, we need to inform the GraalVM community and ask for a resolution.