From 9297e6de3446314a5d2f4639c2024d62887b109a Mon Sep 17 00:00:00 2001 From: Ignat Beresnev Date: Fri, 24 Feb 2023 19:27:15 +0100 Subject: [PATCH] Fix `TypeNotPresentException` in projects without KGP (#2890) --- .../src/main/kotlin/org/jetbrains/dokka/gradle/utils.kt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/utils.kt b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/utils.kt index 37ec66c13d..6677391baa 100644 --- a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/utils.kt +++ b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/utils.kt @@ -17,8 +17,13 @@ internal fun parsePath(path: String): Path = Path.path(path) internal val Project.kotlinOrNull: KotlinProjectExtension? get() = try { project.extensions.findByType() - } catch (e: NoClassDefFoundError) { - null + } catch (e: Throwable) { + when (e) { + // if the user project doesn't have KGP applied, we won't be able to load the class; + // TypeNotPresentException is possible if it's loaded through reified generics. + is NoClassDefFoundError, is TypeNotPresentException, is ClassNotFoundException -> null + else -> throw e + } } internal val Project.kotlin: KotlinProjectExtension