[JS IC] Support per-file invalidation in CLI
- now disabled
This commit is contained in:
committed by
TeamCityServer
parent
001d3d8bc2
commit
22cd20781e
@@ -38,6 +38,7 @@ import org.jetbrains.kotlin.incremental.js.IncrementalDataProvider
|
|||||||
import org.jetbrains.kotlin.incremental.js.IncrementalNextRoundChecker
|
import org.jetbrains.kotlin.incremental.js.IncrementalNextRoundChecker
|
||||||
import org.jetbrains.kotlin.incremental.js.IncrementalResultsConsumer
|
import org.jetbrains.kotlin.incremental.js.IncrementalResultsConsumer
|
||||||
import org.jetbrains.kotlin.ir.backend.js.*
|
import org.jetbrains.kotlin.ir.backend.js.*
|
||||||
|
import org.jetbrains.kotlin.ir.backend.js.ic.actualizeCacheForModule
|
||||||
import org.jetbrains.kotlin.ir.backend.js.ic.buildCache
|
import org.jetbrains.kotlin.ir.backend.js.ic.buildCache
|
||||||
import org.jetbrains.kotlin.ir.backend.js.ic.checkCaches
|
import org.jetbrains.kotlin.ir.backend.js.ic.checkCaches
|
||||||
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
|
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
|
||||||
@@ -72,6 +73,9 @@ class K2JsIrCompiler : CLICompiler<K2JSCompilerArguments>() {
|
|||||||
return K2JSCompilerArguments()
|
return K2JSCompilerArguments()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Suppress("UNUSED_PARAMETER")
|
||||||
|
private fun usePerFileInvalidator(configuration: CompilerConfiguration): Boolean = false
|
||||||
|
|
||||||
override fun doExecute(
|
override fun doExecute(
|
||||||
arguments: K2JSCompilerArguments,
|
arguments: K2JSCompilerArguments,
|
||||||
configuration: CompilerConfiguration,
|
configuration: CompilerConfiguration,
|
||||||
@@ -201,8 +205,14 @@ class K2JsIrCompiler : CLICompiler<K2JSCompilerArguments>() {
|
|||||||
MainModule.Klib(includes)
|
MainModule.Klib(includes)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val perFileCache = usePerFileInvalidator(configuration)
|
||||||
|
|
||||||
val start = System.currentTimeMillis()
|
val start = System.currentTimeMillis()
|
||||||
if (buildCache(
|
|
||||||
|
val updated = if (perFileCache) {
|
||||||
|
actualizeCacheForModule(includes, outputFilePath, configuration, libraries, icCaches)
|
||||||
|
} else {
|
||||||
|
buildCache(
|
||||||
cachePath = outputFilePath,
|
cachePath = outputFilePath,
|
||||||
project = projectJs,
|
project = projectJs,
|
||||||
mainModule = mainModule,
|
mainModule = mainModule,
|
||||||
@@ -211,10 +221,13 @@ class K2JsIrCompiler : CLICompiler<K2JSCompilerArguments>() {
|
|||||||
friendDependencies = friendLibraries,
|
friendDependencies = friendLibraries,
|
||||||
icCache = checkCaches(libraries, icCaches, skipLib = mainModule.libPath)
|
icCache = checkCaches(libraries, icCaches, skipLib = mainModule.libPath)
|
||||||
)
|
)
|
||||||
) {
|
}
|
||||||
messageCollector.report(INFO, "IC cache building duration: ${System.currentTimeMillis() - start}ms")
|
|
||||||
|
val invalidationType = if (perFileCache) "per-file" else "per-module"
|
||||||
|
if (updated) {
|
||||||
|
messageCollector.report(INFO, "IC $invalidationType cache building duration: ${System.currentTimeMillis() - start}ms")
|
||||||
} else {
|
} else {
|
||||||
messageCollector.report(INFO, "IC cache up-to-date check duration: ${System.currentTimeMillis() - start}ms")
|
messageCollector.report(INFO, "IC $invalidationType cache up-to-date check duration: ${System.currentTimeMillis() - start}ms")
|
||||||
}
|
}
|
||||||
return OK
|
return OK
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user