| /* |
| * 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.URL |
| |
| /* |
| * 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<VersionCatalogsExtension>().named("libs").findLibrary("dokka.pathsaver").get().get() }) |
| } |
| |
| tasks.withType<DokkaTaskPartial>().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(URL("https://github.com/Kotlin/kotlinx.serialization/tree/master")) |
| remoteLineSuffix.set("#L") |
| } |
| } |
| } |
| } |