From dc6d2edf511ec38b2ecf3c583e97251a3fa1059d Mon Sep 17 00:00:00 2001 From: Abduqodiri Qurbonzoda Date: Tue, 28 Jun 2022 03:06:46 +0300 Subject: [PATCH] Implement a workaround for PathTreeWalk @SinceKotlin #KT-52977 --- .../tools/kotlin-stdlib-docs/build.gradle | 5 ++++ .../kotlin_big/build.gradle | 23 +++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/libraries/tools/kotlin-stdlib-docs/build.gradle b/libraries/tools/kotlin-stdlib-docs/build.gradle index 752e95855c3..50d03fc5171 100644 --- a/libraries/tools/kotlin-stdlib-docs/build.gradle +++ b/libraries/tools/kotlin-stdlib-docs/build.gradle @@ -49,6 +49,11 @@ task callDokka(type: Exec, dependsOn: setupCallDokka) { doFirst { def logFile = file("$buildDir/dokka.log") standardOutput = new org.apache.tools.ant.util.TeeOutputStream(System.out, new FileOutputStream(logFile)) + + pKotlinBig().commentOutSinceKotlinForPathWalkOption.call() + } + doLast { + pKotlinBig().uncommentSinceKotlinForPathWalkOption.call() } } diff --git a/libraries/tools/kotlin-stdlib-docs/kotlin_big/build.gradle b/libraries/tools/kotlin-stdlib-docs/kotlin_big/build.gradle index a19587078bf..063b333201a 100644 --- a/libraries/tools/kotlin-stdlib-docs/kotlin_big/build.gradle +++ b/libraries/tools/kotlin-stdlib-docs/kotlin_big/build.gradle @@ -65,3 +65,26 @@ modules.forEach { module -> project.extensions.github_revision = githubRevision project.extensions.kotlin_root = kotlinRootDir project.extensions.kotlin_libs = kotlinLibsDir + +// TODO: Eliminate this workaround when KT-52977 gets fixed in the Kotlin compiler used in Dokka +final File pathWalkOption = new File("$kotlinRootDir/libraries/stdlib/jdk7/src/kotlin/io/path/PathWalkOption.kt") + +project.extensions.commentOutSinceKotlinForPathWalkOption = { + final List lines = pathWalkOption.readLines() + for (def i = 0; i < lines.size(); i++) { + if (lines[i] == "@SinceKotlin(\"1.7\")") { + lines[i] = "//" + lines[i] + } + } + pathWalkOption.write(String.join("\n", lines)) +} + +project.extensions.uncommentSinceKotlinForPathWalkOption = { + final List lines = pathWalkOption.readLines() + for (def i = 0; i < lines.size(); i++) { + if (lines[i] == "//@SinceKotlin(\"1.7\")") { + lines[i] = lines[i].substring(2) + } + } + pathWalkOption.write(String.join("\n", lines)) +} \ No newline at end of file