[CLI] Restore K2JVMCompilerArguments.classpath and javaModulePath

to support IDEs < 2023.2

Reverts:
- 9dcd40d7b7
- fb66764c4d

KTIJ-25227
This commit is contained in:
Sebastian Sellmair
2023-04-17 08:25:29 +02:00
committed by Space Team
parent 7fe3c5c423
commit 5d0bf2de24
15 changed files with 29 additions and 38 deletions
@@ -342,7 +342,7 @@ fun CompilerConfiguration.configureBaseRoots(args: K2JVMCompilerArguments) {
}
}
args.classpath?.forEach { classpathRoot ->
args.classpath?.split(File.pathSeparator)?.forEach { classpathRoot ->
add(
CLIConfigurationKeys.CONTENT_ROOTS,
if (isJava9Module) JvmModulePathRoot(File(classpathRoot)) else JvmClasspathRoot(File(classpathRoot))
@@ -550,7 +550,7 @@ var K2JVMCompilerArguments.destinationAsFile: File
}
var K2JVMCompilerArguments.classpathAsList: List<File>
get() = classpath.orEmpty().map(::File)
get() = classpath.orEmpty().split(File.pathSeparator).map(::File)
set(value) {
classpath = value.map { it.path }.toTypedArray()
classpath = value.joinToString(separator = File.pathSeparator, transform = { it.path })
}
@@ -48,14 +48,14 @@ abstract class AbstractIncrementalJvmCompilerRunnerTest : AbstractIncrementalCom
}
if (javaSources.isEmpty()) return TestCompilationResult(ExitCode.OK, emptyList(), emptyList())
val javaClasspath = compileClasspath + kotlinClassesPath
val javaClasspath = compileClasspath + File.pathSeparator + kotlinClassesPath
val javaDestinationDir = File(workingDir, "java-classes").apply {
if (exists()) {
deleteRecursively()
}
mkdirs()
}
val args = arrayOf("-cp", javaClasspath.joinToString(File.pathSeparator),
val args = arrayOf("-cp", javaClasspath,
"-d", javaDestinationDir.canonicalPath,
*javaSources.map { it.canonicalPath }.toTypedArray()
)
@@ -73,12 +73,12 @@ abstract class AbstractIncrementalJvmCompilerRunnerTest : AbstractIncrementalCom
K2JVMCompilerArguments().apply {
moduleName = testDir.name
destination = destinationDir.path
classpath = compileClasspath.toTypedArray()
classpath = compileClasspath
}
private val compileClasspath =
listOf(
kotlinStdlibJvm,
KtTestUtil.getAnnotationsJar()
).map { it.canonicalPath }
).joinToString(File.pathSeparator) { it.canonicalPath }
}