1
0
Fork 0
mirror of https://github.com/ethauvin/kobalt.git synced 2025-04-25 16:07:12 -07:00

MetaArchive fix.

This commit is contained in:
Cedric Beust 2018-03-21 15:17:20 -07:00
parent 8d938bac2e
commit b368aedef2

View file

@ -93,14 +93,14 @@ class MetaArchive(outputFile: File, val manifest: Manifest?) : Closeable {
} }
} }
@Suppress("PrivatePropertyName")
private val DEFAULT_JAR_EXCLUDES =
Glob("META-INF/*.SF", "META-INF/*.DSA", "META-INF/*.RSA", MANIFEST_MF)
private val seen = hashSetOf<String>()
private fun okToAdd(name: String): Boolean = ! seen.contains(name) private fun okToAdd(name: String) : Boolean {
&& ! KFiles.isExcluded(name, DEFAULT_JAR_EXCLUDES) val result = !KFiles.isExcluded(name,
Glob("META-INF/*.SF", "META-INF/*.DSA", "META-INF/*.RSA", MANIFEST_MF))
// if (name.startsWith("META-INF")) println((if (result) "ADDING" else "NOT ADDING") + " $name")
return result
}
override fun close() = zos.close() override fun close() = zos.close()
@ -112,10 +112,14 @@ class MetaArchive(outputFile: File, val manifest: Manifest?) : Closeable {
zos.closeArchiveEntry() zos.closeArchiveEntry()
} }
private val seen = hashSetOf<String>()
private fun maybeAddEntry(entry: ArchiveEntry, action:() -> Unit) { private fun maybeAddEntry(entry: ArchiveEntry, action:() -> Unit) {
if (okToAdd(entry.name)) { entry.name.let { name ->
action() if (!seen.contains(name) && okToAdd(name)) {
action()
}
seen.add(name)
} }
seen.add(entry.name)
} }
} }