[Gradle] ExternalKotlinTarget Api: Implement 'configureIdeImport' API
^KT-55010 Verification Pending
This commit is contained in:
committed by
Space Team
parent
19f4e39ee7
commit
83af85706d
@@ -7,6 +7,7 @@ dependencies {
|
|||||||
compileOnly(gradleKotlinDsl())
|
compileOnly(gradleKotlinDsl())
|
||||||
compileOnly("com.android.tools.build:gradle:7.2.1")
|
compileOnly("com.android.tools.build:gradle:7.2.1")
|
||||||
compileOnly(project(":kotlin-gradle-plugin"))
|
compileOnly(project(":kotlin-gradle-plugin"))
|
||||||
|
compileOnly(project(":kotlin-gradle-plugin-idea"))
|
||||||
}
|
}
|
||||||
|
|
||||||
configureKotlinCompileTasksGradleCompatibility()
|
configureKotlinCompileTasksGradleCompatibility()
|
||||||
|
|||||||
+23
@@ -0,0 +1,23 @@
|
|||||||
|
/*
|
||||||
|
* 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.android
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.mpp.external.extras
|
||||||
|
import org.jetbrains.kotlin.tooling.core.extrasKeyOf
|
||||||
|
|
||||||
|
class AndroidKotlinSourceSet {
|
||||||
|
companion object {
|
||||||
|
private val extrasKey = extrasKeyOf<AndroidKotlinSourceSet>()
|
||||||
|
|
||||||
|
var KotlinSourceSet.android: AndroidKotlinSourceSet?
|
||||||
|
get() = extras[extrasKey]
|
||||||
|
internal set(value) {
|
||||||
|
if (value != null) extras[extrasKey] = value
|
||||||
|
else extras.remove(extrasKey)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+11
@@ -14,10 +14,12 @@ import org.gradle.api.attributes.java.TargetJvmEnvironment
|
|||||||
import org.gradle.api.attributes.java.TargetJvmEnvironment.TARGET_JVM_ENVIRONMENT_ATTRIBUTE
|
import org.gradle.api.attributes.java.TargetJvmEnvironment.TARGET_JVM_ENVIRONMENT_ATTRIBUTE
|
||||||
import org.gradle.kotlin.dsl.getByType
|
import org.gradle.kotlin.dsl.getByType
|
||||||
import org.gradle.kotlin.dsl.named
|
import org.gradle.kotlin.dsl.named
|
||||||
|
import org.jetbrains.kotlin.gradle.android.AndroidKotlinSourceSet.Companion.android
|
||||||
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
|
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
|
||||||
import org.jetbrains.kotlin.gradle.kpm.external.ExternalVariantApi
|
import org.jetbrains.kotlin.gradle.kpm.external.ExternalVariantApi
|
||||||
import org.jetbrains.kotlin.gradle.kpm.external.project
|
import org.jetbrains.kotlin.gradle.kpm.external.project
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
|
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.ide.IdeMultiplatformImport
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.external.*
|
import org.jetbrains.kotlin.gradle.plugin.mpp.external.*
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.external.ExternalKotlinTargetDescriptor.TargetFactory
|
import org.jetbrains.kotlin.gradle.plugin.mpp.external.ExternalKotlinTargetDescriptor.TargetFactory
|
||||||
|
|
||||||
@@ -81,6 +83,15 @@ fun KotlinMultiplatformExtension.androidTargetPrototype(): PrototypeAndroidTarge
|
|||||||
configuration.attributes.attribute(KotlinPlatformType.attribute, KotlinPlatformType.androidJvm)
|
configuration.attributes.attribute(KotlinPlatformType.attribute, KotlinPlatformType.androidJvm)
|
||||||
configuration.attributes.attribute(TARGET_JVM_ENVIRONMENT_ATTRIBUTE, project.objects.named(TargetJvmEnvironment.ANDROID))
|
configuration.attributes.attribute(TARGET_JVM_ENVIRONMENT_ATTRIBUTE, project.objects.named(TargetJvmEnvironment.ANDROID))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
configureIdeImport {
|
||||||
|
registerDependencyResolver(
|
||||||
|
AndroidBootClasspathIdeDependencyResolver(project),
|
||||||
|
constraint = IdeMultiplatformImport.SourceSetConstraint { sourceSet -> sourceSet.android != null },
|
||||||
|
phase = IdeMultiplatformImport.DependencyResolutionPhase.BinaryDependencyResolution,
|
||||||
|
level = IdeMultiplatformImport.DependencyResolutionLevel.Default
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
+22
-1
@@ -9,8 +9,29 @@ import com.android.build.gradle.BaseExtension
|
|||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
||||||
import org.gradle.api.file.FileCollection
|
import org.gradle.api.file.FileCollection
|
||||||
import org.gradle.kotlin.dsl.getByType
|
import org.gradle.kotlin.dsl.getByType
|
||||||
|
import org.jetbrains.kotlin.gradle.android.AndroidKotlinSourceSet.Companion.android
|
||||||
|
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinBinaryCoordinates
|
||||||
|
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinDependency
|
||||||
|
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinResolvedBinaryDependency
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.ide.IdeDependencyResolver
|
||||||
|
import org.jetbrains.kotlin.tooling.core.mutableExtrasOf
|
||||||
import java.util.concurrent.Callable
|
import java.util.concurrent.Callable
|
||||||
|
|
||||||
internal fun Project.androidBootClasspath(): FileCollection {
|
internal fun Project.androidBootClasspath(): FileCollection {
|
||||||
return project.files(Callable { project.extensions.getByType<BaseExtension>().bootClasspath })
|
return project.files(Callable { project.extensions.getByType<BaseExtension>().bootClasspath })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal class AndroidBootClasspathIdeDependencyResolver(private val project: Project) : IdeDependencyResolver {
|
||||||
|
override fun resolve(sourceSet: KotlinSourceSet): Set<IdeaKotlinDependency> {
|
||||||
|
if (sourceSet.android == null) return emptySet()
|
||||||
|
return project.androidBootClasspath().files.map { file ->
|
||||||
|
IdeaKotlinResolvedBinaryDependency(
|
||||||
|
binaryType = IdeaKotlinDependency.CLASSPATH_BINARY_TYPE,
|
||||||
|
binaryFile = file,
|
||||||
|
extras = mutableExtrasOf(),
|
||||||
|
coordinates = IdeaKotlinBinaryCoordinates("com.android", "sdk", "7.4")
|
||||||
|
)
|
||||||
|
}.toSet()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
+11
-5
@@ -6,16 +6,22 @@
|
|||||||
package org.jetbrains.kotlin.gradle.android
|
package org.jetbrains.kotlin.gradle.android
|
||||||
|
|
||||||
import com.android.build.gradle.internal.publishing.AndroidArtifacts
|
import com.android.build.gradle.internal.publishing.AndroidArtifacts
|
||||||
|
import com.android.build.gradle.internal.publishing.AndroidArtifacts.ARTIFACT_TYPE
|
||||||
import org.gradle.api.attributes.java.TargetJvmEnvironment
|
import org.gradle.api.attributes.java.TargetJvmEnvironment
|
||||||
|
import org.gradle.api.attributes.java.TargetJvmEnvironment.TARGET_JVM_ENVIRONMENT_ATTRIBUTE
|
||||||
import org.gradle.kotlin.dsl.named
|
import org.gradle.kotlin.dsl.named
|
||||||
|
import org.jetbrains.kotlin.gradle.android.AndroidKotlinSourceSet.Companion.android
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.external.ExternalKotlinCompilationDescriptor
|
import org.jetbrains.kotlin.gradle.plugin.mpp.external.ExternalKotlinCompilationDescriptor
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.external.ExternalKotlinCompilationDescriptor.DecoratedKotlinCompilationFactory
|
import org.jetbrains.kotlin.gradle.plugin.mpp.external.ExternalKotlinCompilationDescriptor.DecoratedKotlinCompilationFactory
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.external.createCompilation
|
import org.jetbrains.kotlin.gradle.plugin.mpp.external.createCompilation
|
||||||
|
|
||||||
|
|
||||||
internal fun PrototypeAndroidTarget.createAndroidCompilation(name: String): PrototypeAndroidCompilation {
|
internal fun PrototypeAndroidTarget.createAndroidCompilation(name: String): PrototypeAndroidCompilation {
|
||||||
return createCompilation {
|
return createCompilation {
|
||||||
compilationName = name
|
compilationName = name
|
||||||
defaultSourceSet = kotlin.sourceSets.maybeCreate(camelCase("prototype", targetName, name))
|
defaultSourceSet = kotlin.sourceSets.maybeCreate(camelCase("prototype", targetName, name)).apply {
|
||||||
|
android = AndroidKotlinSourceSet()
|
||||||
|
}
|
||||||
decoratedKotlinCompilationFactory = DecoratedKotlinCompilationFactory(::PrototypeAndroidCompilation)
|
decoratedKotlinCompilationFactory = DecoratedKotlinCompilationFactory(::PrototypeAndroidCompilation)
|
||||||
compileTaskName = camelCase("prototype", "compile", targetName, name)
|
compileTaskName = camelCase("prototype", "compile", targetName, name)
|
||||||
|
|
||||||
@@ -35,14 +41,14 @@ internal fun PrototypeAndroidTarget.createAndroidCompilation(name: String): Prot
|
|||||||
configure { compilation ->
|
configure { compilation ->
|
||||||
/* Setup attributes for the compile dependencies */
|
/* Setup attributes for the compile dependencies */
|
||||||
compilation.configurations.compileDependencyConfiguration.apply {
|
compilation.configurations.compileDependencyConfiguration.apply {
|
||||||
attributes.attribute(AndroidArtifacts.ARTIFACT_TYPE, AndroidArtifacts.ArtifactType.CLASSES_JAR.type)
|
attributes.attribute(ARTIFACT_TYPE, AndroidArtifacts.ArtifactType.CLASSES_JAR.type)
|
||||||
attributes.attribute(TargetJvmEnvironment.TARGET_JVM_ENVIRONMENT_ATTRIBUTE, project.objects.named(TargetJvmEnvironment.ANDROID))
|
attributes.attribute(TARGET_JVM_ENVIRONMENT_ATTRIBUTE, project.objects.named(TargetJvmEnvironment.ANDROID))
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Setup attributes for the runtime dependencies */
|
/* Setup attributes for the runtime dependencies */
|
||||||
compilation.configurations.runtimeDependencyConfiguration?.apply {
|
compilation.configurations.runtimeDependencyConfiguration?.apply {
|
||||||
attributes.attribute(AndroidArtifacts.ARTIFACT_TYPE, AndroidArtifacts.ArtifactType.CLASSES_JAR.type)
|
attributes.attribute(ARTIFACT_TYPE, AndroidArtifacts.ArtifactType.CLASSES_JAR.type)
|
||||||
attributes.attribute(TargetJvmEnvironment.TARGET_JVM_ENVIRONMENT_ATTRIBUTE, project.objects.named(TargetJvmEnvironment.ANDROID))
|
attributes.attribute(TARGET_JVM_ENVIRONMENT_ATTRIBUTE, project.objects.named(TargetJvmEnvironment.ANDROID))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+21
-3
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.gradle.plugin.mpp.external
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.gradle.ExternalKotlinTargetApi
|
import org.jetbrains.kotlin.gradle.ExternalKotlinTargetApi
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
|
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.ide.IdeMultiplatformImport
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.external.ExternalKotlinTargetDescriptor.TargetFactory
|
import org.jetbrains.kotlin.gradle.plugin.mpp.external.ExternalKotlinTargetDescriptor.TargetFactory
|
||||||
import kotlin.properties.Delegates
|
import kotlin.properties.Delegates
|
||||||
|
|
||||||
@@ -21,12 +22,13 @@ interface ExternalKotlinTargetDescriptor<T : DecoratedExternalKotlinTarget> {
|
|||||||
val platformType: KotlinPlatformType
|
val platformType: KotlinPlatformType
|
||||||
val targetFactory: TargetFactory<T>
|
val targetFactory: TargetFactory<T>
|
||||||
|
|
||||||
val configure: ((T) -> Unit)?
|
|
||||||
|
|
||||||
val apiElements: ExternalKotlinTargetConfigurationDescriptor<T>
|
val apiElements: ExternalKotlinTargetConfigurationDescriptor<T>
|
||||||
val runtimeElements: ExternalKotlinTargetConfigurationDescriptor<T>
|
val runtimeElements: ExternalKotlinTargetConfigurationDescriptor<T>
|
||||||
val apiElementsPublished: ExternalKotlinTargetConfigurationDescriptor<T>
|
val apiElementsPublished: ExternalKotlinTargetConfigurationDescriptor<T>
|
||||||
val runtimeElementsPublished: ExternalKotlinTargetConfigurationDescriptor<T>
|
val runtimeElementsPublished: ExternalKotlinTargetConfigurationDescriptor<T>
|
||||||
|
|
||||||
|
val configure: ((T) -> Unit)?
|
||||||
|
val configureIdeImport: (IdeMultiplatformImport.() -> Unit)?
|
||||||
}
|
}
|
||||||
|
|
||||||
@ExternalKotlinTargetApi
|
@ExternalKotlinTargetApi
|
||||||
@@ -56,6 +58,20 @@ class ExternalKotlinTargetDescriptorBuilder<T : DecoratedExternalKotlinTarget> i
|
|||||||
|
|
||||||
var configure: ((T) -> Unit)? = null
|
var configure: ((T) -> Unit)? = null
|
||||||
|
|
||||||
|
fun configure(action: (T) -> Unit) {
|
||||||
|
val configure = this.configure
|
||||||
|
if (configure == null) this.configure = action
|
||||||
|
else this.configure = { configure(it); action(it) }
|
||||||
|
}
|
||||||
|
|
||||||
|
var configureIdeImport: (IdeMultiplatformImport.() -> Unit)? = null
|
||||||
|
|
||||||
|
fun configureIdeImport(action: IdeMultiplatformImport.() -> Unit) {
|
||||||
|
val configureIdeImport = this.configureIdeImport
|
||||||
|
if (configureIdeImport == null) this.configureIdeImport = action
|
||||||
|
else this.configureIdeImport = { configureIdeImport(); action() }
|
||||||
|
}
|
||||||
|
|
||||||
internal fun build(): ExternalKotlinTargetDescriptor<T> = ExternalKotlinTargetDescriptorImpl(
|
internal fun build(): ExternalKotlinTargetDescriptor<T> = ExternalKotlinTargetDescriptorImpl(
|
||||||
targetName = targetName,
|
targetName = targetName,
|
||||||
platformType = platformType,
|
platformType = platformType,
|
||||||
@@ -64,7 +80,8 @@ class ExternalKotlinTargetDescriptorBuilder<T : DecoratedExternalKotlinTarget> i
|
|||||||
runtimeElements = runtimeElements.build(),
|
runtimeElements = runtimeElements.build(),
|
||||||
apiElementsPublished = apiElementsPublished.build(),
|
apiElementsPublished = apiElementsPublished.build(),
|
||||||
runtimeElementsPublished = runtimeElementsPublished.build(),
|
runtimeElementsPublished = runtimeElementsPublished.build(),
|
||||||
configure = configure
|
configure = configure,
|
||||||
|
configureIdeImport = configureIdeImport
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -77,6 +94,7 @@ private data class ExternalKotlinTargetDescriptorImpl<T : DecoratedExternalKotli
|
|||||||
override val apiElementsPublished: ExternalKotlinTargetConfigurationDescriptor<T>,
|
override val apiElementsPublished: ExternalKotlinTargetConfigurationDescriptor<T>,
|
||||||
override val runtimeElementsPublished: ExternalKotlinTargetConfigurationDescriptor<T>,
|
override val runtimeElementsPublished: ExternalKotlinTargetConfigurationDescriptor<T>,
|
||||||
override val configure: ((T) -> Unit)?,
|
override val configure: ((T) -> Unit)?,
|
||||||
|
override val configureIdeImport: (IdeMultiplatformImport.() -> Unit)?,
|
||||||
) : ExternalKotlinTargetDescriptor<T>
|
) : ExternalKotlinTargetDescriptor<T>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+14
@@ -0,0 +1,14 @@
|
|||||||
|
/*
|
||||||
|
* 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.mpp.external
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.gradle.ExternalKotlinTargetApi
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.sources.internal
|
||||||
|
import org.jetbrains.kotlin.tooling.core.MutableExtras
|
||||||
|
|
||||||
|
@ExternalKotlinTargetApi
|
||||||
|
val KotlinSourceSet.extras: MutableExtras get() = this.internal.extras
|
||||||
+2
@@ -13,6 +13,7 @@ import org.gradle.api.attributes.Usage
|
|||||||
import org.gradle.jvm.tasks.Jar
|
import org.gradle.jvm.tasks.Jar
|
||||||
import org.jetbrains.kotlin.gradle.ExternalKotlinTargetApi
|
import org.jetbrains.kotlin.gradle.ExternalKotlinTargetApi
|
||||||
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
|
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.ide.kotlinIdeMultiplatformImport
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinUsages
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinUsages
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.markConsumable
|
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.markConsumable
|
||||||
import org.jetbrains.kotlin.gradle.plugin.usesPlatformOf
|
import org.jetbrains.kotlin.gradle.plugin.usesPlatformOf
|
||||||
@@ -77,6 +78,7 @@ fun <T : DecoratedExternalKotlinTarget> KotlinMultiplatformExtension.createExter
|
|||||||
descriptor.runtimeElements.configure?.invoke(decorated, runtimeElementsConfiguration)
|
descriptor.runtimeElements.configure?.invoke(decorated, runtimeElementsConfiguration)
|
||||||
descriptor.apiElementsPublished.configure?.invoke(decorated, apiElementsPublishedConfiguration)
|
descriptor.apiElementsPublished.configure?.invoke(decorated, apiElementsPublishedConfiguration)
|
||||||
descriptor.runtimeElementsPublished.configure?.invoke(decorated, runtimeElementsPublishedConfiguration)
|
descriptor.runtimeElementsPublished.configure?.invoke(decorated, runtimeElementsPublishedConfiguration)
|
||||||
|
descriptor.configureIdeImport?.invoke(project.kotlinIdeMultiplatformImport)
|
||||||
|
|
||||||
targets.add(decorated)
|
targets.add(decorated)
|
||||||
decorated.logger.info("Created ${descriptor.platformType} target")
|
decorated.logger.info("Created ${descriptor.platformType} target")
|
||||||
|
|||||||
+4
-1
@@ -11,14 +11,15 @@ import org.gradle.api.Action
|
|||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
||||||
import org.gradle.api.file.SourceDirectorySet
|
import org.gradle.api.file.SourceDirectorySet
|
||||||
import org.jetbrains.kotlin.build.DEFAULT_KOTLIN_SOURCE_FILES_EXTENSIONS
|
import org.jetbrains.kotlin.build.DEFAULT_KOTLIN_SOURCE_FILES_EXTENSIONS
|
||||||
import org.jetbrains.kotlin.gradle.InternalKotlinGradlePluginApi
|
|
||||||
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
|
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinDependencyHandler
|
import org.jetbrains.kotlin.gradle.plugin.KotlinDependencyHandler
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
||||||
import org.jetbrains.kotlin.gradle.plugin.LanguageSettingsBuilder
|
import org.jetbrains.kotlin.gradle.plugin.LanguageSettingsBuilder
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.*
|
import org.jetbrains.kotlin.gradle.plugin.mpp.*
|
||||||
import org.jetbrains.kotlin.gradle.utils.*
|
import org.jetbrains.kotlin.gradle.utils.*
|
||||||
|
import org.jetbrains.kotlin.tooling.core.MutableExtras
|
||||||
import org.jetbrains.kotlin.tooling.core.closure
|
import org.jetbrains.kotlin.tooling.core.closure
|
||||||
|
import org.jetbrains.kotlin.tooling.core.mutableExtrasOf
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.util.*
|
import java.util.*
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
@@ -30,6 +31,8 @@ abstract class DefaultKotlinSourceSet @Inject constructor(
|
|||||||
val displayName: String
|
val displayName: String
|
||||||
) : AbstractKotlinSourceSet() {
|
) : AbstractKotlinSourceSet() {
|
||||||
|
|
||||||
|
override val extras: MutableExtras = mutableExtrasOf()
|
||||||
|
|
||||||
override val apiConfigurationName: String
|
override val apiConfigurationName: String
|
||||||
get() = disambiguateName(API)
|
get() = disambiguateName(API)
|
||||||
|
|
||||||
|
|||||||
+3
-1
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
|
|||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
||||||
import org.jetbrains.kotlin.gradle.utils.MutableObservableSet
|
import org.jetbrains.kotlin.gradle.utils.MutableObservableSet
|
||||||
import org.jetbrains.kotlin.gradle.utils.ObservableSet
|
import org.jetbrains.kotlin.gradle.utils.ObservableSet
|
||||||
|
import org.jetbrains.kotlin.tooling.core.MutableExtras
|
||||||
|
|
||||||
internal val KotlinSourceSet.internal: InternalKotlinSourceSet
|
internal val KotlinSourceSet.internal: InternalKotlinSourceSet
|
||||||
get() = (this as? InternalKotlinSourceSet) ?: throw IllegalArgumentException(
|
get() = (this as? InternalKotlinSourceSet) ?: throw IllegalArgumentException(
|
||||||
@@ -22,6 +23,7 @@ internal interface InternalKotlinSourceSet : KotlinSourceSet {
|
|||||||
val dependsOnClosure: ObservableSet<KotlinSourceSet>
|
val dependsOnClosure: ObservableSet<KotlinSourceSet>
|
||||||
val withDependsOnClosure: ObservableSet<KotlinSourceSet>
|
val withDependsOnClosure: ObservableSet<KotlinSourceSet>
|
||||||
val compilations: MutableObservableSet<KotlinCompilation<*>>
|
val compilations: MutableObservableSet<KotlinCompilation<*>>
|
||||||
|
val extras: MutableExtras
|
||||||
}
|
}
|
||||||
|
|
||||||
internal val KotlinSourceSet.project: Project get() = this.internal.project
|
internal val KotlinSourceSet.project: Project get() = this.internal.project
|
||||||
|
|||||||
Reference in New Issue
Block a user