diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/KaptWithoutKotlincTask.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/KaptWithoutKotlincTask.kt index 8b3d4f89708..a628ae29f10 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/KaptWithoutKotlincTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/KaptWithoutKotlincTask.kt @@ -12,10 +12,11 @@ import org.gradle.api.provider.ListProperty import org.gradle.api.provider.MapProperty import org.gradle.api.provider.Property import org.gradle.api.provider.ProviderFactory -import org.gradle.api.tasks.* +import org.gradle.api.tasks.Input +import org.gradle.api.tasks.Internal +import org.gradle.api.tasks.TaskAction import org.gradle.process.CommandLineArgumentProvider import org.gradle.work.InputChanges -import org.gradle.workers.IsolationMode import org.gradle.workers.WorkAction import org.gradle.workers.WorkParameters import org.gradle.workers.WorkerExecutor @@ -226,6 +227,31 @@ abstract class KaptWithoutKotlincTask @Inject constructor( val classloadersCacheSize: Property } + /** + * Copied over Gradle deprecated [IsolationMode] enum, so Gradle could remove it. + */ + internal enum class IsolationMode { + /** + * Let Gradle decide, this is the default. + */ + AUTO, + + /** + * Don't attempt to isolate the work, use in-process workers. + */ + NONE, + + /** + * Isolate the work in it's own classloader, use in-process workers. + */ + CLASSLOADER, + + /** + * Isolate the work in a separate process, use out-of-process workers. + */ + PROCESS + } + internal abstract class KaptExecutionWorkAction : WorkAction { override fun execute() { KaptExecution(