From 2466c5d86edb65bcecc9cc54ac6675a538a29d43 Mon Sep 17 00:00:00 2001 From: Henry Addo Date: Thu, 20 Jun 2024 20:46:21 -0700 Subject: [PATCH] Make asset files map available for reuse --- .../github/takahirom/roborazzi/WebAssets.kt | 28 +++++++++++-------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/include-build/roborazzi-gradle-plugin/src/main/java/io/github/takahirom/roborazzi/WebAssets.kt b/include-build/roborazzi-gradle-plugin/src/main/java/io/github/takahirom/roborazzi/WebAssets.kt index f5cc19f0..b0385a1c 100644 --- a/include-build/roborazzi-gradle-plugin/src/main/java/io/github/takahirom/roborazzi/WebAssets.kt +++ b/include-build/roborazzi-gradle-plugin/src/main/java/io/github/takahirom/roborazzi/WebAssets.kt @@ -4,10 +4,12 @@ import org.webjars.WebJarVersionLocator import java.io.File class WebAssets private constructor(private val webJarVersionLocator: WebJarVersionLocator) { - private val materializeCss = "materializecss" - private val materialIcons = "material-design-icons" private val webJarResource = "resources" + val assets = assetPathsMap.entries.flatMap { + assets -> assets.value.map { it.substringAfterLast("/") } + } + fun writeToRoborazziReportsDir(reportDir: File) { writeLocalAssetsToRoborazziReportsDir(reportDir) writeWebJarAssetsToRoborazziReportsDir(reportDir) @@ -22,16 +24,7 @@ class WebAssets private constructor(private val webJarVersionLocator: WebJarVers } private fun writeWebJarAssetsToRoborazziReportsDir(reportDir: File) { - mapOf( - materializeCss to listOf( - "css/materialize.min.css", - "js/materialize.min.js", - ), - materialIcons to listOf( - "material-icons.css", - "MaterialIcons-Regular.ttf", - ) - ).forEach { (key, value) -> + assetPathsMap.forEach { (key, value) -> value.forEach { exactPath -> webJarVersionLocator.locate(key, exactPath)?.let { writeAssets( @@ -71,6 +64,17 @@ class WebAssets private constructor(private val webJarVersionLocator: WebJarVers companion object { + val assetPathsMap = mapOf( + "materializecss" to listOf( + "css/materialize.min.css", + "js/materialize.min.js", + ), + "material-design-icons" to listOf( + "material-icons.css", + "MaterialIcons-Regular.ttf", + ) + ) + fun create( webJarVersionLocator: WebJarVersionLocator = WebJarVersionLocator() ): WebAssets = WebAssets(webJarVersionLocator)