Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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<String> {
return fields.map { field ->
private fun Row.toMarkDown(columnCount: Int): List<String> {
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<String> {
return rows.firstOrNull()
return rows.maxByOrNull { it.fields.size }
?.fields
?.map { field ->
field.name.replaceFirstChar {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ class ProjectInputConfigDeserializer(vc: Class<*>? = null) : StdDeserializer<Pro
r8MappingFile = if (contains("r8-mapping-file")) File(get("r8-mapping-file").asText()) else null,
ownerMappingFile = if (contains("owner-mapping-file")) File(get("owner-mapping-file").asText()) else null,
libraryOwnerMappingFile = if (contains("library-owner-mapping-file")) File(get("library-owner-mapping-file").asText()) else null,
projectRoot = File(get("project-root-dir").asText()),
projectRoot = if (contains("project-root-dir")) File(get("project-root-dir").asText()) else File(get("modules-directory").asText()),
)
}
}
Loading