Skip to content

Commit

Permalink
Fix native image warning in Kafka
Browse files Browse the repository at this point in the history
  • Loading branch information
geoand authored and maxandersen committed Apr 14, 2023
1 parent 8b8db8a commit 057336c
Showing 1 changed file with 21 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.function.BooleanSupplier;
import java.util.function.Consumer;
import java.util.logging.Level;
import java.util.stream.Collectors;
Expand Down Expand Up @@ -86,10 +87,13 @@
import io.quarkus.deployment.logging.LogCleanupFilterBuildItem;
import io.quarkus.deployment.pkg.builditem.CurateOutcomeBuildItem;
import io.quarkus.deployment.pkg.builditem.NativeImageRunnerBuildItem;
import io.quarkus.deployment.pkg.steps.NativeOrNativeSourcesBuild;
import io.quarkus.dev.spi.DevModeType;
import io.quarkus.devconsole.spi.DevConsoleRouteBuildItem;
import io.quarkus.devconsole.spi.DevConsoleWebjarBuildItem;
import io.quarkus.kafka.client.runtime.*;
import io.quarkus.kafka.client.runtime.KafkaAdminClient;
import io.quarkus.kafka.client.runtime.KafkaBindingConverter;
import io.quarkus.kafka.client.runtime.KafkaRecorder;
import io.quarkus.kafka.client.runtime.KafkaRuntimeConfigProducer;
import io.quarkus.kafka.client.runtime.ui.KafkaTopicClient;
import io.quarkus.kafka.client.runtime.ui.KafkaUiRecorder;
Expand Down Expand Up @@ -222,7 +226,6 @@ public void build(
BuildProducer<ServiceProviderBuildItem> serviceProviders,
BuildProducer<NativeImageProxyDefinitionBuildItem> proxies,
Capabilities capabilities,
NativeImageRunnerBuildItem nativeImageRunner,
BuildProducer<UnremovableBeanBuildItem> beans,
BuildProducer<NativeImageResourceBuildItem> nativeLibs,
BuildProducer<ExtensionSslNativeSupportBuildItem> sslNativeSupport) {
Expand Down Expand Up @@ -286,13 +289,11 @@ public void build(
handleAvro(reflectiveClass, proxies, serviceProviders, sslNativeSupport, capabilities);
handleOpenTracing(reflectiveClass, capabilities);
handleStrimziOAuth(curateOutcomeBuildItem, reflectiveClass);
if (config.snappyEnabled) {
handleSnappy(nativeImageRunner, reflectiveClass, nativeLibs);
}

}

private void handleSnappy(NativeImageRunnerBuildItem nativeImageRunner,
@BuildStep(onlyIf = { IsSnappy.class, NativeOrNativeSourcesBuild.class })
public void handleSnappyInNative(NativeImageRunnerBuildItem nativeImageRunner,
BuildProducer<ReflectiveClassBuildItem> reflectiveClass,
BuildProducer<NativeImageResourceBuildItem> nativeLibs) {
reflectiveClass.produce(ReflectiveClassBuildItem.builder("org.xerial.snappy.SnappyInputStream",
Expand Down Expand Up @@ -574,4 +575,18 @@ public DevConsoleWebjarBuildItem setupWebJar(LaunchModeBuildItem launchModeBuild
.build();
}

public static final class IsSnappy implements BooleanSupplier {

private final KafkaBuildTimeConfig config;

public IsSnappy(KafkaBuildTimeConfig config) {
this.config = config;
}

@Override
public boolean getAsBoolean() {
return config.snappyEnabled;
}
}

}

0 comments on commit 057336c

Please sign in to comment.