From bf078caef63c18337d09610ea0a328468ee0e970 Mon Sep 17 00:00:00 2001 From: Sebastian Sellmair Date: Wed, 18 Jan 2023 11:36:06 +0100 Subject: [PATCH] [Gradle][Minor] LazyResolvedConfiguration: Make allResolvedDependencies lazy member KT-49933 --- .../mpp/GranularMetadataTransformation.kt | 1 - .../MetadataDependencyTransformationTask.kt | 19 ++++++++++++------- .../plugin/mpp/SourceSetVisibilityProvider.kt | 2 -- .../gradle/utils/LazyResolvedConfiguration.kt | 8 ++++---- 4 files changed, 16 insertions(+), 14 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/GranularMetadataTransformation.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/GranularMetadataTransformation.kt index b46b6ea3278..5332139b10c 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/GranularMetadataTransformation.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/GranularMetadataTransformation.kt @@ -21,7 +21,6 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet import org.jetbrains.kotlin.gradle.plugin.mpp.MetadataDependencyResolution.ChooseVisibleSourceSets.MetadataProvider.ArtifactMetadataProvider import org.jetbrains.kotlin.gradle.plugin.sources.internal import org.jetbrains.kotlin.gradle.utils.LazyResolvedConfiguration -import org.jetbrains.kotlin.gradle.utils.allResolvedDependencies import org.jetbrains.kotlin.gradle.utils.mergeWith import java.util.* diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/MetadataDependencyTransformationTask.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/MetadataDependencyTransformationTask.kt index ae5ea35183a..fe8906b0117 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/MetadataDependencyTransformationTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/MetadataDependencyTransformationTask.kt @@ -65,14 +65,19 @@ open class MetadataDependencyTransformationTask } } - private val participatingSourceSets: Set get() = participatingSourceSetsLazy?.value - ?: error("`participatingSourceSets` is null. " + - "Probably it is accessed it during Task Execution with state loaded from Configuration Cache") + private val participatingSourceSets: Set + get() = participatingSourceSetsLazy?.value + ?: error( + "`participatingSourceSets` is null. " + + "Probably it is accessed it during Task Execution with state loaded from Configuration Cache" + ) - private val parentTransformationTasks: List> get() = - parentTransformationTasksLazy?.value - ?: error("`parentTransformationTasks` is null. " + - "Probably it is accessed it during Task Execution with state loaded from Configuration Cache") + private val parentTransformationTasks: List> + get() = parentTransformationTasksLazy?.value + ?: error( + "`parentTransformationTasks` is null. " + + "Probably it is accessed it during Task Execution with state loaded from Configuration Cache" + ) @Suppress("unused") // Gradle input @get:Input diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/SourceSetVisibilityProvider.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/SourceSetVisibilityProvider.kt index 1f7560321d1..baceebe7740 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/SourceSetVisibilityProvider.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/SourceSetVisibilityProvider.kt @@ -7,11 +7,9 @@ package org.jetbrains.kotlin.gradle.plugin.mpp import org.gradle.api.Project import org.gradle.api.artifacts.result.ResolvedDependencyResult -import org.gradle.api.attributes.Usage import org.jetbrains.kotlin.gradle.dsl.multiplatformExtensionOrNull import org.jetbrains.kotlin.gradle.plugin.* import org.jetbrains.kotlin.gradle.utils.LazyResolvedConfiguration -import org.jetbrains.kotlin.gradle.utils.allResolvedDependencies import org.jetbrains.kotlin.gradle.utils.dependencyArtifactsOrNull import java.io.File diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/utils/LazyResolvedConfiguration.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/utils/LazyResolvedConfiguration.kt index 063c76dd30b..86e397a192e 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/utils/LazyResolvedConfiguration.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/utils/LazyResolvedConfiguration.kt @@ -50,6 +50,10 @@ internal class LazyResolvedConfiguration private constructor( } } + internal val allResolvedDependencies: Set by TransientLazy { + allDependencies.filterIsInstance().toSet() + } + fun getArtifacts(dependency: ResolvedDependencyResult): List { val componentId = dependency.resolvedVariant.lastExternalVariantOrSelf().owner return artifactsByComponentId[componentId] ?: emptyList() @@ -67,10 +71,6 @@ internal class LazyResolvedConfiguration private constructor( override fun toString(): String = "LazyResolvedConfiguration(configuration='$configurationName')" } -internal val LazyResolvedConfiguration.allResolvedDependencies: Set - get() = allDependencies - .filterIsInstance() - .toSet() /** * Same as [LazyResolvedConfiguration.getArtifacts] except it returns null for cases when dependency is resolved