diff --git a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/JpsIncrementalCache.kt b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/JpsIncrementalCache.kt index 8565d3d4014..10f0c650669 100644 --- a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/JpsIncrementalCache.kt +++ b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/JpsIncrementalCache.kt @@ -52,7 +52,9 @@ class JpsIncrementalJsCache( paths: BuildDataPaths ) : IncrementalJsCache(paths.getTargetDataRoot(target)), JpsIncrementalCache { override fun addJpsDependentCache(cache: JpsIncrementalCache) { - addDependentCache(cache as JpsIncrementalJsCache) + if (cache is JpsIncrementalJsCache) { + addDependentCache(cache) + } } } diff --git a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/platforms/KotlinJsModuleBuildTarget.kt b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/platforms/KotlinJsModuleBuildTarget.kt index 27739eb4f28..d02ac9f7df1 100644 --- a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/platforms/KotlinJsModuleBuildTarget.kt +++ b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/platforms/KotlinJsModuleBuildTarget.kt @@ -22,7 +22,10 @@ import org.jetbrains.kotlin.incremental.ChangesCollector import org.jetbrains.kotlin.incremental.IncrementalJsCache import org.jetbrains.kotlin.incremental.components.ExpectActualTracker import org.jetbrains.kotlin.incremental.components.LookupTracker -import org.jetbrains.kotlin.incremental.js.* +import org.jetbrains.kotlin.incremental.js.IncrementalDataProvider +import org.jetbrains.kotlin.incremental.js.IncrementalDataProviderFromCache +import org.jetbrains.kotlin.incremental.js.IncrementalResultsConsumer +import org.jetbrains.kotlin.incremental.js.IncrementalResultsConsumerImpl import org.jetbrains.kotlin.jps.build.KotlinDirtySourceFilesHolder import org.jetbrains.kotlin.jps.incremental.JpsIncrementalCache import org.jetbrains.kotlin.jps.incremental.JpsIncrementalJsCache @@ -39,11 +42,11 @@ import java.net.URI class KotlinJsModuleBuildTarget(compileContext: CompileContext, jpsModuleBuildTarget: ModuleBuildTarget) : KotlinModuleBuildTarget(compileContext, jpsModuleBuildTarget) { - val sourceToOutputMap - get() = context.projectDescriptor.dataManager.getSourceToOutputMap(jpsModuleBuildTarget) - - val isFirstBuild - get() = sourceToOutputMap.sources.isEmpty() + val isFirstBuild: Boolean + get() { + val targetDataRoot = context.projectDescriptor.dataManager.dataPaths.getTargetDataRoot(jpsModuleBuildTarget) + return !IncrementalJsCache.hasHeaderFile(targetDataRoot) + } override fun makeServices( builder: Services.Builder,