1*57b5a4a6SAndroid Build Coastguard Worker/* 2*57b5a4a6SAndroid Build Coastguard Worker * Copyright 2017-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3*57b5a4a6SAndroid Build Coastguard Worker */ 4*57b5a4a6SAndroid Build Coastguard Worker 5*57b5a4a6SAndroid Build Coastguard Workerapply plugin: 'kotlin' 6*57b5a4a6SAndroid Build Coastguard Workerapply plugin: 'org.jetbrains.dokka' 7*57b5a4a6SAndroid Build Coastguard Worker 8*57b5a4a6SAndroid Build Coastguard Workerdef documentedSubprojects = ["kotlinx-serialization-core", 9*57b5a4a6SAndroid Build Coastguard Worker "kotlinx-serialization-json", 10*57b5a4a6SAndroid Build Coastguard Worker "kotlinx-serialization-json-okio", 11*57b5a4a6SAndroid Build Coastguard Worker "kotlinx-serialization-cbor", 12*57b5a4a6SAndroid Build Coastguard Worker "kotlinx-serialization-properties", 13*57b5a4a6SAndroid Build Coastguard Worker "kotlinx-serialization-hocon", 14*57b5a4a6SAndroid Build Coastguard Worker "kotlinx-serialization-protobuf"] 15*57b5a4a6SAndroid Build Coastguard Worker 16*57b5a4a6SAndroid Build Coastguard Workersubprojects { 17*57b5a4a6SAndroid Build Coastguard Worker if (!(name in documentedSubprojects)) return 18*57b5a4a6SAndroid Build Coastguard Worker apply plugin: 'org.jetbrains.dokka' 19*57b5a4a6SAndroid Build Coastguard Worker dependencies { 20*57b5a4a6SAndroid Build Coastguard Worker dokkaPlugin("org.jetbrains.kotlinx:dokka-pathsaver-plugin:$knit_version") 21*57b5a4a6SAndroid Build Coastguard Worker } 22*57b5a4a6SAndroid Build Coastguard Worker 23*57b5a4a6SAndroid Build Coastguard Worker tasks.named('dokkaHtmlPartial') { 24*57b5a4a6SAndroid Build Coastguard Worker outputDirectory = file("build/dokka") 25*57b5a4a6SAndroid Build Coastguard Worker pluginsMapConfiguration.set(["org.jetbrains.dokka.base.DokkaBase": """{ "templatesDir": "${rootProject.projectDir.toString().replace('\\', '/')}/dokka-templates" }"""]) 26*57b5a4a6SAndroid Build Coastguard Worker 27*57b5a4a6SAndroid Build Coastguard Worker dokkaSourceSets { 28*57b5a4a6SAndroid Build Coastguard Worker configureEach { 29*57b5a4a6SAndroid Build Coastguard Worker includes.from(rootProject.file('dokka/moduledoc.md').path) 30*57b5a4a6SAndroid Build Coastguard Worker 31*57b5a4a6SAndroid Build Coastguard Worker perPackageOption { 32*57b5a4a6SAndroid Build Coastguard Worker matchingRegex.set("kotlinx\\.serialization(\$|\\.).*") 33*57b5a4a6SAndroid Build Coastguard Worker reportUndocumented.set(true) 34*57b5a4a6SAndroid Build Coastguard Worker skipDeprecated.set(true) 35*57b5a4a6SAndroid Build Coastguard Worker } 36*57b5a4a6SAndroid Build Coastguard Worker 37*57b5a4a6SAndroid Build Coastguard Worker // Internal API 38*57b5a4a6SAndroid Build Coastguard Worker perPackageOption { 39*57b5a4a6SAndroid Build Coastguard Worker matchingRegex.set("kotlinx\\.serialization.internal(\$|\\.).*") 40*57b5a4a6SAndroid Build Coastguard Worker suppress.set(true) 41*57b5a4a6SAndroid Build Coastguard Worker } 42*57b5a4a6SAndroid Build Coastguard Worker 43*57b5a4a6SAndroid Build Coastguard Worker // Internal JSON API 44*57b5a4a6SAndroid Build Coastguard Worker perPackageOption { 45*57b5a4a6SAndroid Build Coastguard Worker matchingRegex.set("kotlinx\\.serialization.json.internal(\$|\\.).*") 46*57b5a4a6SAndroid Build Coastguard Worker suppress.set(true) 47*57b5a4a6SAndroid Build Coastguard Worker reportUndocumented.set(false) 48*57b5a4a6SAndroid Build Coastguard Worker } 49*57b5a4a6SAndroid Build Coastguard Worker 50*57b5a4a6SAndroid Build Coastguard Worker // Workaround for typealias 51*57b5a4a6SAndroid Build Coastguard Worker perPackageOption { 52*57b5a4a6SAndroid Build Coastguard Worker matchingRegex.set("kotlinx\\.serialization.protobuf.internal(\$|\\.).*") 53*57b5a4a6SAndroid Build Coastguard Worker suppress.set(true) 54*57b5a4a6SAndroid Build Coastguard Worker reportUndocumented.set(false) 55*57b5a4a6SAndroid Build Coastguard Worker } 56*57b5a4a6SAndroid Build Coastguard Worker 57*57b5a4a6SAndroid Build Coastguard Worker // Deprecated migrations 58*57b5a4a6SAndroid Build Coastguard Worker perPackageOption { 59*57b5a4a6SAndroid Build Coastguard Worker matchingRegex.set("kotlinx\\.protobuf(\$|\\.).*") 60*57b5a4a6SAndroid Build Coastguard Worker reportUndocumented.set(true) 61*57b5a4a6SAndroid Build Coastguard Worker skipDeprecated.set(true) 62*57b5a4a6SAndroid Build Coastguard Worker } 63*57b5a4a6SAndroid Build Coastguard Worker 64*57b5a4a6SAndroid Build Coastguard Worker // Deprecated migrations 65*57b5a4a6SAndroid Build Coastguard Worker perPackageOption { 66*57b5a4a6SAndroid Build Coastguard Worker matchingRegex.set("org\\.jetbrains\\.kotlinx\\.serialization\\.config(\$|\\.).*") 67*57b5a4a6SAndroid Build Coastguard Worker reportUndocumented.set(false) 68*57b5a4a6SAndroid Build Coastguard Worker skipDeprecated.set(true) 69*57b5a4a6SAndroid Build Coastguard Worker } 70*57b5a4a6SAndroid Build Coastguard Worker 71*57b5a4a6SAndroid Build Coastguard Worker // JS/Native implementation of JVM-only `org.intellij.lang.annotations.Language` class to add syntax support by IDE. 72*57b5a4a6SAndroid Build Coastguard Worker perPackageOption { 73*57b5a4a6SAndroid Build Coastguard Worker matchingRegex.set("org\\.intellij\\.lang\\.annotations(\$|\\.).*") 74*57b5a4a6SAndroid Build Coastguard Worker suppress.set(true) 75*57b5a4a6SAndroid Build Coastguard Worker } 76*57b5a4a6SAndroid Build Coastguard Worker 77*57b5a4a6SAndroid Build Coastguard Worker sourceLink { 78*57b5a4a6SAndroid Build Coastguard Worker localDirectory.set(rootDir) 79*57b5a4a6SAndroid Build Coastguard Worker remoteUrl.set(new URL("https://github.com/Kotlin/kotlinx.serialization/tree/master")) 80*57b5a4a6SAndroid Build Coastguard Worker remoteLineSuffix.set("#L") 81*57b5a4a6SAndroid Build Coastguard Worker } 82*57b5a4a6SAndroid Build Coastguard Worker } 83*57b5a4a6SAndroid Build Coastguard Worker } 84*57b5a4a6SAndroid Build Coastguard Worker } 85*57b5a4a6SAndroid Build Coastguard Worker} 86*57b5a4a6SAndroid Build Coastguard Worker 87*57b5a4a6SAndroid Build Coastguard Worker// Knit relies on Dokka task and it's pretty convenient 88*57b5a4a6SAndroid Build Coastguard Workertask dokka(dependsOn: dokkaHtmlMultiModule) {} 89