[Gradle, Native, IT] Allow checking compiler classpath

This commit is contained in:
Svyatoslav Scherbina
2021-08-30 13:33:50 +03:00
committed by Space
parent 0fd4884149
commit f049c4a630
2 changed files with 11 additions and 1 deletions
@@ -987,6 +987,7 @@ class GeneralNativeIT : BaseGradleIT() {
}
private enum class NativeToolSettingsKind(val title: String) {
COMPILER_CLASSPATH("Classpath"),
COMMAND_LINE_ARGUMENTS("Arguments"),
CUSTOM_ENV_VARIABLES("Custom ENV variables")
}
@@ -1025,6 +1026,9 @@ class GeneralNativeIT : BaseGradleIT() {
fun CompiledProject.extractNativeCommandLineArguments(taskPath: String? = null, toolName: String): List<String> =
extractNativeToolSettings(toolName, taskPath, NativeToolSettingsKind.COMMAND_LINE_ARGUMENTS).toList()
fun CompiledProject.extractNativeCompilerClasspath(taskPath: String? = null, toolName: String): List<String> =
extractNativeToolSettings(toolName, taskPath, NativeToolSettingsKind.COMPILER_CLASSPATH).toList()
fun CompiledProject.extractNativeCustomEnvironment(taskPath: String? = null, toolName: String): Map<String, String> =
extractNativeToolSettings(toolName, taskPath, NativeToolSettingsKind.CUSTOM_ENV_VARIABLES).map {
val (key, value) = it.split("=")
@@ -1036,6 +1040,12 @@ class GeneralNativeIT : BaseGradleIT() {
toolName: String = "konanc",
check: (List<String>) -> Unit
) = taskPaths.forEach { taskPath -> check(extractNativeCommandLineArguments(taskPath, toolName)) }
fun CompiledProject.checkNativeCompilerClasspath(
vararg taskPaths: String,
toolName: String = "konanc",
check: (List<String>) -> Unit
) = taskPaths.forEach { taskPath -> check(extractNativeCompilerClasspath(taskPath, toolName)) }
fun CompiledProject.checkNativeCustomEnvironment(
vararg taskPaths: String,
@@ -116,7 +116,7 @@ internal abstract class KotlinToolRunner(
project.logger.info(
"""|Run in-process tool "$displayName"
|Entry point method = $mainClass.$daemonEntryPoint
|Classpath = ${classpath.joinToString(File.pathSeparator) { it.absolutePath }}
|Classpath = ${classpath.map { it.absolutePath }.toPrettyString()}
|Arguments = ${args.toPrettyString()}
|Transformed arguments = ${if (transformedArgs == args) "same as arguments" else transformedArgs.toPrettyString()}
""".trimMargin()