diff options
Diffstat (limited to 'plugins/javadoc/src/main/kotlin')
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 |