aboutsummaryrefslogtreecommitdiff
path: root/runners/gradle-plugin/src
diff options
context:
space:
mode:
Diffstat (limited to 'runners/gradle-plugin/src')
-rw-r--r--runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/utils.kt9
1 files 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 37ec66c1..6677391b 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