From edb619a0048ef5ace12a239db061915006eb3e1a Mon Sep 17 00:00:00 2001 From: Dmitry Gridin Date: Wed, 23 Jun 2021 10:51:39 +0700 Subject: [PATCH] [CHERRY PICKED FROM IJ] [kotlin] compiler index: fix initialization issues * move some constants to kotlin.jps-common module * depends on kotlin.jps-common instead of kotlin.jps-plugin ^KTIJ-16709 ^KTIJ-18939 Fixed ^EA-297958 Fixed GitOrigin-RevId: 305b67aeb75a4c55f734bf2a773b36b0f0e50ac9 Original commit: https://github.com/JetBrains/intellij-community/commit/e7e6e8b26c159b828bbe015a8dc700bc7d88a673 --- .../jetbrains/kotlin/config/SettingConstants.kt | 2 ++ .../KotlinCompilerReferenceIndexBuilder.kt | 4 ++-- .../incremental/KotlinDataContainerTargetType.kt | 15 +++++++-------- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/jps/jps-common/src/org/jetbrains/kotlin/config/SettingConstants.kt b/jps/jps-common/src/org/jetbrains/kotlin/config/SettingConstants.kt index dabccb3cc86..aefe7d14cc4 100644 --- a/jps/jps-common/src/org/jetbrains/kotlin/config/SettingConstants.kt +++ b/jps/jps-common/src/org/jetbrains/kotlin/config/SettingConstants.kt @@ -22,4 +22,6 @@ object SettingConstants { const val KOTLIN_TO_JVM_COMPILER_ARGUMENTS_SECTION = "Kotlin2JvmCompilerArguments" const val KOTLIN_COMPILER_SETTINGS_SECTION = "KotlinCompilerSettings" const val KOTLIN_COMPILER_SETTINGS_FILE = "kotlinc.xml" + const val KOTLIN_COMPILER_REFERENCE_INDEX_BUILDER_ID = "kotlin.compiler.ref.index" + const val KOTLIN_DATA_CONTAINER_ID = "kotlin-data-container" } diff --git a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/KotlinCompilerReferenceIndexBuilder.kt b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/KotlinCompilerReferenceIndexBuilder.kt index fc37d2d93dd..be6b9a9e3f8 100644 --- a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/KotlinCompilerReferenceIndexBuilder.kt +++ b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/KotlinCompilerReferenceIndexBuilder.kt @@ -13,6 +13,7 @@ import org.jetbrains.jps.incremental.CompileContext import org.jetbrains.jps.incremental.ModuleBuildTarget import org.jetbrains.jps.incremental.ModuleLevelBuilder import org.jetbrains.jps.incremental.messages.CustomBuilderMessage +import org.jetbrains.kotlin.config.SettingConstants /** * Based on [org.jetbrains.jps.backwardRefs.JavaBackwardReferenceIndexBuilder] @@ -41,7 +42,7 @@ class KotlinCompilerReferenceIndexBuilder : ModuleLevelBuilder(BuilderCategory.C if (allAreDummyOrCompiled) { context.processMessage( - CustomBuilderMessage(BUILDER_ID, MESSAGE_TYPE, module.name) + CustomBuilderMessage(SettingConstants.KOTLIN_COMPILER_REFERENCE_INDEX_BUILDER_ID, MESSAGE_TYPE, module.name) ) } } @@ -53,6 +54,5 @@ class KotlinCompilerReferenceIndexBuilder : ModuleLevelBuilder(BuilderCategory.C companion object { private const val MESSAGE_TYPE = "processed module" - const val BUILDER_ID = "kotlin.compiler.ref.index" } } \ No newline at end of file diff --git a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/KotlinDataContainerTargetType.kt b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/KotlinDataContainerTargetType.kt index d8e64680d61..cee2a287d69 100644 --- a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/KotlinDataContainerTargetType.kt +++ b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/KotlinDataContainerTargetType.kt @@ -22,23 +22,22 @@ import org.jetbrains.jps.incremental.CompileContext import org.jetbrains.jps.indices.IgnoredFileIndex import org.jetbrains.jps.indices.ModuleExcludeIndex import org.jetbrains.jps.model.JpsModel +import org.jetbrains.kotlin.config.SettingConstants import java.io.File -private val KOTLIN_DATA_CONTAINER = "kotlin-data-container" - -object KotlinDataContainerTargetType : BuildTargetType(KOTLIN_DATA_CONTAINER) { +object KotlinDataContainerTargetType : BuildTargetType(SettingConstants.KOTLIN_DATA_CONTAINER_ID) { override fun computeAllTargets(model: JpsModel): List = listOf(KotlinDataContainerTarget) override fun createLoader(model: JpsModel): BuildTargetLoader = object : BuildTargetLoader() { - override fun createTarget(targetId: String): KotlinDataContainerTarget? = KotlinDataContainerTarget + override fun createTarget(targetId: String): KotlinDataContainerTarget = KotlinDataContainerTarget } } // Fake target to store data per project for incremental compilation object KotlinDataContainerTarget : BuildTarget(KotlinDataContainerTargetType) { - override fun getId(): String? = KOTLIN_DATA_CONTAINER - override fun getPresentableName(): String = KOTLIN_DATA_CONTAINER + override fun getId(): String = SettingConstants.KOTLIN_DATA_CONTAINER_ID + override fun getPresentableName(): String = SettingConstants.KOTLIN_DATA_CONTAINER_ID override fun computeRootDescriptors( model: JpsModel?, @@ -50,7 +49,7 @@ object KotlinDataContainerTarget : BuildTarget(KotlinDataCo override fun getOutputRoots(context: CompileContext): Collection { val dataManager = context.projectDescriptor.dataManager val storageRoot = dataManager.dataPaths.dataStorageRoot - return listOf(File(storageRoot, KOTLIN_DATA_CONTAINER)) + return listOf(File(storageRoot, SettingConstants.KOTLIN_DATA_CONTAINER_ID)) } override fun findRootDescriptor(rootId: String?, rootIndex: BuildRootIndex?): BuildRootDescriptor? = null @@ -58,5 +57,5 @@ object KotlinDataContainerTarget : BuildTarget(KotlinDataCo override fun computeDependencies( targetRegistry: BuildTargetRegistry?, outputIndex: TargetOutputIndex? - ): Collection>? = listOf() + ): Collection> = listOf() }