[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
This commit is contained in:
Dmitry Gridin
2021-06-23 10:51:39 +07:00
committed by Nikita Bobko
parent b141d6b936
commit edb619a004
3 changed files with 11 additions and 10 deletions
@@ -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"
}
@@ -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"
}
}
@@ -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<KotlinDataContainerTarget>(KOTLIN_DATA_CONTAINER) {
object KotlinDataContainerTargetType : BuildTargetType<KotlinDataContainerTarget>(SettingConstants.KOTLIN_DATA_CONTAINER_ID) {
override fun computeAllTargets(model: JpsModel): List<KotlinDataContainerTarget> = listOf(KotlinDataContainerTarget)
override fun createLoader(model: JpsModel): BuildTargetLoader<KotlinDataContainerTarget> =
object : BuildTargetLoader<KotlinDataContainerTarget>() {
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<BuildRootDescriptor>(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<BuildRootDescriptor>(KotlinDataCo
override fun getOutputRoots(context: CompileContext): Collection<File> {
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<BuildRootDescriptor>(KotlinDataCo
override fun computeDependencies(
targetRegistry: BuildTargetRegistry?,
outputIndex: TargetOutputIndex?
): Collection<BuildTarget<*>>? = listOf()
): Collection<BuildTarget<*>> = listOf()
}