From 598236f787dc6c3f41e04d324fd1a00d334e938e Mon Sep 17 00:00:00 2001 From: Minh Nguyen Date: Wed, 6 May 2026 13:49:47 +0800 Subject: [PATCH] fix issue after onboard new cli version into Grab app --- .../com/grab/sizer/report/MarkdownReportWriter.kt | 13 ++++++++----- .../kotlin/com/grab/sizer/config/ProjectInput.kt | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/app-sizer/src/main/kotlin/com/grab/sizer/report/MarkdownReportWriter.kt b/app-sizer/src/main/kotlin/com/grab/sizer/report/MarkdownReportWriter.kt index 45364c6..a23a588 100644 --- a/app-sizer/src/main/kotlin/com/grab/sizer/report/MarkdownReportWriter.kt +++ b/app-sizer/src/main/kotlin/com/grab/sizer/report/MarkdownReportWriter.kt @@ -42,29 +42,32 @@ class MarkdownReportWriter @Inject constructor( private val projectInfo: ProjectInfo, ) : ReportWriter { override fun write(report: Report) { + val header = report.createHeader() File(File(outputDirectory, projectInfo.deviceName), "${report.id}-report.md").apply { initOutPutFile() writeText( - MarkdownTable(report.createHeader()).apply { + MarkdownTable(header).apply { report.rows.forEach { row -> - addRow(row.toMarkDown()) + addRow(row.toMarkDown(header.size)) } }.generate() ) } } - private fun Row.toMarkDown(): List { - return fields.map { field -> + private fun Row.toMarkDown(columnCount: Int): List { + val values = fields.map { field -> when (field.value) { is Long -> (field.value as Long).reportSize() else -> field.value.toString() } } + return if (values.size < columnCount) values + List(columnCount - values.size) { "NA" } + else values } private fun Report.createHeader(): List { - return rows.firstOrNull() + return rows.maxByOrNull { it.fields.size } ?.fields ?.map { field -> field.name.replaceFirstChar { diff --git a/cli/src/main/kotlin/com/grab/sizer/config/ProjectInput.kt b/cli/src/main/kotlin/com/grab/sizer/config/ProjectInput.kt index c4a7b63..acf127f 100644 --- a/cli/src/main/kotlin/com/grab/sizer/config/ProjectInput.kt +++ b/cli/src/main/kotlin/com/grab/sizer/config/ProjectInput.kt @@ -66,7 +66,7 @@ class ProjectInputConfigDeserializer(vc: Class<*>? = null) : StdDeserializer