mirror of
https://github.com/jlengrand/quarkus.git
synced 2026-03-10 08:41:22 +00:00
Drop GraalVM 19.2.1 support and deprecate enableJni option
This commit is contained in:
@@ -74,7 +74,7 @@
|
||||
<maven-plugin-annotations.version>3.5.2</maven-plugin-annotations.version>
|
||||
<plexus-component-annotations.version>1.7.1</plexus-component-annotations.version>
|
||||
<!-- What we actually depend on for the annotations, as latest Graal is not available in Maven fast enough: -->
|
||||
<graal-sdk.version>19.2.1</graal-sdk.version>
|
||||
<graal-sdk.version>19.3.1</graal-sdk.version>
|
||||
<gizmo.version>1.0.1.Final</gizmo.version>
|
||||
<jackson.version>2.10.2</jackson.version>
|
||||
<commons-logging-jboss-logging.version>1.0.0.Final</commons-logging-jboss-logging.version>
|
||||
@@ -848,7 +848,7 @@
|
||||
<version>${jboss-logmanager.version}</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
@@ -1670,7 +1670,7 @@
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
<version>${graal-sdk.version}</version>
|
||||
<scope>provided</scope>
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
<!-- These properties are needed in order for them to be resolvable by the documentation -->
|
||||
<!-- The Graal version we suggest using in documentation - as that's
|
||||
what we work with by self downloading it: -->
|
||||
<graal-sdk.version-for-documentation>19.2.1</graal-sdk.version-for-documentation>
|
||||
<graal-sdk.version-for-documentation>19.3.1</graal-sdk.version-for-documentation>
|
||||
<rest-assured.version>4.1.1</rest-assured.version>
|
||||
<axle-client.version>0.0.9</axle-client.version>
|
||||
<vertx.version>3.8.4</vertx.version>
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
package io.quarkus.deployment;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
import org.jboss.logging.Logger;
|
||||
|
||||
import io.quarkus.deployment.annotations.BuildProducer;
|
||||
import io.quarkus.deployment.annotations.BuildStep;
|
||||
import io.quarkus.deployment.builditem.JniBuildItem;
|
||||
@@ -13,6 +14,8 @@ import io.quarkus.runtime.annotations.ConfigRoot;
|
||||
|
||||
public class JniProcessor {
|
||||
|
||||
private static final Logger LOGGER = Logger.getLogger(JniProcessor.class);
|
||||
|
||||
JniConfig jni;
|
||||
|
||||
@ConfigRoot(phase = ConfigPhase.BUILD_TIME)
|
||||
@@ -24,16 +27,22 @@ public class JniProcessor {
|
||||
Optional<List<String>> libraryPaths;
|
||||
|
||||
/**
|
||||
* Enable JNI support.
|
||||
* @deprecated JNI is always enabled starting from GraalVM 19.3.1.
|
||||
*/
|
||||
@ConfigItem(defaultValue = "false")
|
||||
boolean enable = false;
|
||||
@Deprecated
|
||||
@ConfigItem(defaultValue = "true")
|
||||
boolean enable = true;
|
||||
}
|
||||
|
||||
@BuildStep
|
||||
void setupJni(BuildProducer<JniBuildItem> jniProducer) {
|
||||
if ((jni.enable) || jni.libraryPaths.isPresent()) {
|
||||
jniProducer.produce(new JniBuildItem(jni.libraryPaths.orElse(Collections.emptyList())));
|
||||
if (!jni.enable) {
|
||||
LOGGER.warn("Your application is setting the deprecated 'quarkus.jni.enable' configuration key to false. Please"
|
||||
+ " consider removing this configuration key as it is ignored (JNI is always enabled) and it will be"
|
||||
+ " removed in a future Quarkus version.");
|
||||
}
|
||||
if (jni.libraryPaths.isPresent()) {
|
||||
jniProducer.produce(new JniBuildItem(jni.libraryPaths.get()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,11 @@ public final class JniBuildItem extends MultiBuildItem {
|
||||
|
||||
private final List<String> libraryPaths;
|
||||
|
||||
/**
|
||||
* @deprecated This method was previously used to enable JNI from Quarkus extensions, but JNI is always enabled starting
|
||||
* from GraalVM 19.3.1.
|
||||
*/
|
||||
@Deprecated
|
||||
public JniBuildItem() {
|
||||
this(Collections.emptyList());
|
||||
}
|
||||
|
||||
@@ -36,9 +36,10 @@ public class NativeConfig {
|
||||
public boolean enableAllSecurityServices;
|
||||
|
||||
/**
|
||||
* If JNI should be enabled
|
||||
* @deprecated JNI is always enabled starting from GraalVM 19.3.1.
|
||||
*/
|
||||
@ConfigItem(defaultValue = "false")
|
||||
@Deprecated
|
||||
@ConfigItem(defaultValue = "true")
|
||||
public boolean enableJni;
|
||||
|
||||
/**
|
||||
@@ -132,7 +133,7 @@ public class NativeConfig {
|
||||
/**
|
||||
* The docker image to use to do the image build
|
||||
*/
|
||||
@ConfigItem(defaultValue = "quay.io/quarkus/ubi-quarkus-native-image:19.2.1")
|
||||
@ConfigItem(defaultValue = "quay.io/quarkus/ubi-quarkus-native-image:19.3.1-java8")
|
||||
public String builderImage;
|
||||
|
||||
/**
|
||||
|
||||
@@ -176,8 +176,10 @@ public class NativeImageBuildStep {
|
||||
//todo: this should be specific build items
|
||||
if (prop.getKey().equals("quarkus.ssl.native") && prop.getValue() != null) {
|
||||
enableSslNative = Boolean.parseBoolean(prop.getValue());
|
||||
} else if (prop.getKey().equals("quarkus.jni.enable") && prop.getValue() != null) {
|
||||
nativeConfig.enableJni |= Boolean.parseBoolean(prop.getValue());
|
||||
} else if (prop.getKey().equals("quarkus.jni.enable") && prop.getValue().equals("false")) {
|
||||
log.warn("Your application is setting the deprecated 'quarkus.jni.enable' configuration key to false."
|
||||
+ " Please consider removing this configuration key as it is ignored (JNI is always enabled) and it"
|
||||
+ " will be removed in a future Quarkus version.");
|
||||
} else if (prop.getKey().equals("quarkus.native.enable-all-security-services") && prop.getValue() != null) {
|
||||
nativeConfig.enableAllSecurityServices |= Boolean.parseBoolean(prop.getValue());
|
||||
} else if (prop.getKey().equals("quarkus.native.enable-all-charsets") && prop.getValue() != null) {
|
||||
@@ -195,13 +197,13 @@ public class NativeImageBuildStep {
|
||||
}
|
||||
if (enableSslNative) {
|
||||
nativeConfig.enableHttpsUrlHandler = true;
|
||||
nativeConfig.enableJni = true;
|
||||
nativeConfig.enableAllSecurityServices = true;
|
||||
}
|
||||
|
||||
nativeConfig.additionalBuildArgs.ifPresent(l -> l.stream().map(String::trim).forEach(command::add));
|
||||
command.add("--initialize-at-build-time=");
|
||||
command.add("-H:InitialCollectionPolicy=com.oracle.svm.core.genscavenge.CollectionPolicy$BySpaceAndTime"); //the default collection policy results in full GC's 50% of the time
|
||||
command.add("-H:+JNI");
|
||||
command.add("-jar");
|
||||
command.add(runnerJarName);
|
||||
|
||||
@@ -266,10 +268,10 @@ public class NativeImageBuildStep {
|
||||
if (!nativeConfig.enableIsolates) {
|
||||
command.add("-H:-SpawnIsolates");
|
||||
}
|
||||
if (nativeConfig.enableJni || (graalVMVersion.isPresent() && !graalVMVersion.get().contains(" 19.2."))) {
|
||||
command.add("-H:+JNI");
|
||||
} else {
|
||||
command.add("-H:-JNI");
|
||||
if (!nativeConfig.enableJni) {
|
||||
log.warn("Your application is setting the deprecated 'quarkus.native.enable-jni' configuration key to false."
|
||||
+ " Please consider removing this configuration key as it is ignored (JNI is always enabled) and it"
|
||||
+ " will be removed in a future Quarkus version.");
|
||||
}
|
||||
if (!nativeConfig.enableServer && !IS_WINDOWS) {
|
||||
command.add("--no-server");
|
||||
@@ -322,12 +324,11 @@ public class NativeImageBuildStep {
|
||||
|
||||
private void checkGraalVMVersion(String version) {
|
||||
log.info("Running Quarkus native-image plugin on " + version);
|
||||
final List<String> obsoleteGraalVmVersions = Arrays.asList("1.0.0", "19.0.", "19.1.", "19.2.0", "19.3.0");
|
||||
final List<String> obsoleteGraalVmVersions = Arrays.asList("1.0.0", "19.0.", "19.1.", "19.2.", "19.3.0");
|
||||
final boolean vmVersionIsObsolete = obsoleteGraalVmVersions.stream().anyMatch(v -> version.contains(" " + v));
|
||||
if (vmVersionIsObsolete) {
|
||||
throw new IllegalStateException("Unsupported version of GraalVM detected: " + version + "."
|
||||
+ " Quarkus currently offers a stable support of GraalVM 19.2.1 and a preview support of GraalVM 19.3.1."
|
||||
+ " Please upgrade GraalVM to one of these versions.");
|
||||
throw new IllegalStateException(
|
||||
"Out of date version of GraalVM detected: " + version + ". Please upgrade to GraalVM 19.3.1.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -43,7 +43,6 @@ import io.quarkus.deployment.builditem.nativeimage.RuntimeInitializedClassBuildI
|
||||
import io.quarkus.deployment.builditem.nativeimage.RuntimeReinitializedClassBuildItem;
|
||||
import io.quarkus.deployment.builditem.nativeimage.ServiceProviderBuildItem;
|
||||
import io.quarkus.deployment.builditem.nativeimage.UnsafeAccessedFieldBuildItem;
|
||||
import io.quarkus.gizmo.AssignableResultHandle;
|
||||
import io.quarkus.gizmo.CatchBlockCreator;
|
||||
import io.quarkus.gizmo.ClassCreator;
|
||||
import io.quarkus.gizmo.ClassOutput;
|
||||
@@ -67,8 +66,6 @@ public class NativeImageAutoFeatureStep {
|
||||
static final String BEFORE_ANALYSIS_ACCESS = Feature.BeforeAnalysisAccess.class.getName();
|
||||
static final String DYNAMIC_PROXY_REGISTRY = "com.oracle.svm.core.jdk.proxy.DynamicProxyRegistry";
|
||||
static final String LOCALIZATION_FEATURE = "com.oracle.svm.core.jdk.LocalizationFeature";
|
||||
// TODO: Delete the following line when Quarkus no longer supports GraalVM 19.2.1.
|
||||
static final String LOCALIZATION_SUPPORT = "com.oracle.svm.core.jdk.LocalizationSupport";
|
||||
|
||||
@BuildStep
|
||||
List<NativeImageResourceBuildItem> registerPackageResources(
|
||||
@@ -208,26 +205,7 @@ public class NativeImageAutoFeatureStep {
|
||||
}
|
||||
|
||||
if (!resourceBundles.isEmpty()) {
|
||||
/*
|
||||
* Start of a temporary workaround to support both GraalVM 19.2.1 and 19.3.1 at the same time.
|
||||
* TODO: Delete this workaround when Quarkus no longer supports GraalVM 19.2.1.
|
||||
*/
|
||||
AssignableResultHandle locClass = overallCatch.createVariable(Class.class);
|
||||
TryBlock workaroundTryBlock = overallCatch.tryBlock();
|
||||
workaroundTryBlock.assign(locClass, workaroundTryBlock.loadClass(LOCALIZATION_FEATURE));
|
||||
// The following line is required to throw an exception and make sure we load the 19.2.1 class when needed.
|
||||
workaroundTryBlock.invokeVirtualMethod(
|
||||
ofMethod(Class.class, "getDeclaredMethod", Method.class, String.class, Class[].class), locClass,
|
||||
workaroundTryBlock.load("addBundleToCache"),
|
||||
workaroundTryBlock.marshalAsArray(Class.class, workaroundTryBlock.loadClass(String.class)));
|
||||
CatchBlockCreator workaroundCatchBlock = workaroundTryBlock.addCatch(Throwable.class);
|
||||
workaroundCatchBlock.assign(locClass, workaroundCatchBlock.loadClass(LOCALIZATION_SUPPORT));
|
||||
/*
|
||||
* End of the temporary workaround.
|
||||
*/
|
||||
|
||||
// TODO: Uncomment the following line when the temporary workaround above is deleted.
|
||||
//ResultHandle locClass = overallCatch.loadClass(LOCALIZATION_FEATURE);
|
||||
ResultHandle locClass = overallCatch.loadClass(LOCALIZATION_FEATURE);
|
||||
|
||||
ResultHandle params = overallCatch.marshalAsArray(Class.class, overallCatch.loadClass(String.class));
|
||||
ResultHandle registerMethod = overallCatch.invokeVirtualMethod(
|
||||
|
||||
@@ -122,22 +122,16 @@ class NativeImageConfigBuildStep {
|
||||
}
|
||||
nativeImage.produce(new NativeImageSystemPropertyBuildItem("quarkus.ssl.native", sslNativeEnabled.toString()));
|
||||
|
||||
boolean requireJni = false;
|
||||
if (!enableAllSecurityServicesBuildItems.isEmpty()) {
|
||||
requireJni = true;
|
||||
nativeImage.produce(new NativeImageSystemPropertyBuildItem("quarkus.native.enable-all-security-services", "true"));
|
||||
}
|
||||
|
||||
if (!jniBuildItems.isEmpty() || requireJni) {
|
||||
for (JniBuildItem jniBuildItem : jniBuildItems) {
|
||||
if (jniBuildItem.getLibraryPaths() != null && !jniBuildItem.getLibraryPaths().isEmpty()) {
|
||||
for (String path : jniBuildItem.getLibraryPaths()) {
|
||||
javaLibraryPathAdditionalPath
|
||||
.produce(new JavaLibraryPathAdditionalPathBuildItem(path));
|
||||
}
|
||||
for (JniBuildItem jniBuildItem : jniBuildItems) {
|
||||
if (jniBuildItem.getLibraryPaths() != null && !jniBuildItem.getLibraryPaths().isEmpty()) {
|
||||
for (String path : jniBuildItem.getLibraryPaths()) {
|
||||
javaLibraryPathAdditionalPath.produce(new JavaLibraryPathAdditionalPathBuildItem(path));
|
||||
}
|
||||
}
|
||||
nativeImage.produce(new NativeImageSystemPropertyBuildItem("quarkus.jni.enable", "true"));
|
||||
}
|
||||
|
||||
if (!nativeImageEnableAllCharsetsBuildItems.isEmpty()) {
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
<artifactId>graal-sdk</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
||||
@@ -1,63 +0,0 @@
|
||||
package io.quarkus.runtime.graal;
|
||||
|
||||
import java.lang.annotation.Annotation;
|
||||
import java.lang.reflect.AnnotatedType;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.function.BooleanSupplier;
|
||||
|
||||
import com.oracle.svm.core.annotate.Alias;
|
||||
import com.oracle.svm.core.annotate.Substitute;
|
||||
import com.oracle.svm.core.annotate.TargetClass;
|
||||
|
||||
@TargetClass(value = Field.class, onlyWith = GraalVersion19_2.class)
|
||||
final class FieldReplacement {
|
||||
|
||||
@Alias
|
||||
public Type getGenericType() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Alias
|
||||
public <T extends Annotation> T getAnnotation(Class<T> annotationClass) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Alias
|
||||
public Annotation[] getDeclaredAnnotations() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Substitute
|
||||
public AnnotatedType getAnnotatedType() {
|
||||
return new AnnotatedType() {
|
||||
@Override
|
||||
public Type getType() {
|
||||
return getGenericType();
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T extends Annotation> T getAnnotation(Class<T> annotationClass) {
|
||||
return FieldReplacement.class.getAnnotation(annotationClass);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Annotation[] getAnnotations() {
|
||||
return FieldReplacement.class.getDeclaredAnnotations();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Annotation[] getDeclaredAnnotations() {
|
||||
return FieldReplacement.class.getDeclaredAnnotations();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
final class GraalVersion19_2 implements BooleanSupplier {
|
||||
public boolean getAsBoolean() {
|
||||
final String version = System.getProperty("org.graalvm.version");
|
||||
return version.startsWith("19.2.");
|
||||
}
|
||||
}
|
||||
@@ -31,7 +31,7 @@
|
||||
<artifactId>quarkus-arc</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
||||
@@ -44,7 +44,11 @@ public class QuarkusNative extends QuarkusTask {
|
||||
|
||||
private boolean enableServer = false;
|
||||
|
||||
private boolean enableJni = false;
|
||||
/**
|
||||
* @deprecated JNI is always enabled starting from GraalVM 19.3.1.
|
||||
*/
|
||||
@Deprecated
|
||||
private boolean enableJni = true;
|
||||
|
||||
private boolean autoServiceLoaderRegistration = false;
|
||||
|
||||
@@ -200,11 +204,16 @@ public class QuarkusNative extends QuarkusTask {
|
||||
}
|
||||
|
||||
@Input
|
||||
@Deprecated
|
||||
public boolean isEnableJni() {
|
||||
return enableJni;
|
||||
}
|
||||
|
||||
@Option(description = "Enable jni", option = "enable-jni")
|
||||
/**
|
||||
* @deprecated JNI is always enabled starting from GraalVM 19.3.1.
|
||||
*/
|
||||
@Option(description = "Enable jni (deprecated)", option = "enable-jni")
|
||||
@Deprecated
|
||||
public void setEnableJni(boolean enableJni) {
|
||||
this.enableJni = enableJni;
|
||||
}
|
||||
@@ -416,7 +425,6 @@ public class QuarkusNative extends QuarkusTask {
|
||||
|
||||
configs.put("quarkus.native.enable-http-url-handler", Boolean.toString(enableHttpUrlHandler));
|
||||
configs.put("quarkus.native.enable-isolates", Boolean.toString(enableIsolates));
|
||||
configs.put("quarkus.native.enable-jni", Boolean.toString(enableJni));
|
||||
|
||||
configs.put("quarkus.native.enable-server", Boolean.toString(enableServer));
|
||||
|
||||
|
||||
@@ -93,7 +93,11 @@ public class NativeImageMojo extends AbstractMojo {
|
||||
@Parameter(defaultValue = "false")
|
||||
private Boolean enableServer;
|
||||
|
||||
@Parameter(defaultValue = "false")
|
||||
/**
|
||||
* @deprecated JNI is always enabled starting from GraalVM 19.3.1.
|
||||
*/
|
||||
@Deprecated
|
||||
@Parameter(defaultValue = "true")
|
||||
private Boolean enableJni;
|
||||
|
||||
@Parameter(defaultValue = "false")
|
||||
@@ -369,8 +373,10 @@ public class NativeImageMojo extends AbstractMojo {
|
||||
if (enableIsolates != null) {
|
||||
configs.put("quarkus.native.enable-isolates", enableIsolates.toString());
|
||||
}
|
||||
if (enableJni != null) {
|
||||
configs.put("quarkus.native.enable-jni", enableJni.toString());
|
||||
if (Boolean.FALSE.equals(enableJni)) {
|
||||
getLog().warn("Your application is setting the deprecated 'enableJni' Maven option to false. Please"
|
||||
+ " consider removing this option as it is ignored (JNI is always enabled) and it will be removed"
|
||||
+ " in a future Quarkus version.");
|
||||
}
|
||||
|
||||
if (enableServer != null) {
|
||||
|
||||
@@ -105,7 +105,6 @@
|
||||
<enableServer>false</enableServer>
|
||||
<dumpProxies>false</dumpProxies>
|
||||
<graalvmHome>${graalvmHome}</graalvmHome>
|
||||
<enableJni>true</enableJni>
|
||||
<enableAllSecurityServices>true</enableAllSecurityServices>
|
||||
<enableReports>false</enableReports>
|
||||
</configuration>
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
<artifactId>quarkus-narayana-jta</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
|
||||
|
||||
@@ -24,7 +24,6 @@ import io.quarkus.deployment.builditem.AdditionalApplicationArchiveMarkerBuildIt
|
||||
import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
|
||||
import io.quarkus.deployment.builditem.ExtensionSslNativeSupportBuildItem;
|
||||
import io.quarkus.deployment.builditem.FeatureBuildItem;
|
||||
import io.quarkus.deployment.builditem.JniBuildItem;
|
||||
import io.quarkus.deployment.builditem.ShutdownContextBuildItem;
|
||||
import io.quarkus.deployment.builditem.nativeimage.NativeImageProxyDefinitionBuildItem;
|
||||
import io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBuildItem;
|
||||
@@ -59,11 +58,6 @@ public class DynamodbProcessor {
|
||||
|
||||
DynamodbBuildTimeConfig buildTimeConfig;
|
||||
|
||||
@BuildStep
|
||||
JniBuildItem jni() {
|
||||
return new JniBuildItem();
|
||||
}
|
||||
|
||||
@BuildStep
|
||||
AdditionalApplicationArchiveMarkerBuildItem marker() {
|
||||
return new AdditionalApplicationArchiveMarkerBuildItem(AWS_SDK_APPLICATION_ARCHIVE_MARKERS);
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
<artifactId>quarkus-amazon-lambda-http</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
<artifactId>aws-serverless-java-container-core</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<artifactId>quarkus-vertx-http-deployment</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<artifactId>quarkus-core</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<artifactId>caffeine</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<artifactId>quarkus-core</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
<artifactId>quarkus-elytron-security</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
<artifactId>quarkus-vertx-http</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
<artifactId>quarkus-narayana-jta</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
|
||||
|
||||
@@ -96,7 +96,7 @@
|
||||
<artifactId>jakarta.transaction-api</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
<artifactId>hibernate-search-mapper-orm</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
@@ -78,17 +78,12 @@ This is configured via hotrod-client.properties file located in META-INF. Everyt
|
||||
you have to add the certificate from the server to the configured truststore if it already trusted in the default
|
||||
java cacerts file.
|
||||
|
||||
#### Configure your project to allow security services (enable JNI optional)
|
||||
#### Configure your project to allow security services
|
||||
|
||||
You (currently) need to enable all security services in Substrate
|
||||
(https://github.com/oracle/graal/blob/master/substratevm/JCA-SECURITY-SERVICES.md). This can be done by adding
|
||||
`<enableAllSecurityServices>true</enableAllSecurityServices>` to the quarkus-maven-plugin configuration values.
|
||||
|
||||
You may have to also enable JNI, depending on the security provider by also adding `<enableJni>true</enableJni>` to the
|
||||
same configuration values. If you have to enable JNI you will then also have to add the appropriate shared library to
|
||||
be contained in a directory defined by `java.library.path`. In many times this shared library will be `sunec`, which
|
||||
can be located at `<JAVA_HOME>/jre/lib/<platform>/libsunec.so`.
|
||||
|
||||
### Authentication
|
||||
|
||||
DIGEST_MD5, PLAIN, EXTERNAL were all tested to work.
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
<artifactId>protostream-processor</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
<artifactId>jakarta.transaction-api</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
<artifactId>jaeger-thrift</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<description>XML serialization support</description>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
<artifactId>derbyclient</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
-->
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<artifactId>mariadb-java-client</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
<artifactId>mysql-connector-java</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<artifactId>postgresql</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<description>Access your Git repositories</description>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
||||
@@ -36,7 +36,6 @@ import io.quarkus.deployment.Capabilities;
|
||||
import io.quarkus.deployment.annotations.BuildProducer;
|
||||
import io.quarkus.deployment.annotations.BuildStep;
|
||||
import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
|
||||
import io.quarkus.deployment.builditem.JniBuildItem;
|
||||
import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
|
||||
import io.quarkus.kafka.client.serialization.JsonbDeserializer;
|
||||
import io.quarkus.kafka.client.serialization.JsonbSerializer;
|
||||
@@ -72,7 +71,7 @@ public class KafkaProcessor {
|
||||
|
||||
@BuildStep
|
||||
public void build(CombinedIndexBuildItem indexBuildItem, BuildProducer<ReflectiveClassBuildItem> reflectiveClass,
|
||||
BuildProducer<JniBuildItem> jni, Capabilities capabilities) {
|
||||
Capabilities capabilities) {
|
||||
Set<ClassInfo> toRegister = new HashSet<>();
|
||||
|
||||
toRegister.addAll(indexBuildItem.getIndex()
|
||||
@@ -114,9 +113,6 @@ public class KafkaProcessor {
|
||||
reflectiveClass.produce(new ReflectiveClassBuildItem(false, false, RangeAssignor.class.getName()));
|
||||
reflectiveClass.produce(new ReflectiveClassBuildItem(false, false, RoundRobinAssignor.class.getName()));
|
||||
reflectiveClass.produce(new ReflectiveClassBuildItem(false, false, StickyAssignor.class.getName()));
|
||||
|
||||
// enable JNI
|
||||
jni.produce(new JniBuildItem());
|
||||
}
|
||||
|
||||
@BuildStep
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
|
||||
|
||||
@@ -22,7 +22,6 @@ import io.quarkus.deployment.annotations.BuildStep;
|
||||
import io.quarkus.deployment.annotations.ExecutionTime;
|
||||
import io.quarkus.deployment.annotations.Record;
|
||||
import io.quarkus.deployment.builditem.FeatureBuildItem;
|
||||
import io.quarkus.deployment.builditem.JniBuildItem;
|
||||
import io.quarkus.deployment.builditem.LaunchModeBuildItem;
|
||||
import io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBuildItem;
|
||||
import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
|
||||
@@ -44,7 +43,6 @@ class KafkaStreamsProcessor {
|
||||
BuildProducer<ReflectiveClassBuildItem> reflectiveClasses,
|
||||
BuildProducer<RuntimeReinitializedClassBuildItem> reinitialized,
|
||||
BuildProducer<NativeImageResourceBuildItem> nativeLibs,
|
||||
BuildProducer<JniBuildItem> jni,
|
||||
LaunchModeBuildItem launchMode,
|
||||
NativeConfig config) throws IOException {
|
||||
|
||||
@@ -53,7 +51,6 @@ class KafkaStreamsProcessor {
|
||||
registerClassesThatAreLoadedThroughReflection(reflectiveClasses, launchMode);
|
||||
addSupportForRocksDbLib(nativeLibs, config);
|
||||
enableLoadOfNativeLibs(reinitialized);
|
||||
enableJniForNativeBuild(jni);
|
||||
}
|
||||
|
||||
private void registerClassesThatAreLoadedThroughReflection(BuildProducer<ReflectiveClassBuildItem> reflectiveClasses,
|
||||
@@ -123,10 +120,6 @@ class KafkaStreamsProcessor {
|
||||
reinitialized.produce(new RuntimeReinitializedClassBuildItem("org.rocksdb.RocksDB"));
|
||||
}
|
||||
|
||||
private void enableJniForNativeBuild(BuildProducer<JniBuildItem> jni) {
|
||||
jni.produce(new JniBuildItem());
|
||||
}
|
||||
|
||||
private void registerClassName(BuildProducer<ReflectiveClassBuildItem> reflectiveClasses, String defaultKeySerdeClass) {
|
||||
reflectiveClasses.produce(new ReflectiveClassBuildItem(true, false, false, defaultKeySerdeClass));
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
<artifactId>kafka-streams</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<artifactId>quarkus-jackson</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
||||
@@ -4,7 +4,6 @@ import io.quarkus.deployment.annotations.BuildStep;
|
||||
import io.quarkus.deployment.annotations.ExecutionTime;
|
||||
import io.quarkus.deployment.annotations.Record;
|
||||
import io.quarkus.deployment.builditem.FeatureBuildItem;
|
||||
import io.quarkus.deployment.builditem.JniBuildItem;
|
||||
import io.quarkus.deployment.builditem.LogHandlerBuildItem;
|
||||
import io.quarkus.deployment.builditem.SystemPropertyBuildItem;
|
||||
import io.quarkus.deployment.builditem.nativeimage.RuntimeInitializedClassBuildItem;
|
||||
@@ -18,11 +17,6 @@ class GelfLogHandlerProcessor {
|
||||
return new FeatureBuildItem(FeatureBuildItem.LOGGING_GELF);
|
||||
}
|
||||
|
||||
@BuildStep
|
||||
JniBuildItem enableJni() {
|
||||
return new JniBuildItem();
|
||||
}
|
||||
|
||||
@BuildStep
|
||||
@Record(ExecutionTime.RUNTIME_INIT)
|
||||
LogHandlerBuildItem build(GelfLogHandlerRecorder recorder, GelfConfig config) {
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<artifactId>logstash-gelf</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
<artifactId>smallrye-reactive-converter-api</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<artifactId>quarkus-core</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
|
||||
|
||||
@@ -17,7 +17,6 @@ import io.quarkus.deployment.annotations.BuildProducer;
|
||||
import io.quarkus.deployment.annotations.BuildStep;
|
||||
import io.quarkus.deployment.annotations.ExecutionTime;
|
||||
import io.quarkus.deployment.annotations.Record;
|
||||
import io.quarkus.deployment.builditem.JniBuildItem;
|
||||
import io.quarkus.deployment.builditem.SystemPropertyBuildItem;
|
||||
import io.quarkus.deployment.builditem.nativeimage.NativeImageConfigBuildItem;
|
||||
import io.quarkus.deployment.builditem.nativeimage.NativeImageSystemPropertyBuildItem;
|
||||
@@ -54,8 +53,7 @@ class NettyProcessor {
|
||||
}
|
||||
|
||||
@BuildStep
|
||||
NativeImageConfigBuildItem build(BuildProducer<JniBuildItem> jni) {
|
||||
boolean enableJni = false;
|
||||
NativeImageConfigBuildItem build() {
|
||||
|
||||
reflectiveClass.produce(new ReflectiveClassBuildItem(false, false, "io.netty.channel.socket.nio.NioSocketChannel"));
|
||||
reflectiveClass
|
||||
@@ -97,7 +95,6 @@ class NettyProcessor {
|
||||
|
||||
try {
|
||||
Class.forName("io.netty.channel.unix.UnixChannel");
|
||||
enableJni = true;
|
||||
builder.addRuntimeInitializedClass("io.netty.channel.unix.Errors")
|
||||
.addRuntimeInitializedClass("io.netty.channel.unix.FileDescriptor")
|
||||
.addRuntimeInitializedClass("io.netty.channel.unix.IovArray")
|
||||
@@ -109,7 +106,6 @@ class NettyProcessor {
|
||||
|
||||
try {
|
||||
Class.forName("io.netty.channel.epoll.EpollMode");
|
||||
enableJni = true;
|
||||
builder.addRuntimeInitializedClass("io.netty.channel.epoll.Epoll")
|
||||
.addRuntimeInitializedClass("io.netty.channel.epoll.EpollEventArray")
|
||||
.addRuntimeInitializedClass("io.netty.channel.epoll.EpollEventLoop")
|
||||
@@ -121,7 +117,6 @@ class NettyProcessor {
|
||||
|
||||
try {
|
||||
Class.forName("io.netty.channel.kqueue.AcceptFilter");
|
||||
enableJni = true;
|
||||
builder.addRuntimeInitializedClass("io.netty.channel.kqueue.KQueue")
|
||||
.addRuntimeInitializedClass("io.netty.channel.kqueue.KQueueEventArray")
|
||||
.addRuntimeInitializedClass("io.netty.channel.kqueue.KQueueEventLoop")
|
||||
@@ -131,10 +126,6 @@ class NettyProcessor {
|
||||
log.debug("Not registering Netty native kqueue classes as they were not found");
|
||||
}
|
||||
|
||||
if (enableJni) {
|
||||
jni.produce(new JniBuildItem());
|
||||
}
|
||||
|
||||
return builder //TODO: make configurable
|
||||
.build();
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<artifactId>quarkus-scheduler</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
<artifactId>commons-logging-jboss-logging</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
<artifactId>quarkus-arc-deployment</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<description>REST framework implementing JAX-RS and more</description>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
<artifactId>quarkus-security-spi</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<artifactId>jakarta.interceptor-api</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
<artifactId>quarkus-smallrye-fault-tolerance</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
<artifactId>commons-logging-jboss-logging</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
<artifactId>jakarta.servlet-api</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
@@ -25,7 +25,6 @@ import io.quarkus.deployment.annotations.ExecutionTime;
|
||||
import io.quarkus.deployment.annotations.Record;
|
||||
import io.quarkus.deployment.builditem.CapabilityBuildItem;
|
||||
import io.quarkus.deployment.builditem.FeatureBuildItem;
|
||||
import io.quarkus.deployment.builditem.JniBuildItem;
|
||||
import io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBuildItem;
|
||||
import io.quarkus.deployment.builditem.nativeimage.RuntimeInitializedClassBuildItem;
|
||||
import io.quarkus.deployment.builditem.nativeimage.ServiceProviderBuildItem;
|
||||
@@ -79,11 +78,6 @@ public class TikaProcessor {
|
||||
return new FeatureBuildItem(FeatureBuildItem.TIKA);
|
||||
}
|
||||
|
||||
@BuildStep
|
||||
void setupJni(BuildProducer<JniBuildItem> jniProducer) {
|
||||
jniProducer.produce(new JniBuildItem());
|
||||
}
|
||||
|
||||
@BuildStep
|
||||
public void registerRuntimeInitializedClasses(BuildProducer<RuntimeInitializedClassBuildItem> resource) {
|
||||
//org.apache.tika.parser.pdf.PDFParser (https://issues.apache.org/jira/browse/PDFBOX-4548)
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
<artifactId>jakarta.enterprise.cdi-api</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.oracle.substratevm</groupId>
|
||||
<groupId>org.graalvm.nativeimage</groupId>
|
||||
<artifactId>svm</artifactId>
|
||||
</dependency>
|
||||
|
||||
|
||||
@@ -101,7 +101,6 @@
|
||||
<cleanupServer>true</cleanupServer>
|
||||
<enableHttpUrlHandler>true</enableHttpUrlHandler>
|
||||
<graalvmHome>${graalvmHome}</graalvmHome>
|
||||
<enableJni>false</enableJni>
|
||||
<debugBuildProcess>false</debugBuildProcess>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
||||
@@ -109,7 +109,6 @@
|
||||
<cleanupServer>true</cleanupServer>
|
||||
<enableHttpUrlHandler>true</enableHttpUrlHandler>
|
||||
<graalvmHome>${graalvmHome}</graalvmHome>
|
||||
<enableJni>false</enableJni>
|
||||
<debugBuildProcess>false</debugBuildProcess>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
||||
@@ -98,7 +98,6 @@
|
||||
<cleanupServer>true</cleanupServer>
|
||||
<enableHttpUrlHandler>true</enableHttpUrlHandler>
|
||||
<graalvmHome>${graalvmHome}</graalvmHome>
|
||||
<enableJni>false</enableJni>
|
||||
<debugBuildProcess>false</debugBuildProcess>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
||||
@@ -105,7 +105,6 @@
|
||||
<enableServer>false</enableServer>
|
||||
<dumpProxies>false</dumpProxies>
|
||||
<graalvmHome>${graalvmHome}</graalvmHome>
|
||||
<enableJni>true</enableJni>
|
||||
<enableAllSecurityServices>true</enableAllSecurityServices>
|
||||
<enableReports>false</enableReports>
|
||||
</configuration>
|
||||
|
||||
@@ -120,7 +120,6 @@
|
||||
<cleanupServer>true</cleanupServer>
|
||||
<enableHttpUrlHandler>true</enableHttpUrlHandler>
|
||||
<graalvmHome>${graalvmHome}</graalvmHome>
|
||||
<enableJni>false</enableJni>
|
||||
<debugBuildProcess>false</debugBuildProcess>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
||||
@@ -137,7 +137,6 @@
|
||||
<enableServer>false</enableServer>
|
||||
<dumpProxies>false</dumpProxies>
|
||||
<graalvmHome>${graalvmHome}</graalvmHome>
|
||||
<enableJni>false</enableJni>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
|
||||
@@ -185,7 +185,6 @@
|
||||
<enableServer>false</enableServer>
|
||||
<dumpProxies>false</dumpProxies>
|
||||
<graalvmHome>${graalvmHome}</graalvmHome>
|
||||
<enableJni>false</enableJni>
|
||||
<debugBuildProcess>false</debugBuildProcess>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
||||
@@ -125,7 +125,6 @@
|
||||
<enableServer>false</enableServer>
|
||||
<dumpProxies>false</dumpProxies>
|
||||
<graalvmHome>${graalvmHome}</graalvmHome>
|
||||
<enableJni>false</enableJni>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
|
||||
@@ -121,7 +121,6 @@
|
||||
<cleanupServer>true</cleanupServer>
|
||||
<enableHttpUrlHandler>true</enableHttpUrlHandler>
|
||||
<graalvmHome>${graalvmHome}</graalvmHome>
|
||||
<enableJni>false</enableJni>
|
||||
<debugBuildProcess>false</debugBuildProcess>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
||||
@@ -144,7 +144,6 @@
|
||||
<additionalBuildArg>-H:ResourceConfigurationFiles=resources-config.json</additionalBuildArg>
|
||||
</additionalBuildArgs>
|
||||
<graalvmHome>${graalvmHome}</graalvmHome>
|
||||
<enableJni>true</enableJni>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
|
||||
@@ -112,7 +112,6 @@
|
||||
<cleanupServer>true</cleanupServer>
|
||||
<enableHttpUrlHandler>true</enableHttpUrlHandler>
|
||||
<graalvmHome>${graalvmHome}</graalvmHome>
|
||||
<enableJni>false</enableJni>
|
||||
<debugBuildProcess>false</debugBuildProcess>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
||||
@@ -112,7 +112,6 @@
|
||||
<cleanupServer>true</cleanupServer>
|
||||
<enableHttpUrlHandler>true</enableHttpUrlHandler>
|
||||
<graalvmHome>${graalvmHome}</graalvmHome>
|
||||
<enableJni>false</enableJni>
|
||||
<debugBuildProcess>false</debugBuildProcess>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
||||
@@ -148,7 +148,6 @@
|
||||
<enableServer>false</enableServer>
|
||||
<dumpProxies>false</dumpProxies>
|
||||
<graalvmHome>${graalvmHome}</graalvmHome>
|
||||
<enableJni>false</enableJni>
|
||||
<debugBuildProcess>false</debugBuildProcess>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
||||
@@ -156,7 +156,6 @@
|
||||
<cleanupServer>true</cleanupServer>
|
||||
<enableHttpUrlHandler>true</enableHttpUrlHandler>
|
||||
<graalvmHome>${graalvmHome}</graalvmHome>
|
||||
<enableJni>false</enableJni>
|
||||
<debugBuildProcess>false</debugBuildProcess>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
||||
@@ -148,7 +148,6 @@
|
||||
<enableServer>false</enableServer>
|
||||
<dumpProxies>false</dumpProxies>
|
||||
<graalvmHome>${graalvmHome}</graalvmHome>
|
||||
<enableJni>false</enableJni>
|
||||
<debugBuildProcess>false</debugBuildProcess>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
<enableServer>false</enableServer>
|
||||
<dumpProxies>false</dumpProxies>
|
||||
<graalvmHome>${graalvmHome}</graalvmHome>
|
||||
<enableJni>false</enableJni>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
|
||||
@@ -105,7 +105,6 @@
|
||||
<cleanupServer>true</cleanupServer>
|
||||
<enableHttpUrlHandler>true</enableHttpUrlHandler>
|
||||
<graalvmHome>${graalvmHome}</graalvmHome>
|
||||
<enableJni>false</enableJni>
|
||||
<debugBuildProcess>false</debugBuildProcess>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
||||
@@ -17,7 +17,6 @@ import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import io.quarkus.test.junit.DisabledOnNativeImage;
|
||||
import io.quarkus.test.junit.QuarkusTest;
|
||||
|
||||
@QuarkusTest
|
||||
@@ -38,7 +37,6 @@ public class JSchTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisabledOnNativeImage("This test fails with GraalVM 19.2.1 but is successful with GraalVM 19.3.1")
|
||||
void shouldConnect() {
|
||||
given().queryParam("host", sshd.getHost())
|
||||
.queryParam("port", sshd.getPort())
|
||||
|
||||
@@ -131,7 +131,6 @@
|
||||
<enableServer>false</enableServer>
|
||||
<dumpProxies>false</dumpProxies>
|
||||
<graalvmHome>${graalvmHome}</graalvmHome>
|
||||
<enableJni>true</enableJni>
|
||||
<enableAllSecurityServices>true</enableAllSecurityServices>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
||||
@@ -99,7 +99,6 @@
|
||||
<enableServer>false</enableServer>
|
||||
<dumpProxies>false</dumpProxies>
|
||||
<graalvmHome>${graalvmHome}</graalvmHome>
|
||||
<enableJni>true</enableJni>
|
||||
<enableAllSecurityServices>true</enableAllSecurityServices>
|
||||
<enableReports>false</enableReports>
|
||||
</configuration>
|
||||
|
||||
@@ -171,7 +171,6 @@
|
||||
<enableServer>false</enableServer>
|
||||
<dumpProxies>false</dumpProxies>
|
||||
<graalvmHome>${graalvmHome}</graalvmHome>
|
||||
<enableJni>false</enableJni>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
|
||||
@@ -91,7 +91,6 @@
|
||||
<enableServer>false</enableServer>
|
||||
<dumpProxies>false</dumpProxies>
|
||||
<graalvmHome>${graalvmHome}</graalvmHome>
|
||||
<enableJni>true</enableJni>
|
||||
<enableAllSecurityServices>true</enableAllSecurityServices>
|
||||
<enableReports>false</enableReports>
|
||||
</configuration>
|
||||
|
||||
@@ -103,7 +103,6 @@
|
||||
<additionalBuildArg>-H:EnableURLProtocols=http,https</additionalBuildArg>
|
||||
</additionalBuildArgs>
|
||||
<graalvmHome>${graalvmHome}</graalvmHome>
|
||||
<enableJni>true</enableJni>
|
||||
<enableAllSecurityServices>true</enableAllSecurityServices>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
||||
Reference in New Issue
Block a user