aboutsummaryrefslogtreecommitdiff
path: root/plugins/javadoc/src/main/kotlin
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/javadoc/src/main/kotlin')
-rw-r--r--plugins/javadoc/src/main/kotlin/org/jetbrains/dokka/javadoc/JavadocPlugin.kt7
-rw-r--r--plugins/javadoc/src/main/kotlin/org/jetbrains/dokka/javadoc/validity/MultiplatformConfiguredChecker.kt22
2 files changed, 29 insertions, 0 deletions
diff --git a/plugins/javadoc/src/main/kotlin/org/jetbrains/dokka/javadoc/JavadocPlugin.kt b/plugins/javadoc/src/main/kotlin/org/jetbrains/dokka/javadoc/JavadocPlugin.kt
index ae3281a1..560083e4 100644
--- a/plugins/javadoc/src/main/kotlin/org/jetbrains/dokka/javadoc/JavadocPlugin.kt
+++ b/plugins/javadoc/src/main/kotlin/org/jetbrains/dokka/javadoc/JavadocPlugin.kt
@@ -10,6 +10,7 @@ import org.jetbrains.dokka.base.renderers.RootCreator
import org.jetbrains.dokka.base.resolvers.shared.RecognizedLinkFormat
import org.jetbrains.dokka.javadoc.pages.*
import org.jetbrains.dokka.javadoc.transformers.documentables.JavadocDocumentableJVMSourceSetFilter
+import org.jetbrains.dokka.javadoc.validity.MultiplatformConfiguredChecker
import org.jetbrains.dokka.kotlinAsJava.KotlinAsJavaPlugin
import org.jetbrains.dokka.plugability.DokkaPlugin
import org.jetbrains.dokka.plugability.querySingle
@@ -28,6 +29,12 @@ class JavadocPlugin : DokkaPlugin() {
override dokkaBasePlugin.htmlRenderer)
}
+ val javadocMultiplatformCheck by extending {
+ CoreExtensions.preGenerationCheck providing { context ->
+ MultiplatformConfiguredChecker(context)
+ }
+ }
+
val pageTranslator by extending {
CoreExtensions.documentableToPageTranslator providing { context ->
JavadocDocumentableToPageTranslator(
diff --git a/plugins/javadoc/src/main/kotlin/org/jetbrains/dokka/javadoc/validity/MultiplatformConfiguredChecker.kt b/plugins/javadoc/src/main/kotlin/org/jetbrains/dokka/javadoc/validity/MultiplatformConfiguredChecker.kt
new file mode 100644
index 00000000..36d84a09
--- /dev/null
+++ b/plugins/javadoc/src/main/kotlin/org/jetbrains/dokka/javadoc/validity/MultiplatformConfiguredChecker.kt
@@ -0,0 +1,22 @@
+package org.jetbrains.dokka.javadoc.validity
+
+import org.jetbrains.dokka.Platform
+import org.jetbrains.dokka.plugability.DokkaContext
+import org.jetbrains.dokka.validity.PreGenerationChecker
+import org.jetbrains.dokka.validity.PreGenerationCheckerOutput
+
+class MultiplatformConfiguredChecker(val context: DokkaContext) : PreGenerationChecker {
+
+ override fun invoke(): PreGenerationCheckerOutput {
+ val isSinglePlatform = context.configuration.sourceSets.all { sourceSet ->
+ val platform = sourceSet.analysisPlatform
+ (platform == Platform.jvm || platform == Platform.common)
+ }
+ return PreGenerationCheckerOutput(isSinglePlatform, listOfNotNull(errorMessage.takeUnless { isSinglePlatform }))
+ }
+
+ companion object {
+ const val errorMessage =
+ "Dokka Javadoc plugin currently does not support generating documentation for multiplatform project. Please, adjust your configuration"
+ }
+} \ No newline at end of file