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.component.SoftwareComponent
|
||||||
import org.gradle.api.internal.component.SoftwareComponentInternal
|
import org.gradle.api.internal.component.SoftwareComponentInternal
|
||||||
import org.gradle.api.internal.component.UsageContext
|
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.gradle.api.publish.maven.MavenPublication
|
||||||
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
|
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
|
||||||
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
|
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.isCompatibilityMetadataVariantEnabled
|
||||||
import org.jetbrains.kotlin.gradle.targets.metadata.isKotlinGranularMetadataEnabled
|
import org.jetbrains.kotlin.gradle.targets.metadata.isKotlinGranularMetadataEnabled
|
||||||
import org.jetbrains.kotlin.gradle.utils.listProperty
|
import org.jetbrains.kotlin.gradle.utils.listProperty
|
||||||
|
import org.jetbrains.kotlin.gradle.utils.setProperty
|
||||||
|
|
||||||
abstract class KotlinSoftwareComponent(
|
abstract class KotlinSoftwareComponent(
|
||||||
private val project: Project,
|
private val project: Project,
|
||||||
@@ -69,7 +70,7 @@ abstract class KotlinSoftwareComponent(
|
|||||||
compilation = metadataTarget.compilations.getByName(MAIN_COMPILATION_NAME),
|
compilation = metadataTarget.compilations.getByName(MAIN_COMPILATION_NAME),
|
||||||
usage = javaApiUsage,
|
usage = javaApiUsage,
|
||||||
dependencyConfigurationName = metadataTarget.apiElementsConfigurationName,
|
dependencyConfigurationName = metadataTarget.apiElementsConfigurationName,
|
||||||
overrideConfigurationArtifacts = project.listProperty { listOf(allMetadataArtifact) }
|
overrideConfigurationArtifacts = project.setProperty { listOf(allMetadataArtifact) }
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@@ -128,7 +129,7 @@ class DefaultKotlinUsageContext(
|
|||||||
override val compilation: KotlinCompilation<*>,
|
override val compilation: KotlinCompilation<*>,
|
||||||
private val usage: Usage,
|
private val usage: Usage,
|
||||||
override val dependencyConfigurationName: String,
|
override val dependencyConfigurationName: String,
|
||||||
internal val overrideConfigurationArtifacts: ListProperty<PublishArtifact>? = null,
|
internal val overrideConfigurationArtifacts: SetProperty<PublishArtifact>? = null,
|
||||||
internal val overrideConfigurationAttributes: AttributeContainer? = null,
|
internal val overrideConfigurationAttributes: AttributeContainer? = null,
|
||||||
override val includeIntoProjectStructureMetadata: Boolean = true
|
override val includeIntoProjectStructureMetadata: Boolean = true
|
||||||
) : KotlinUsageContext {
|
) : 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.dashSeparatedName
|
||||||
import org.jetbrains.kotlin.gradle.utils.listProperty
|
import org.jetbrains.kotlin.gradle.utils.listProperty
|
||||||
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
|
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
|
||||||
|
import org.jetbrains.kotlin.gradle.utils.setProperty
|
||||||
|
|
||||||
open class KotlinAndroidTarget(
|
open class KotlinAndroidTarget(
|
||||||
override val targetName: String,
|
override val targetName: String,
|
||||||
@@ -206,7 +207,7 @@ open class KotlinAndroidTarget(
|
|||||||
compilation,
|
compilation,
|
||||||
project.usageByName(usageName),
|
project.usageByName(usageName),
|
||||||
dependencyConfigurationName,
|
dependencyConfigurationName,
|
||||||
overrideConfigurationArtifacts = project.listProperty { listOf(artifact) },
|
overrideConfigurationArtifacts = project.setProperty { listOf(artifact) },
|
||||||
overrideConfigurationAttributes = HierarchyAttributeContainer(configuration.attributes) {
|
overrideConfigurationAttributes = HierarchyAttributeContainer(configuration.attributes) {
|
||||||
val valueString = run {
|
val valueString = run {
|
||||||
val value = configuration.attributes.getAttribute(it)
|
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.dashSeparatedName
|
||||||
import org.jetbrains.kotlin.gradle.utils.listProperty
|
import org.jetbrains.kotlin.gradle.utils.listProperty
|
||||||
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
|
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
|
||||||
|
import org.jetbrains.kotlin.gradle.utils.setProperty
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
open class KotlinJsTarget
|
open class KotlinJsTarget
|
||||||
@@ -102,7 +103,7 @@ constructor(
|
|||||||
compilation = compilations.getByName(KotlinCompilation.MAIN_COMPILATION_NAME),
|
compilation = compilations.getByName(KotlinCompilation.MAIN_COMPILATION_NAME),
|
||||||
usage = project.usageByName("java-api-jars"),
|
usage = project.usageByName("java-api-jars"),
|
||||||
dependencyConfigurationName = commonFakeApiElementsConfigurationName,
|
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.tasks.registerTask
|
||||||
import org.jetbrains.kotlin.gradle.utils.listProperty
|
import org.jetbrains.kotlin.gradle.utils.listProperty
|
||||||
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
|
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
|
||||||
|
import org.jetbrains.kotlin.gradle.utils.setProperty
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
open class KotlinJsIrTarget
|
open class KotlinJsIrTarget
|
||||||
@@ -68,7 +69,7 @@ constructor(
|
|||||||
compilation = compilations.getByName(MAIN_COMPILATION_NAME),
|
compilation = compilations.getByName(MAIN_COMPILATION_NAME),
|
||||||
usage = project.usageByName("java-api-jars"),
|
usage = project.usageByName("java-api-jars"),
|
||||||
dependencyConfigurationName = commonFakeApiElementsConfigurationName,
|
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.ConfigurableFileCollection
|
||||||
import org.gradle.api.file.RegularFileProperty
|
import org.gradle.api.file.RegularFileProperty
|
||||||
import org.gradle.api.model.ObjectFactory
|
import org.gradle.api.model.ObjectFactory
|
||||||
|
import org.gradle.api.provider.ListProperty
|
||||||
import org.gradle.api.provider.Property
|
import org.gradle.api.provider.Property
|
||||||
import org.gradle.api.provider.Provider
|
import org.gradle.api.provider.Provider
|
||||||
|
import org.gradle.api.provider.SetProperty
|
||||||
import org.gradle.api.tasks.TaskProvider
|
import org.gradle.api.tasks.TaskProvider
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import kotlin.properties.ReadOnlyProperty
|
import kotlin.properties.ReadOnlyProperty
|
||||||
@@ -98,5 +100,8 @@ internal fun <T : Task> T.outputFilesProvider(provider: T.() -> Any): Configurab
|
|||||||
return project.filesProvider(this) { provider() }
|
return project.filesProvider(this) { provider() }
|
||||||
}
|
}
|
||||||
|
|
||||||
internal inline fun <reified T> Project.listProperty(noinline itemsProvider: () -> Iterable<T>) =
|
internal inline fun <reified T> Project.listProperty(noinline itemsProvider: () -> Iterable<T>): ListProperty<T> =
|
||||||
objects.listProperty(T::class.java).apply { set(provider(itemsProvider)) }
|
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