Skip to content

Commit d48e97a

Browse files
authored
Merge pull request quarkusio#47803 from geoand/kotlin-ser-warning
Ignore false reflection hierarchy warning for Kotlin serialization
2 parents 96640d8 + ffc8dd7 commit d48e97a

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

extensions/kotlin/deployment/src/main/java/io/quarkus/kotlin/deployment/KotlinProcessor.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import static io.quarkus.deployment.builditem.nativeimage.NativeImageResourcePatternsBuildItem.builder;
44

5+
import org.jboss.jandex.DotName;
6+
57
import io.quarkus.bootstrap.classloading.QuarkusClassLoader;
68
import io.quarkus.deployment.Feature;
79
import io.quarkus.deployment.annotations.BuildProducer;
@@ -10,6 +12,7 @@
1012
import io.quarkus.deployment.builditem.nativeimage.NativeImageResourcePatternsBuildItem;
1113
import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
1214
import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassFinalFieldsWritablePredicateBuildItem;
15+
import io.quarkus.deployment.builditem.nativeimage.ReflectiveHierarchyIgnoreWarningBuildItem;
1316
import io.quarkus.jackson.spi.ClassPathJacksonModuleBuildItem;
1417

1518
public class KotlinProcessor {
@@ -49,7 +52,8 @@ ReflectiveClassFinalFieldsWritablePredicateBuildItem dataClassPredicate() {
4952
*/
5053
@BuildStep
5154
void registerKotlinReflection(final BuildProducer<ReflectiveClassBuildItem> reflectiveClass,
52-
BuildProducer<NativeImageResourcePatternsBuildItem> nativeResourcePatterns) {
55+
BuildProducer<NativeImageResourcePatternsBuildItem> nativeResourcePatterns,
56+
BuildProducer<ReflectiveHierarchyIgnoreWarningBuildItem> reflectiveHierarchyIgnoreWarning) {
5357

5458
reflectiveClass.produce(ReflectiveClassBuildItem.builder("kotlin.reflect.jvm.internal.ReflectionFactoryImpl")
5559
.build());
@@ -71,5 +75,10 @@ void registerKotlinReflection(final BuildProducer<ReflectiveClassBuildItem> refl
7175
"META-INF/services/kotlin.reflect.*",
7276
".*.kotlin_builtins")
7377
.build());
78+
79+
reflectiveHierarchyIgnoreWarning.produce(
80+
new ReflectiveHierarchyIgnoreWarningBuildItem(DotName.createSimple("kotlinx.serialization.KSerializer")));
81+
reflectiveHierarchyIgnoreWarning.produce(new ReflectiveHierarchyIgnoreWarningBuildItem(
82+
DotName.createSimple("kotlinx.serialization.descriptors.SerialDescriptor")));
7483
}
7584
}

0 commit comments

Comments
 (0)