diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/internal/ClassLoadersCachingBuildService.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/internal/ClassLoadersCachingBuildService.kt index b11dc33cce3..7fec06c9f59 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/internal/ClassLoadersCachingBuildService.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/internal/ClassLoadersCachingBuildService.kt @@ -27,9 +27,7 @@ internal interface UsesClassLoadersCachingBuildService : Task { /** * A [BuildService] for caching [ClassLoader] instances */ -internal abstract class ClassLoadersCachingBuildService : BuildService, AutoCloseable { - // The service could be used by multiple tasks in parallel, so the map have to be synchronized - private val classLoaders = ConcurrentHashMap() +internal abstract class ClassLoadersCachingBuildService : BuildService { private val logger = Logging.getLogger(javaClass) fun getClassLoader( @@ -42,12 +40,10 @@ internal abstract class ClassLoadersCachingBuildService : BuildService() + fun registerIfAbsent(project: Project) = project.gradle.registerClassLoaderScopedBuildService(ClassLoadersCachingBuildService::class).also { serviceProvider -> SingleActionPerProject.run(project, UsesClassLoadersCachingBuildService::class.java.name) {