Skip to content

Commit

Permalink
Ported to older native-image 23.0.x
Browse files Browse the repository at this point in the history
  • Loading branch information
Karm committed May 23, 2024
1 parent 60e39f6 commit db56f98
Showing 1 changed file with 18 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package io.quarkus.vertx.http.deployment;

import static io.quarkus.deployment.pkg.steps.GraalVM.Version.CURRENT;
import static io.quarkus.runtime.TemplateHtmlBuilder.adjustRoot;
import static io.quarkus.vertx.http.deployment.RequireBodyHandlerBuildItem.getBodyHandlerRequiredConditions;
import static io.quarkus.vertx.http.deployment.RouteBuildItem.RouteType.FRAMEWORK_ROUTE;
Expand Down Expand Up @@ -44,7 +45,10 @@
import io.quarkus.deployment.builditem.nativeimage.RuntimeInitializedClassBuildItem;
import io.quarkus.deployment.builditem.nativeimage.ServiceProviderBuildItem;
import io.quarkus.deployment.logging.LogCleanupFilterBuildItem;
import io.quarkus.deployment.pkg.builditem.NativeImageRunnerBuildItem;
import io.quarkus.deployment.pkg.steps.GraalVM;
import io.quarkus.deployment.pkg.steps.NativeOrNativeSourcesBuild;
import io.quarkus.deployment.pkg.steps.NoopNativeImageBuildRunner;
import io.quarkus.kubernetes.spi.KubernetesPortBuildItem;
import io.quarkus.netty.runtime.virtual.VirtualServerChannel;
import io.quarkus.runtime.LaunchMode;
Expand Down Expand Up @@ -515,7 +519,8 @@ private static boolean isSslConfigured() {
@BuildStep(onlyIf = NativeOrNativeSourcesBuild.class)
void brotliResources(HttpBuildTimeConfig httpBuildTimeConfig,
BuildProducer<NativeImageResourcePatternsBuildItem> resources,
BuildProducer<RuntimeInitializedClassBuildItem> runtimeInitializedClasses) throws BuildException {
BuildProducer<RuntimeInitializedClassBuildItem> runtimeInitializedClasses,
NativeImageRunnerBuildItem nativeImageRunnerBuildItem) throws BuildException {

if (httpBuildTimeConfig.compressors.isPresent() &&
httpBuildTimeConfig.compressors.get().stream().anyMatch(s -> s.equalsIgnoreCase("br"))) {
Expand Down Expand Up @@ -561,6 +566,18 @@ void brotliResources(HttpBuildTimeConfig httpBuildTimeConfig,
// Static initializer tries to load the native library in Brotli4jLoader; must be done at runtime.
runtimeInitializedClasses
.produce(new RuntimeInitializedClassBuildItem("com.aayushatharva.brotli4j.Brotli4jLoader"));
final GraalVM.Version v;
if (nativeImageRunnerBuildItem.getBuildRunner() instanceof NoopNativeImageBuildRunner) {
v = CURRENT;
logger.warnf("native-image is not installed. " +
"Using the default %s version as a reference to build native-sources step.", v.getVersionAsString());
} else {
v = nativeImageRunnerBuildItem.getBuildRunner().getGraalVMVersion();
}
if (v.compareTo(GraalVM.Version.VERSION_23_1_0) <= 0) {
runtimeInitializedClasses
.produce(new RuntimeInitializedClassBuildItem("io.netty.handler.codec.compression.Brotli"));
}
}
}
}

0 comments on commit db56f98

Please sign in to comment.