From 52ac2370157e7bc88398d855b0a443f23d5c8327 Mon Sep 17 00:00:00 2001 From: "Alexander.Likhachev" Date: Mon, 14 Aug 2023 13:36:48 +0200 Subject: [PATCH] [Gradle] Copy destinationAsFile and classpathAsList extensions It allows getting rid of the dependency on `:compiler:incremental-compilation-impl` #KT-61449 In Progress --- .../internal/kapt/KaptGenerateStubsTask.kt | 4 ++-- .../kotlin/gradle/tasks/KotlinCompile.kt | 2 -- .../kotlin/gradle/utils/compilerArgsUtils.kt | 21 +++++++++++++++++++ 3 files changed, 23 insertions(+), 4 deletions(-) create mode 100644 libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/utils/compilerArgsUtils.kt diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/KaptGenerateStubsTask.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/KaptGenerateStubsTask.kt index a7995695e42..c5165198002 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/KaptGenerateStubsTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/KaptGenerateStubsTask.kt @@ -34,10 +34,10 @@ import org.jetbrains.kotlin.gradle.report.BuildReportMode import org.jetbrains.kotlin.gradle.tasks.KaptGenerateStubs import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import org.jetbrains.kotlin.gradle.tasks.toSingleCompilerPluginOptions +import org.jetbrains.kotlin.gradle.utils.classpathAsList import org.jetbrains.kotlin.gradle.utils.configureExperimentalTryK2 +import org.jetbrains.kotlin.gradle.utils.destinationAsFile import org.jetbrains.kotlin.gradle.utils.toPathsArray -import org.jetbrains.kotlin.incremental.classpathAsList -import org.jetbrains.kotlin.incremental.destinationAsFile import javax.inject.Inject @CacheableTask diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinCompile.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinCompile.kt index 7eb04728035..c360f541e22 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinCompile.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinCompile.kt @@ -48,8 +48,6 @@ import org.jetbrains.kotlin.incremental.ClasspathChanges.ClasspathSnapshotEnable import org.jetbrains.kotlin.incremental.ClasspathChanges.ClasspathSnapshotEnabled.NotAvailableDueToMissingClasspathSnapshot import org.jetbrains.kotlin.incremental.ClasspathChanges.ClasspathSnapshotEnabled.NotAvailableForNonIncrementalRun import org.jetbrains.kotlin.incremental.ClasspathSnapshotFiles -import org.jetbrains.kotlin.incremental.classpathAsList -import org.jetbrains.kotlin.incremental.destinationAsFile import org.jetbrains.kotlin.utils.addToStdlib.cast import javax.inject.Inject diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/utils/compilerArgsUtils.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/utils/compilerArgsUtils.kt new file mode 100644 index 00000000000..fa511990623 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/utils/compilerArgsUtils.kt @@ -0,0 +1,21 @@ +/* + * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.gradle.utils + +import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments +import java.io.File + +internal var K2JVMCompilerArguments.destinationAsFile: File + get() = File(destination) + set(value) { + destination = value.absolutePath + } + +internal var K2JVMCompilerArguments.classpathAsList: List + get() = classpath.orEmpty().split(File.pathSeparator).map(::File) + set(value) { + classpath = value.joinToString(separator = File.pathSeparator, transform = { it.absolutePath }) + } \ No newline at end of file