/* * Copyright 2017-2024 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. */ import org.jetbrains.dokka.gradle.* import java.net.URI /* * Copyright 2017-2024 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. */ plugins { id("org.jetbrains.dokka") } val extens = extensions dependencies { dokkaPlugin(provider { extens.getByType().named("libs").findLibrary("dokka.pathsaver").get().get() }) } tasks.withType().named("dokkaHtmlPartial") { outputDirectory.set(file("build/dokka")) pluginsMapConfiguration.put("org.jetbrains.dokka.base.DokkaBase", """{ "templatesDir": "${rootDir.resolve("dokka-templates").canonicalPath.replace('\\', '/')}" }""") dokkaSourceSets { configureEach { includes.from(rootDir.resolve("dokka/moduledoc.md").path) perPackageOption { matchingRegex.set("kotlinx\\.serialization(\$|\\.).*") reportUndocumented.set(true) skipDeprecated.set(true) } // Internal API perPackageOption { matchingRegex.set("kotlinx\\.serialization.internal(\$|\\.).*") suppress.set(true) } // Internal JSON API perPackageOption { matchingRegex.set("kotlinx\\.serialization.json.internal(\$|\\.).*") suppress.set(true) reportUndocumented.set(false) } // Workaround for typealias perPackageOption { matchingRegex.set("kotlinx\\.serialization.protobuf.internal(\$|\\.).*") suppress.set(true) reportUndocumented.set(false) } // Deprecated migrations perPackageOption { matchingRegex.set("kotlinx\\.protobuf(\$|\\.).*") reportUndocumented.set(true) skipDeprecated.set(true) } // Deprecated migrations perPackageOption { matchingRegex.set("org\\.jetbrains\\.kotlinx\\.serialization\\.config(\$|\\.).*") reportUndocumented.set(false) skipDeprecated.set(true) } sourceLink { localDirectory.set(rootDir) remoteUrl.set(URI("https://github.com/Kotlin/kotlinx.serialization/tree/master").toURL()) remoteLineSuffix.set("#L") } } } }