[BT] Clear jar caches after project compilation
This commit is contained in:
committed by
Space Team
parent
3adb202eb6
commit
ad4f4cbd28
+17
-2
@@ -5,11 +5,15 @@
|
||||
|
||||
package org.jetbrains.kotlin.buildtools.internal
|
||||
|
||||
import com.intellij.openapi.vfs.impl.ZipHandler
|
||||
import com.intellij.openapi.vfs.impl.jar.CoreJarFileSystem
|
||||
import org.jetbrains.kotlin.build.DEFAULT_KOTLIN_SOURCE_FILES_EXTENSIONS
|
||||
import org.jetbrains.kotlin.build.report.DoNothingBuildReporter
|
||||
import org.jetbrains.kotlin.build.report.metrics.DoNothingBuildMetricsReporter
|
||||
import org.jetbrains.kotlin.buildtools.api.*
|
||||
import org.jetbrains.kotlin.buildtools.api.jvm.*
|
||||
import org.jetbrains.kotlin.buildtools.api.jvm.ClassSnapshotGranularity
|
||||
import org.jetbrains.kotlin.buildtools.api.jvm.ClasspathSnapshotBasedIncrementalCompilationApproachParameters
|
||||
import org.jetbrains.kotlin.buildtools.api.jvm.JvmCompilationConfiguration
|
||||
import org.jetbrains.kotlin.cli.common.ExitCode
|
||||
import org.jetbrains.kotlin.cli.common.arguments.parseCommandLineArguments
|
||||
import org.jetbrains.kotlin.cli.common.arguments.validateArguments
|
||||
@@ -17,13 +21,14 @@ import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity
|
||||
import org.jetbrains.kotlin.cli.common.messages.MessageRenderer
|
||||
import org.jetbrains.kotlin.cli.common.messages.PrintingMessageCollector
|
||||
import org.jetbrains.kotlin.cli.jvm.K2JVMCompiler
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
|
||||
import org.jetbrains.kotlin.cli.jvm.modules.CoreJrtFileSystem
|
||||
import org.jetbrains.kotlin.compilerRunner.KotlinCompilerRunnerUtils
|
||||
import org.jetbrains.kotlin.config.Services
|
||||
import org.jetbrains.kotlin.daemon.client.BasicCompilerServicesWithResultsFacadeServer
|
||||
import org.jetbrains.kotlin.daemon.common.CompilerId
|
||||
import org.jetbrains.kotlin.daemon.common.configureDaemonJVMOptions
|
||||
import org.jetbrains.kotlin.daemon.common.filterExtractProps
|
||||
import org.jetbrains.kotlin.incremental.ClasspathChanges
|
||||
import org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunner
|
||||
import org.jetbrains.kotlin.incremental.classpathDiff.ClasspathEntrySnapshotter
|
||||
import org.jetbrains.kotlin.incremental.extractKotlinSourcesFromFreeCompilerArguments
|
||||
@@ -85,10 +90,20 @@ internal object CompilationServiceImpl : CompilationService {
|
||||
}
|
||||
|
||||
override fun finishProjectCompilation(projectId: ProjectId) {
|
||||
clearJarCaches()
|
||||
val file = buildIdToSessionFlagFile.remove(projectId) ?: return
|
||||
file.delete()
|
||||
}
|
||||
|
||||
private fun clearJarCaches() {
|
||||
ZipHandler.clearFileAccessorCache()
|
||||
KotlinCoreEnvironment.applicationEnvironment?.apply {
|
||||
(jarFileSystem as? CoreJarFileSystem)?.clearHandlersCache()
|
||||
(jrtFileSystem as? CoreJrtFileSystem)?.clearRoots()
|
||||
idleCleanup()
|
||||
}
|
||||
}
|
||||
|
||||
override fun getCustomKotlinScriptFilenameExtensions(classpath: List<File>): Collection<String> {
|
||||
val definitions = ScriptDefinitionsFromClasspathDiscoverySource(
|
||||
classpath,
|
||||
|
||||
Reference in New Issue
Block a user