[BTA] Add Kotlin version getter into CompilationService

^KT-62921 In Progress
This commit is contained in:
Alexander.Likhachev
2024-01-22 17:36:08 +01:00
committed by Space Team
parent f81b1150b2
commit 10cedd495d
3 changed files with 11 additions and 1 deletions
@@ -12,6 +12,7 @@ public abstract interface class org/jetbrains/kotlin/buildtools/api/CompilationS
public abstract fun calculateClasspathSnapshot (Ljava/io/File;Lorg/jetbrains/kotlin/buildtools/api/jvm/ClassSnapshotGranularity;)Lorg/jetbrains/kotlin/buildtools/api/jvm/ClasspathEntrySnapshot;
public abstract fun compileJvm (Lorg/jetbrains/kotlin/buildtools/api/ProjectId;Lorg/jetbrains/kotlin/buildtools/api/CompilerExecutionStrategyConfiguration;Lorg/jetbrains/kotlin/buildtools/api/jvm/JvmCompilationConfiguration;Ljava/util/List;Ljava/util/List;)Lorg/jetbrains/kotlin/buildtools/api/CompilationResult;
public abstract fun finishProjectCompilation (Lorg/jetbrains/kotlin/buildtools/api/ProjectId;)V
public abstract fun getCompilerVersion ()Ljava/lang/String;
public abstract fun getCustomKotlinScriptFilenameExtensions (Ljava/util/List;)Ljava/util/Collection;
public static fun loadImplementation (Ljava/lang/ClassLoader;)Lorg/jetbrains/kotlin/buildtools/api/CompilationService;
public abstract fun makeCompilerExecutionStrategyConfiguration ()Lorg/jetbrains/kotlin/buildtools/api/CompilerExecutionStrategyConfiguration;
@@ -9,7 +9,6 @@ import org.jetbrains.kotlin.buildtools.api.jvm.ClassSnapshotGranularity
import org.jetbrains.kotlin.buildtools.api.jvm.ClasspathEntrySnapshot
import org.jetbrains.kotlin.buildtools.api.jvm.JvmCompilationConfiguration
import java.io.File
import java.util.*
/**
* A facade for invoking compilation and related stuff (such as [calculateClasspathSnapshot]) in Kotlin compiler.
@@ -78,6 +77,13 @@ public interface CompilationService {
*/
public fun getCustomKotlinScriptFilenameExtensions(classpath: List<File>): Collection<String>
/**
* Returns the version of the Kotlin compiler used to run compilation.
*
* @return A string representing the version of the Kotlin compiler, for example `2.0.0-Beta4`.
*/
public fun getCompilerVersion(): String
@ExperimentalBuildToolsApi
public companion object {
@JvmStatic
@@ -24,6 +24,7 @@ import org.jetbrains.kotlin.cli.jvm.K2JVMCompiler
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
import org.jetbrains.kotlin.cli.jvm.modules.CoreJrtFileSystem
import org.jetbrains.kotlin.compilerRunner.KotlinCompilerRunnerUtils
import org.jetbrains.kotlin.config.KotlinCompilerVersion
import org.jetbrains.kotlin.config.Services
import org.jetbrains.kotlin.daemon.client.BasicCompilerServicesWithResultsFacadeServer
import org.jetbrains.kotlin.daemon.common.CompilerId
@@ -230,6 +231,8 @@ internal object CompilationServiceImpl : CompilationService {
ExitCode.COMPILATION_ERROR
}).asCompilationResult
}
override fun getCompilerVersion(): String = KotlinCompilerVersion.VERSION
}
internal class CompilationServiceProxy : CompilationService by CompilationServiceImpl