1 import org.jetbrains.dokka.gradle.* 2 import java.net.* 3 4 /* 5 * Copyright 2016-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 6 */ 7 8 // Configures generation of JavaDoc & Dokka artifacts 9 apply<DokkaPlugin>() 10 //apply<JavaPlugin>() 11 GradleDokkaSourceSetBuildernull12fun GradleDokkaSourceSetBuilder.makeLinkMapping(projectDir: File) { 13 sourceLink { 14 val relPath = rootProject.projectDir.toPath().relativize(projectDir.toPath()) 15 localDirectory.set(projectDir.resolve("src")) 16 remoteUrl.set(URL("https://github.com/kotlin/kotlinx.coroutines/tree/master/$relPath/src")) 17 remoteLineSuffix.set("#L") 18 } 19 } 20 21 val knit_version: String by project <lambda>null22tasks.withType(DokkaTaskPartial::class).configureEach { 23 dependencies { 24 plugins("org.jetbrains.kotlinx:dokka-pathsaver-plugin:$knit_version") 25 } 26 } 27 <lambda>null28tasks.withType(DokkaTaskPartial::class).configureEach { 29 suppressInheritedMembers.set(true) 30 dokkaSourceSets.configureEach { 31 jdkVersion.set(11) 32 includes.from("README.md") 33 noStdlibLink.set(true) 34 35 externalDocumentationLink { 36 url.set(URL("https://kotlinlang.org/api/latest/jvm/stdlib/")) 37 packageListUrl.set(rootProject.projectDir.toPath().resolve("site/stdlib.package.list").toUri().toURL()) 38 } 39 40 if (!project.isMultiplatform) { 41 dependsOn(project.configurations["compileClasspath"]) 42 } 43 } 44 } 45 46 if (project.name == "kotlinx-coroutines-core") { 47 // Custom configuration for MPP modules <lambda>null48 tasks.withType(DokkaTaskPartial::class).configureEach { 49 dokkaSourceSets { 50 val commonMain by getting { 51 makeLinkMapping(project.file("common")) 52 } 53 54 val nativeMain by getting { 55 makeLinkMapping(project.file("native")) 56 } 57 58 val jsMain by getting { 59 makeLinkMapping(project.file("js")) 60 } 61 62 val jvmMain by getting { 63 makeLinkMapping(project.file("jvm")) 64 } 65 } 66 } 67 } 68