KT-MR-5666 Use SetProperty for artifacts in place of ListProperty
This commit is contained in:
+4
-3
@@ -16,7 +16,7 @@ import org.gradle.api.component.ComponentWithVariants
|
||||
import org.gradle.api.component.SoftwareComponent
|
||||
import org.gradle.api.internal.component.SoftwareComponentInternal
|
||||
import org.gradle.api.internal.component.UsageContext
|
||||
import org.gradle.api.provider.ListProperty
|
||||
import org.gradle.api.provider.SetProperty
|
||||
import org.gradle.api.publish.maven.MavenPublication
|
||||
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
|
||||
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
|
||||
@@ -29,6 +29,7 @@ import org.jetbrains.kotlin.gradle.targets.metadata.KotlinMetadataTargetConfigur
|
||||
import org.jetbrains.kotlin.gradle.targets.metadata.isCompatibilityMetadataVariantEnabled
|
||||
import org.jetbrains.kotlin.gradle.targets.metadata.isKotlinGranularMetadataEnabled
|
||||
import org.jetbrains.kotlin.gradle.utils.listProperty
|
||||
import org.jetbrains.kotlin.gradle.utils.setProperty
|
||||
|
||||
abstract class KotlinSoftwareComponent(
|
||||
private val project: Project,
|
||||
@@ -69,7 +70,7 @@ abstract class KotlinSoftwareComponent(
|
||||
compilation = metadataTarget.compilations.getByName(MAIN_COMPILATION_NAME),
|
||||
usage = javaApiUsage,
|
||||
dependencyConfigurationName = metadataTarget.apiElementsConfigurationName,
|
||||
overrideConfigurationArtifacts = project.listProperty { listOf(allMetadataArtifact) }
|
||||
overrideConfigurationArtifacts = project.setProperty { listOf(allMetadataArtifact) }
|
||||
)
|
||||
|
||||
|
||||
@@ -128,7 +129,7 @@ class DefaultKotlinUsageContext(
|
||||
override val compilation: KotlinCompilation<*>,
|
||||
private val usage: Usage,
|
||||
override val dependencyConfigurationName: String,
|
||||
internal val overrideConfigurationArtifacts: ListProperty<PublishArtifact>? = null,
|
||||
internal val overrideConfigurationArtifacts: SetProperty<PublishArtifact>? = null,
|
||||
internal val overrideConfigurationAttributes: AttributeContainer? = null,
|
||||
override val includeIntoProjectStructureMetadata: Boolean = true
|
||||
) : KotlinUsageContext {
|
||||
|
||||
+2
-1
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.gradle.plugin.*
|
||||
import org.jetbrains.kotlin.gradle.utils.dashSeparatedName
|
||||
import org.jetbrains.kotlin.gradle.utils.listProperty
|
||||
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
|
||||
import org.jetbrains.kotlin.gradle.utils.setProperty
|
||||
|
||||
open class KotlinAndroidTarget(
|
||||
override val targetName: String,
|
||||
@@ -206,7 +207,7 @@ open class KotlinAndroidTarget(
|
||||
compilation,
|
||||
project.usageByName(usageName),
|
||||
dependencyConfigurationName,
|
||||
overrideConfigurationArtifacts = project.listProperty { listOf(artifact) },
|
||||
overrideConfigurationArtifacts = project.setProperty { listOf(artifact) },
|
||||
overrideConfigurationAttributes = HierarchyAttributeContainer(configuration.attributes) {
|
||||
val valueString = run {
|
||||
val value = configuration.attributes.getAttribute(it)
|
||||
|
||||
+2
-1
@@ -31,6 +31,7 @@ import org.jetbrains.kotlin.gradle.testing.testTaskName
|
||||
import org.jetbrains.kotlin.gradle.utils.dashSeparatedName
|
||||
import org.jetbrains.kotlin.gradle.utils.listProperty
|
||||
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
|
||||
import org.jetbrains.kotlin.gradle.utils.setProperty
|
||||
import javax.inject.Inject
|
||||
|
||||
open class KotlinJsTarget
|
||||
@@ -102,7 +103,7 @@ constructor(
|
||||
compilation = compilations.getByName(KotlinCompilation.MAIN_COMPILATION_NAME),
|
||||
usage = project.usageByName("java-api-jars"),
|
||||
dependencyConfigurationName = commonFakeApiElementsConfigurationName,
|
||||
overrideConfigurationArtifacts = project.listProperty { emptyList() }
|
||||
overrideConfigurationArtifacts = project.setProperty { emptyList() }
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
+2
-1
@@ -28,6 +28,7 @@ import org.jetbrains.kotlin.gradle.tasks.locateOrRegisterTask
|
||||
import org.jetbrains.kotlin.gradle.tasks.registerTask
|
||||
import org.jetbrains.kotlin.gradle.utils.listProperty
|
||||
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
|
||||
import org.jetbrains.kotlin.gradle.utils.setProperty
|
||||
import javax.inject.Inject
|
||||
|
||||
open class KotlinJsIrTarget
|
||||
@@ -68,7 +69,7 @@ constructor(
|
||||
compilation = compilations.getByName(MAIN_COMPILATION_NAME),
|
||||
usage = project.usageByName("java-api-jars"),
|
||||
dependencyConfigurationName = commonFakeApiElementsConfigurationName,
|
||||
overrideConfigurationArtifacts = project.listProperty { emptyList() }
|
||||
overrideConfigurationArtifacts = project.setProperty { emptyList() }
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
+7
-2
@@ -10,8 +10,10 @@ import org.gradle.api.Task
|
||||
import org.gradle.api.file.ConfigurableFileCollection
|
||||
import org.gradle.api.file.RegularFileProperty
|
||||
import org.gradle.api.model.ObjectFactory
|
||||
import org.gradle.api.provider.ListProperty
|
||||
import org.gradle.api.provider.Property
|
||||
import org.gradle.api.provider.Provider
|
||||
import org.gradle.api.provider.SetProperty
|
||||
import org.gradle.api.tasks.TaskProvider
|
||||
import java.io.File
|
||||
import kotlin.properties.ReadOnlyProperty
|
||||
@@ -98,5 +100,8 @@ internal fun <T : Task> T.outputFilesProvider(provider: T.() -> Any): Configurab
|
||||
return project.filesProvider(this) { provider() }
|
||||
}
|
||||
|
||||
internal inline fun <reified T> Project.listProperty(noinline itemsProvider: () -> Iterable<T>) =
|
||||
objects.listProperty(T::class.java).apply { set(provider(itemsProvider)) }
|
||||
internal inline fun <reified T> Project.listProperty(noinline itemsProvider: () -> Iterable<T>): ListProperty<T> =
|
||||
objects.listProperty(T::class.java).apply { set(provider(itemsProvider)) }
|
||||
|
||||
internal inline fun <reified T> Project.setProperty(noinline itemsProvider: () -> Iterable<T>): SetProperty<T> =
|
||||
objects.setProperty(T::class.java).apply { set(provider(itemsProvider)) }
|
||||
Reference in New Issue
Block a user