in arthur-impl/src/main/java/org/apache/geronimo/arthur/impl/nativeimage/ArthurNativeImageConfiguration.java [105:127]
public void complete(final String graalVersion, final boolean hasEmbeddedResources) {
if (graalVersion != null && (graalVersion.startsWith("21.") || graalVersion.startsWith("20."))) {
if (allowIncompleteClasspath == null) {
allowIncompleteClasspath = !graalVersion.contains("-graal"); // 21*graal* needs it false, previous 21 needs it true :facepalm:
}
if (enableAllSecurityServices == null) {
enableAllSecurityServices = !graalVersion.contains("-graal"); // 21*graal* needs it false, previous 21 needs it true :facepalm:
}
} else {
// /!\ we disable this flag since recent graalvm versions don't need it anymore
allowIncompleteClasspath = false;
enableAllSecurityServices = false;
}
if (!Boolean.getBoolean("arthur.unlockexperimentalvmoptions.skip") &&
(customOptions == null ||
(!customOptions.contains("-H:+UnlockExperimentalVMOptions") && !customOptions.contains("-H:-UnlockExperimentalVMOptions"))) &&
hasEmbeddedResources) {
if (customOptions == null) {
customOptions = new ArrayList<>();
}
customOptions.add("-H:+UnlockExperimentalVMOptions");
}
}