Native: make CompareDistributionSignatures task fail on klib tool errors

CompareDistributionSignatures task is used to compare Native platform
libraries contents against a previous version.

Under the hood, it runs the klib tool to get a library contents. But it
didn't check the exit code, so if klib tool failed, the task could
mistakenly indicate that there are no differences in platform libs.

Fix this by checking the klib tool exit code and failing if it is not
zero.
This commit is contained in:
Svyatoslav Scherbina
2023-08-10 13:47:59 +02:00
committed by Space Team
parent cee355196a
commit 4da8b0850e
@@ -153,7 +153,12 @@ open class CompareDistributionSignatures : DefaultTask() {
val tool = if (HostManager.hostIsMingw) "klib.bat" else "klib"
val klibTool = File("$newDistribution/bin/$tool").absolutePath
val args = listOf("signatures", klib.absolutePath)
return runProcess(localExecutor(project), klibTool, args).stdOut.lines().filter { it.isNotBlank() }
val output = runProcess(localExecutor(project), klibTool, args)
if (output.exitCode != 0) {
logger.error(output.stdErr)
error("Execution failed with exit code: ${output.exitCode}")
}
return output.stdOut.lines().filter { it.isNotBlank() }
}
private fun looksLikeKotlinNativeDistribution(directory: Path): Boolean {