in plugin-dotnet-agent/src/main/kotlin/jetbrains/buildServer/dotnet/coverage/DotnetCoverageReportGeneratorRunner.kt [18:60]
fun runReportGenerator(activity: String, arguments: List<String?>): Int {
val cmdLine = GeneralCommandLine()
when (_profileHostFile) {
null -> cmdLine.exePath = _coverToolEntryPointFile.path
else -> {
cmdLine.exePath = _profileHostFile.path
cmdLine.addParameter(_coverToolEntryPointFile.path)
}
}
cmdLine.addParameters(arguments)
cmdLine.setEnvParams(_params.getBuildEnvironmentVariables())
val logger: BuildProgressLogger = _params.getBuildLogger()
logger.activityStarted(activity, ACTIVITY)
return try {
val result = SimpleCommandLineProcessRunner.runCommand(cmdLine, ByteArray(0))
LOG.info("Started: " + cmdLine.commandLineString)
logger.message("Started " + _toolName + ": " + cmdLine.commandLineString)
logger.message("Output: " + result.stdout)
if (result.stderr.trim { it <= ' ' }.length > 0) {
logger.warning("Error: " + result.stderr)
}
val msg = _toolName + " exited with code: " + result.exitCode
if (result.exitCode == 0) {
logger.message(msg)
} else {
logger.warning(msg)
logger.warning("$_toolName returned non-zero exit code.")
}
LOG.info("Exit Code: " + result.exitCode)
result.exitCode
} finally {
logger.activityFinished(activity, ACTIVITY)
}
}
companion object {
private const val ACTIVITY = ".NET Coverage"
private val LOG = Logger.getInstance(
DotnetCoverageReportGeneratorRunner::class.java.name
)
}
}