[Gradle] Format build report path as URI

#KT-34464 Fixed
This commit is contained in:
Alexander Likhachev
2022-07-19 22:43:56 +02:00
committed by Space
parent 783f394006
commit 40b8e3ce4b
4 changed files with 13 additions and 8 deletions
@@ -28,11 +28,11 @@ class BuildReportsIT : KGPBaseTest() {
fun testBuildReportSmokeTest(gradleVersion: GradleVersion) {
project("simpleProject", gradleVersion) {
build("assemble") {
assertOutputContains("Kotlin build report is written to")
assertBuildReportPathIsPrinted()
}
build("clean", "assemble") {
assertOutputContains("Kotlin build report is written to")
assertBuildReportPathIsPrinted()
}
}
}
@@ -52,7 +52,7 @@ class BuildReportsIT : KGPBaseTest() {
fun testBuildMetricsSmokeTest(gradleVersion: GradleVersion) {
project("simpleProject", gradleVersion) {
build("assemble") {
assertOutputContains("Kotlin build report is written to")
assertBuildReportPathIsPrinted()
}
val reportFolder = projectPath.resolve("build/reports/kotlin-build").toFile()
val reports = reportFolder.listFiles()
@@ -79,7 +79,7 @@ class BuildReportsIT : KGPBaseTest() {
fun testCompilerBuildMetricsSmokeTest(gradleVersion: GradleVersion) {
project("simpleProject", gradleVersion) {
build("assemble") {
assertOutputContains("Kotlin build report is written to")
assertBuildReportPathIsPrinted()
}
val reportFolder = projectPath.resolve("build/reports/kotlin-build").toFile()
val reports = reportFolder.listFiles()
@@ -190,11 +190,11 @@ class ConfigurationCacheIT : AbstractConfigurationCacheIT() {
project("simpleProject", gradleVersion) {
val buildOptions = defaultBuildOptions.copy(buildReport = listOf(BuildReportType.FILE))
build("assemble", buildOptions = buildOptions) {
assertOutputContains("Kotlin build report is written to")
assertBuildReportPathIsPrinted()
}
build("assemble", buildOptions = buildOptions) {
assertOutputContains("Kotlin build report is written to")
assertBuildReportPathIsPrinted()
}
}
}
@@ -174,3 +174,7 @@ fun BuildResult.assertKotlinDaemonJvmOptions(
"${argsStrings.toList()} does not contain expected args: $expectedJvmArgs"
}
}
fun BuildResult.assertBuildReportPathIsPrinted() {
assertOutputContains("Kotlin build report is written to file://")
}
@@ -43,6 +43,7 @@ internal class PlainTextBuildReportWriter(
private lateinit var p: Printer
fun process(build: BuildExecutionData, log: Logger) {
val buildReportPath = outputFile.toPath().toUri().toString()
try {
outputFile.parentFile.mkdirs()
if (!(outputFile.parentFile.exists() && outputFile.parentFile.isDirectory)) {
@@ -55,9 +56,9 @@ internal class PlainTextBuildReportWriter(
printBuildReport(build)
}
log.lifecycle("Kotlin build report is written to ${outputFile.canonicalPath}")
log.lifecycle("Kotlin build report is written to $buildReportPath")
} catch (e: Exception) {
log.error("Could not write Kotlin build report to ${outputFile.canonicalPath}", e)
log.error("Could not write Kotlin build report to $buildReportPath", e)
}
}