diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt index 8a256a21834..0266ec1c18c 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt @@ -561,7 +561,7 @@ constructor( val exportLibraries: FileCollection get() = exportLibrariesResolvedGraph?.files ?: objectFactory.fileCollection() private val exportLibrariesResolvedGraph = if (binary is AbstractNativeLibrary) { - ResolvedDependencyGraph(project, project.configurations.getByName(binary.exportConfigurationName)) + ResolvedDependencyGraph.fromConfiguration(project.configurations.getByName(binary.exportConfigurationName)) } else { null } @@ -640,8 +640,7 @@ constructor( @get:Internal internal abstract val konanPropertiesService: Property - private val resolvedDependencyGraph = ResolvedDependencyGraph( - project, + private val resolvedDependencyGraph = ResolvedDependencyGraph.fromConfiguration( project.configurations.getByName(compilation.compileDependencyConfigurationName) ) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/utils/configurations.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/utils/configurations.kt index 09a1e48d475..e1720ade1eb 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/utils/configurations.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/utils/configurations.kt @@ -27,11 +27,11 @@ internal const val INTRANSITIVE = "intransitive" * Gradle Configuration Cache-friendly representation of resolved Configuration */ internal class ResolvedDependencyGraph -private constructor ( - private val graphRootProvider: Provider, +private constructor( + private val resolvedComponentsRootProvider: Lazy, private val artifactCollection: ArtifactCollection ) { - val root get() = graphRootProvider.get() + val root get() = resolvedComponentsRootProvider.value val files: FileCollection get() = artifactCollection.artifactFiles val artifacts get() = artifactCollection.artifacts @@ -54,8 +54,8 @@ private constructor ( } companion object { - operator fun invoke(project: Project, configuration: Configuration) = ResolvedDependencyGraph( - graphRootProvider = configuration.incoming.resolutionResult.let { rr -> project.provider { rr.root } }, + fun fromConfiguration(configuration: Configuration) = ResolvedDependencyGraph( + resolvedComponentsRootProvider = configuration.incoming.resolutionResult.let { rr -> lazy { rr.root } }, artifactCollection = configuration.incoming.artifacts ) }