diff --git a/libraries/tools/kotlin-stdlib-docs/build.gradle.kts b/libraries/tools/kotlin-stdlib-docs/build.gradle.kts index 6a455ad6b53..e8e2c15ff88 100644 --- a/libraries/tools/kotlin-stdlib-docs/build.gradle.kts +++ b/libraries/tools/kotlin-stdlib-docs/build.gradle.kts @@ -176,12 +176,10 @@ fun createStdLibVersionedDocTask(version: String, isLatest: Boolean) = sourceRoots.from("$kotlin_stdlib_dir/src") sourceRoots.from("$kotlin_stdlib_dir/unsigned/src") } - perPackageOption { - matchingRegex.set("org.w3c(\$|\\.).*") + perPackageOption("org.w3c") { reportUndocumented.set(false) } - perPackageOption { - matchingRegex.set("org.khronos(\$|\\.).*") + perPackageOption("org.khronos") { reportUndocumented.set(false) } } @@ -200,8 +198,7 @@ fun createStdLibVersionedDocTask(version: String, isLatest: Boolean) = sourceRoots.from("$kotlin_native_root/Interop/JsRuntime/src/main/kotlin") sourceRoots.from("$kotlin_native_root/runtime/src/main/kotlin") sourceRoots.from("$kotlin_stdlib_dir/native-wasm/src") - perPackageOption { - matchingRegex.set("kotlin.test(\$|\\.).*") + perPackageOption("kotlin.test") { suppress.set(true) } } @@ -214,16 +211,11 @@ fun createStdLibVersionedDocTask(version: String, isLatest: Boolean) = languageVersion.set(kotlinLanguageVersion) samples.from(stdlibSamples.toString()) suppressedPackages.forEach { packageName -> - perPackageOption { - matchingRegex.set("${packageName.replace(".", "\\.")}(\$|\\..*)") + perPackageOption(packageName) { suppress.set(true) } } - sourceLink { - localDirectory.set(file(localRoot)) - remoteUrl.set(baseUrl) - remoteLineSuffix.set("#L") - } + sourceLinksFromRoot() } } } @@ -372,11 +364,7 @@ fun createKotlinTestVersionedDocTask(version: String, isLatest: Boolean, stdlibD includes.from(kotlinTestIncludeMd) languageVersion.set(kotlinLanguageVersion) noStdlibLink.set(true) - sourceLink { - localDirectory.set(file(localRoot)) - remoteUrl.set(baseUrl) - remoteLineSuffix.set("#L") - } + sourceLinksFromRoot() externalDocumentationLink { url.set(URL("https://kotlinlang.org/api/latest/jvm/stdlib/")) packageListUrl.set(stdlibPackageList) @@ -385,6 +373,19 @@ fun createKotlinTestVersionedDocTask(version: String, isLatest: Boolean, stdlibD } } +fun GradleDokkaSourceSetBuilder.perPackageOption(packageNamePrefix: String, action: Action) = + perPackageOption { + matchingRegex.set(Regex.escape(packageNamePrefix) + "(\$|\\..*)") + action(this) + } + +fun GradleDokkaSourceSetBuilder.sourceLinksFromRoot() { + sourceLink { + localDirectory.set(file(localRoot)) + remoteUrl.set(baseUrl) + remoteLineSuffix.set("#L") + } +} gradle.projectsEvaluated { val versions = listOf("1.0", "1.1", "1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "1.8")