diff --git a/src/swot/Compiler.kt b/src/swot/Compiler.kt index 978b8083b1..138eaad632 100644 --- a/src/swot/Compiler.kt +++ b/src/swot/Compiler.kt @@ -13,16 +13,16 @@ object CompilationState { fun main(args: Array) { val root = File("lib/domains") - root.recurse { - if (it.isFile()) { - val parts = root.relativePath(it).replace('\\', '/').trimTrailing(".txt").split('/').toList() + root.walkTopDown().forEach { + if (it.isFile) { + val parts = it.relativeTo(root).replace('\\', '/').removeSuffix(".txt").split('/').toList() if (!checkSet(CompilationState.blacklist, parts) && !checkSet(CompilationState.domains, parts)) { - CompilationState.domains.add(parts.reverse().join(".")) + CompilationState.domains.add(parts.reversed().joinToString(".")) } } } - val blacklist = CompilationState.blacklist.map { "-$it" }.sort().join("\n") + val blacklist = CompilationState.blacklist.map { "-$it" }.sorted().joinToString("\n") File("out/artifacts").mkdirs() - File("out/artifacts/swot.txt").writeText(blacklist + "\n" + CompilationState.domains.sort().join("\n")) + File("out/artifacts/swot.txt").writeText(blacklist + "\n" + CompilationState.domains.sorted().joinToString("\n")) } diff --git a/src/swot/Swot.kt b/src/swot/Swot.kt index 0532d362e1..9905ee3ff5 100644 --- a/src/swot/Swot.kt +++ b/src/swot/Swot.kt @@ -22,7 +22,7 @@ private object Resources { val blackList = readList("/blacklist.txt") ?: error("Cannot find /blacklist.txt") fun readList(resource: String) : Set? { - return javaClass.getResourceAsStream(resource)?.reader()?.buffered()?.lines()?.toHashSet() + return javaClass.getResourceAsStream(resource)?.reader()?.buffered()?.lineSequence()?.toHashSet() } } @@ -40,7 +40,7 @@ private fun findSchoolNames(parts: List): List { } private fun domainParts(emailOrDomain: String): List { - return emailOrDomain.trim().toLowerCase().substringAfter('@').substringAfter("://").substringBefore(':').split('.').reverse() + return emailOrDomain.trim().toLowerCase().substringAfter('@').substringAfter("://").substringBefore(':').split('.').reversed() } internal fun checkSet(set: Set, parts: List): Boolean {