KT-48264 Create dir before kotlin-build-report publish
This commit is contained in:
+6
@@ -25,6 +25,12 @@ internal class PlainTextBuildReportWriter(
|
|||||||
|
|
||||||
override fun process(build: BuildExecutionData) {
|
override fun process(build: BuildExecutionData) {
|
||||||
try {
|
try {
|
||||||
|
outputFile.parentFile.mkdirs()
|
||||||
|
if (!(outputFile.parentFile.exists() && outputFile.parentFile.isDirectory)) {
|
||||||
|
log.error("Kotlin build report cannot be created: '$outputFile.parentFile' is a file or do not have permissions to create")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
outputFile.bufferedWriter().use { writer ->
|
outputFile.bufferedWriter().use { writer ->
|
||||||
p = Printer(writer)
|
p = Printer(writer)
|
||||||
printBuildReport(build)
|
printBuildReport(build)
|
||||||
|
|||||||
+9
-13
@@ -66,18 +66,14 @@ private fun configurePlainTextReportWriter(
|
|||||||
reportingSettings: ReportingSettings
|
reportingSettings: ReportingSettings
|
||||||
): BuildExecutionDataProcessor? {
|
): BuildExecutionDataProcessor? {
|
||||||
val log = gradle.rootProject.logger
|
val log = gradle.rootProject.logger
|
||||||
val reportDir = reportingSettings.buildReportDir!!.apply { mkdirs() }
|
return reportingSettings.buildReportDir?.let { reportDir ->
|
||||||
if (reportDir.isFile) {
|
val ts = SimpleDateFormat("yyyy-MM-dd-HH-mm-ss").format(Calendar.getInstance().time)
|
||||||
log.error("Kotlin build report cannot be created: '$reportDir' is a file")
|
val reportFile = reportDir.resolve("${gradle.rootProject.name}-build-$ts.txt")
|
||||||
return null
|
|
||||||
}
|
|
||||||
reportDir.mkdirs()
|
|
||||||
val ts = SimpleDateFormat("yyyy-MM-dd-HH-mm-ss").format(Calendar.getInstance().time)
|
|
||||||
val reportFile = reportDir.resolve("${gradle.rootProject.name}-build-$ts.txt")
|
|
||||||
|
|
||||||
return PlainTextBuildReportWriter(
|
return PlainTextBuildReportWriter(
|
||||||
outputFile = reportFile,
|
outputFile = reportFile,
|
||||||
printMetrics = reportingSettings.includeMetricsInReport,
|
printMetrics = reportingSettings.includeMetricsInReport,
|
||||||
log = log
|
log = log
|
||||||
)
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user