[Gradle] MppDependencyProjectStructureMetadataExtractorFactory: Cache on rootProject...
Because composite builds might have isolated classloaders, therefore caching the MppDependencyProjectStructureMetadataExtractorFactory on a compositeBuildRoot will lead to ClassCastExceptions ^KT-56712 Verification Pending
This commit is contained in:
committed by
Space Team
parent
70a44ccc67
commit
b83a490034
+1
-2
@@ -11,7 +11,6 @@ import org.gradle.api.artifacts.result.ResolvedArtifactResult
|
||||
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtensionOrNull
|
||||
import org.jetbrains.kotlin.gradle.plugin.extraProperties
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.toSingleKpmModuleIdentifier
|
||||
import org.jetbrains.kotlin.gradle.utils.compositeBuildRootProject
|
||||
import org.jetbrains.kotlin.gradle.utils.getOrPut
|
||||
|
||||
internal val Project.kotlinMppDependencyProjectStructureMetadataExtractorFactory: MppDependencyProjectStructureMetadataExtractorFactory
|
||||
@@ -58,7 +57,7 @@ private constructor(
|
||||
companion object {
|
||||
private val extensionName = MppDependencyProjectStructureMetadataExtractorFactory::class.java.simpleName
|
||||
fun getOrCreate(project: Project): MppDependencyProjectStructureMetadataExtractorFactory =
|
||||
project.compositeBuildRootProject.extraProperties.getOrPut(extensionName) {
|
||||
project.rootProject.extraProperties.getOrPut(extensionName) {
|
||||
MppDependencyProjectStructureMetadataExtractorFactory(
|
||||
lazy { GlobalProjectStructureMetadataStorage.getProjectStructureMetadataProvidersFromAllGradleBuilds(project) },
|
||||
collectAllProjectStructureMetadataInCurrentBuild(project)
|
||||
|
||||
Reference in New Issue
Block a user