From d54b5f8e85ab578a116ca0501458786cb9fd47a2 Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Fri, 24 Jun 2022 09:38:41 +0300 Subject: [PATCH] Prevent serializing OptIn-related annotations to builtins Required for KT-52932: to avoid dealing with opt-ins when serializing experimental parts of builtins --- core/builtins/build.gradle.kts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/core/builtins/build.gradle.kts b/core/builtins/build.gradle.kts index faacec5747d..c5e855c0f36 100644 --- a/core/builtins/build.gradle.kts +++ b/core/builtins/build.gradle.kts @@ -12,6 +12,7 @@ val kotlinReflectCommon = fileFrom(rootDir, "libraries/stdlib/src/kotlin/reflect val kotlinReflectJvm = fileFrom(rootDir, "libraries/stdlib/jvm/src/kotlin/reflect") val kotlinRangesCommon = fileFrom(rootDir, "libraries/stdlib/src/kotlin/ranges") val kotlinCollectionsCommon = fileFrom(rootDir, "libraries/stdlib/src/kotlin/collections") +val kotlinAnnotationsCommon = fileFrom(rootDir, "libraries/stdlib/src/kotlin/annotations") val builtinsCherryPicked = fileFrom(buildDir, "src/reflect") val rangesCherryPicked = fileFrom(buildDir, "src/ranges") val builtinsCherryPickedJvm = fileFrom(buildDir, "src-jvm/reflect") @@ -36,10 +37,15 @@ val runtimeElementsJvm by configurations.creating { val prepareRangeSources by tasks.registering(Sync::class) { from(kotlinRangesCommon) { exclude("Ranges.kt") + filter { line -> line.takeUnless { "@OptIn" in it } } } from(kotlinCollectionsCommon) { include("PrimitiveIterators.kt") } + from(kotlinAnnotationsCommon) { + include("ExperimentalStdlibApi.kt") + filter { line -> line.takeUnless { "@RequiresOptIn" in it } } + } into(rangesCherryPicked) }