[Gradle][MPP] Mark KotlinTargetsContainer and KotlinTargetHierarchyBuilder with KotlinTargetsDsl annotation
To prevent confusing shortcuts defined on `KotlinTargetsContainer`
when declaring a KotlinTargetHierarchy:
e.g.
```kotlin
kotlin {
targetHierarchy.default {
common {
ios() // <- [DSL_SCOPE_VIOLATION]
//'fun ios(): Unit' can't be called in this context
// by implicit receiver. Use the explicit one if necessary
}
}
}
```
^KT-53570 Verification Pending
This commit is contained in:
committed by
Space Team
parent
0c114b9664
commit
da8a18920d
+3
@@ -1121,6 +1121,9 @@ public abstract interface class org/jetbrains/kotlin/gradle/plugin/KotlinTargets
|
||||
public abstract fun getPresets ()Lorg/gradle/api/NamedDomainObjectCollection;
|
||||
}
|
||||
|
||||
public abstract interface annotation class org/jetbrains/kotlin/gradle/plugin/KotlinTargetsDsl : java/lang/annotation/Annotation {
|
||||
}
|
||||
|
||||
public abstract interface class org/jetbrains/kotlin/gradle/plugin/KotlinTestRun : org/jetbrains/kotlin/gradle/plugin/KotlinExecution {
|
||||
public abstract fun filter (Lgroovy/lang/Closure;)V
|
||||
public abstract fun filter (Lkotlin/jvm/functions/Function1;)V
|
||||
|
||||
+1
@@ -4,6 +4,7 @@ package org.jetbrains.kotlin.gradle.plugin
|
||||
|
||||
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
|
||||
|
||||
@KotlinTargetsDsl
|
||||
@ExperimentalKotlinGradlePluginApi
|
||||
interface KotlinTargetHierarchyBuilder {
|
||||
/* Declaring groups */
|
||||
|
||||
+1
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.gradle.plugin
|
||||
import org.gradle.api.NamedDomainObjectCollection
|
||||
import org.gradle.api.NamedDomainObjectContainer
|
||||
|
||||
@KotlinTargetsDsl
|
||||
interface KotlinTargetsContainer {
|
||||
val targets: NamedDomainObjectCollection<KotlinTarget>
|
||||
}
|
||||
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
/*
|
||||
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.gradle.plugin
|
||||
|
||||
@DslMarker
|
||||
@Retention(AnnotationRetention.SOURCE)
|
||||
annotation class KotlinTargetsDsl
|
||||
Reference in New Issue
Block a user