Check for unused explorer icons

This commit is contained in:
ligi 2023-03-13 10:55:03 +01:00
parent 64a742ad9e
commit 105c884c35
No known key found for this signature in database
GPG Key ID: 8E81894010ABF23D

View File

@ -135,7 +135,7 @@ private fun doChecks(doRPCConnect: Boolean, doIconDownload: Boolean, verbose: Bo
if (!allIconCIDs.contains(it.name)) unusedIconDownload.add(it.name) if (!allIconCIDs.contains(it.name)) unusedIconDownload.add(it.name)
} }
if (unusedIconDownload.isNotEmpty()) { if (unusedIconDownload.isNotEmpty()) {
throw UnreferencedIcon(unusedIconDownload.joinToString (" ") , iconsDownloadPath) throw UnreferencedIcon(unusedIconDownload.joinToString(" "), iconsDownloadPath)
} }
allFiles.filter { it.isDirectory }.forEach { _ -> allFiles.filter { it.isDirectory }.forEach { _ ->
error("should not contain a directory") error("should not contain a directory")
@ -269,13 +269,7 @@ fun checkChain(chainFile: File, connectRPC: Boolean, verbose: Boolean = false) {
} }
jsonObject["icon"]?.let { jsonObject["icon"]?.let {
if (it !is String) { processIcon(it, chainFile)
error("icon must be string")
}
if (!File(iconsPath, "$it.json").exists()) {
error("The Icon $it does not exist - was used in ${chainFile.name}")
}
allUsedIcons.add(it)
} }
val nameRegex = Regex("^[a-zA-Z0-9\\-\\.\\(\\) ]+$") val nameRegex = Regex("^[a-zA-Z0-9\\-\\.\\(\\) ]+$")
@ -330,8 +324,8 @@ fun checkChain(chainFile: File, connectRPC: Boolean, verbose: Boolean = false) {
throw (ExplorerMustHaveName()) throw (ExplorerMustHaveName())
} }
if (explorer["icon"] != null) { explorer["icon"]?.let { explorerIcon ->
allUsedIcons.add(explorer["icon"].toString()) processIcon(explorerIcon, chainFile)
} }
val url = explorer["url"] val url = explorer["url"]
@ -477,6 +471,16 @@ fun checkChain(chainFile: File, connectRPC: Boolean, verbose: Boolean = false) {
} }
} }
private fun processIcon(it: Any, chainFile: File): Boolean {
if (it !is String) {
error("icon must be string")
}
if (!File(iconsPath, "$it.json").exists()) {
error("The Icon $it does not exist - was used in ${chainFile.name}")
}
return allUsedIcons.add(it)
}
private fun String.checkString(which: String) { private fun String.checkString(which: String) {
if (isBlank()) { if (isBlank()) {
throw StringCannotBeBlank(which) throw StringCannotBeBlank(which)