diff --git a/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/AnalysisEnvironment.kt b/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/AnalysisEnvironment.kt index 452b821c9b..57a9ba8517 100644 --- a/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/AnalysisEnvironment.kt +++ b/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/AnalysisEnvironment.kt @@ -76,6 +76,7 @@ import org.jetbrains.kotlin.resolve.jvm.JvmPlatformParameters import org.jetbrains.kotlin.resolve.jvm.JvmResolverForModuleFactory import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatformAnalyzerServices import org.jetbrains.kotlin.resolve.konan.platform.NativePlatformAnalyzerServices +import org.jetbrains.kotlin.storage.LockBasedStorageManager import java.io.File import org.jetbrains.kotlin.konan.file.File as KFile @@ -122,6 +123,7 @@ class AnalysisEnvironment(val messageCollector: MessageCollector, val analysisPl // TODO: figure out why compilation fails with unresolved `CoreApplicationEnvironment.registerApplicationService(...)` // call, fix it appropriately with(ApplicationManager.getApplication() as MockApplication) { + extensionArea if (getService(KlibLoadingMetadataCache::class.java) == null) registerService(KlibLoadingMetadataCache::class.java, KlibLoadingMetadataCache()) } @@ -191,7 +193,7 @@ class AnalysisEnvironment(val messageCollector: MessageCollector, val analysisPl val commonDependencyContainer = if (analysisPlatform == Platform.common) DokkaKlibMetadataCommonDependencyContainer( kotlinLibraries.values.toList(), environment.configuration, - projectContext.storageManager + LockBasedStorageManager("DokkaKlibMetadata") ) else null val extraModuleDependencies = kotlinLibraries.values.registerLibraries() + commonDependencyContainer?.moduleInfos.orEmpty()