JS: simplify load metadata
This commit is contained in:
@@ -50,18 +50,18 @@ public object KotlinJavascriptMetadataUtils {
|
|||||||
platformStatic
|
platformStatic
|
||||||
public fun loadMetadata(file: File): List<KotlinJavascriptMetadata> {
|
public fun loadMetadata(file: File): List<KotlinJavascriptMetadata> {
|
||||||
assert(file.exists()) { "Library " + file + " not found" }
|
assert(file.exists()) { "Library " + file + " not found" }
|
||||||
|
val metadataList = arrayListOf<KotlinJavascriptMetadata>()
|
||||||
|
LibraryUtils.traverseJsLibrary(file) { content, relativePath ->
|
||||||
|
var path = file.getPath()
|
||||||
|
|
||||||
var result: MutableList<KotlinJavascriptMetadata> = arrayListOf()
|
if (relativePath.isNotBlank()) {
|
||||||
if (file.isDirectory()) {
|
path += "/$relativePath"
|
||||||
loadMetadataFromDirectory(file, result)
|
}
|
||||||
|
|
||||||
|
parseMetadata(content, path, metadataList)
|
||||||
}
|
}
|
||||||
else if (file.getName().endsWith(JS_EXT)) {
|
|
||||||
loadMetadataFromFile(file, result)
|
return metadataList
|
||||||
}
|
|
||||||
else {
|
|
||||||
loadMetadataFromZip(file, result)
|
|
||||||
}
|
|
||||||
return result
|
|
||||||
}
|
}
|
||||||
|
|
||||||
platformStatic
|
platformStatic
|
||||||
@@ -81,26 +81,4 @@ public object KotlinJavascriptMetadataUtils {
|
|||||||
metadataList.add(KotlinJavascriptMetadata(moduleName, parseBase64Binary(data)))
|
metadataList.add(KotlinJavascriptMetadata(moduleName, parseBase64Binary(data)))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun loadMetadataFromFile(file: File, metadataList: MutableList<KotlinJavascriptMetadata>) {
|
|
||||||
try {
|
|
||||||
val content = FileUtil.loadFile(file)
|
|
||||||
parseMetadata(content, file.getPath(), metadataList)
|
|
||||||
}
|
|
||||||
catch (ex: IOException) {
|
|
||||||
LOG.error("Could not read ${file.getAbsolutePath()}: ${ex.getMessage()}")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun loadMetadataFromDirectory(dir: File, metadataList: MutableList<KotlinJavascriptMetadata>) {
|
|
||||||
LibraryUtils.traverseDirectory(dir) {
|
|
||||||
file, relativePath -> parseMetadata(FileUtil.loadFile(file), file.getPath(), metadataList)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun loadMetadataFromZip(file: File, metadataList: MutableList<KotlinJavascriptMetadata>) {
|
|
||||||
LibraryUtils.traverseArchive(file) { content, relativePath ->
|
|
||||||
parseMetadata(content, "${file.getPath()}/$relativePath", metadataList)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user