[gradle] Added option to customize class loaders map

This will be used in the K/N build for automatic cleaning of the daemon
This commit is contained in:
Igor Chevdar
2021-11-23 10:42:44 +05:00
parent 9c1c1805a3
commit 8b859e6558
@@ -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<Any, URLClassLoader> 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)