From 8b859e65588eb6f193beced96f92e4c9669327aa Mon Sep 17 00:00:00 2001 From: Igor Chevdar Date: Tue, 23 Nov 2021 10:42:44 +0500 Subject: [PATCH] [gradle] Added option to customize class loaders map This will be used in the K/N build for automatic cleaning of the daemon --- .../org/jetbrains/kotlin/compilerRunner/KotlinToolRunner.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/KotlinToolRunner.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/KotlinToolRunner.kt index f82dbf0bd51..49074724d84 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/KotlinToolRunner.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/KotlinToolRunner.kt @@ -38,7 +38,9 @@ abstract class KotlinToolRunner( open fun checkClasspath(): Unit = check(classpath.isNotEmpty()) { "Classpath of the tool is empty: $displayName" } abstract val isolatedClassLoaderCacheKey: Any - private fun getIsolatedClassLoader(): URLClassLoader = isolatedClassLoadersMap.computeIfAbsent(isolatedClassLoaderCacheKey) { + protected open val isolatedClassLoaders: ConcurrentHashMap get() = isolatedClassLoadersMap + + private fun getIsolatedClassLoader(): URLClassLoader = isolatedClassLoaders.computeIfAbsent(isolatedClassLoaderCacheKey) { val arrayOfURLs = classpath.map { File(it.absolutePath).toURI().toURL() }.toTypedArray() URLClassLoader(arrayOfURLs, null).apply { setDefaultAssertionStatus(enableAssertions)