aboutsummaryrefslogtreecommitdiff
path: root/plugins/javadoc/src/main/kotlin/org
diff options
context:
space:
mode:
authorBłażej Kardyś <bkardys@virtuslab.com>2020-09-08 12:10:59 +0200
committerKamil Doległo <9080183+kamildoleglo@users.noreply.github.com>2020-10-08 17:24:29 +0200
commitbe3fea152ae5dcec5ba9a29d86a69010d6b2e428 (patch)
tree35d657281f66fceeff6ee66bbb1aa85ff830262b /plugins/javadoc/src/main/kotlin/org
parent68553bf4c1de2b640a376f0ac4755a6c5bc7dd79 (diff)
downloaddokka-be3fea152ae5dcec5ba9a29d86a69010d6b2e428.tar.gz
dokka-be3fea152ae5dcec5ba9a29d86a69010d6b2e428.tar.bz2
dokka-be3fea152ae5dcec5ba9a29d86a69010d6b2e428.zip
Adding configuration mpp check for javadoc
Diffstat (limited to 'plugins/javadoc/src/main/kotlin/org')
-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