22
33import static io .quarkus .deployment .builditem .nativeimage .NativeImageResourcePatternsBuildItem .builder ;
44
5+ import org .jboss .jandex .DotName ;
6+
57import io .quarkus .bootstrap .classloading .QuarkusClassLoader ;
68import io .quarkus .deployment .Feature ;
79import io .quarkus .deployment .annotations .BuildProducer ;
1012import io .quarkus .deployment .builditem .nativeimage .NativeImageResourcePatternsBuildItem ;
1113import io .quarkus .deployment .builditem .nativeimage .ReflectiveClassBuildItem ;
1214import io .quarkus .deployment .builditem .nativeimage .ReflectiveClassFinalFieldsWritablePredicateBuildItem ;
15+ import io .quarkus .deployment .builditem .nativeimage .ReflectiveHierarchyIgnoreWarningBuildItem ;
1316import io .quarkus .jackson .spi .ClassPathJacksonModuleBuildItem ;
1417
1518public 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