[Gradle] Introduce public KotlinGradlePluginDsl marker annotation

The purpose of this annotation is to distinguish different levels of DSL
 in KGP:
- top level extension
- target level DSL
- compilation level DSL

With this marker user should not be able to call implicit methods from
upper levels of DSL, and it should reduce confusion with DSL usage.

^KT-57292 In Progress
This commit is contained in:
Yahor Berdnikau
2023-12-05 22:59:43 +01:00
committed by Space Team
parent 74b4adf8e2
commit 36e85fec95
15 changed files with 68 additions and 42 deletions
@@ -11,22 +11,20 @@ val jsStdlibSources = "${projectDir}/../stdlib/js/src"
@Suppress("UNUSED_VARIABLE")
kotlin {
explicitApi()
js {
sourceSets {
val main by getting {
if (!kotlinBuildProperties.isInIdeaSync) {
kotlin.srcDir("$jsStdlibSources/org.w3c")
kotlin.srcDir("$jsStdlibSources/kotlinx")
kotlin.srcDir("$jsStdlibSources/kotlin/browser")
kotlin.srcDir("$jsStdlibSources/kotlin/dom")
}
dependencies {
api(project(":kotlin-stdlib"))
}
js()
sourceSets {
val main by getting {
if (!kotlinBuildProperties.isInIdeaSync) {
kotlin.srcDir("$jsStdlibSources/org.w3c")
kotlin.srcDir("$jsStdlibSources/kotlinx")
kotlin.srcDir("$jsStdlibSources/kotlin/browser")
kotlin.srcDir("$jsStdlibSources/kotlin/dom")
}
dependencies {
api(project(":kotlin-stdlib"))
}
}
val main by compilations.getting
val test by compilations.getting
}
}