[imltogradle] Speedup files traversing by ignoring directories

This commit is contained in:
Nikolay Krasko
2021-06-17 15:46:50 +03:00
committed by TeamCityServer
parent 7e8168a7e6
commit c8ae9a7090
@@ -18,6 +18,7 @@ import org.jetbrains.jps.model.module.*
import org.jetbrains.kotlin.generators.imltogradle.GradleDependencyNotation.IntellijDepGradleDependencyNotation import org.jetbrains.kotlin.generators.imltogradle.GradleDependencyNotation.IntellijDepGradleDependencyNotation
import java.io.File import java.io.File
import java.util.* import java.util.*
import kotlin.system.measureNanoTime
private lateinit var intellijModuleNameToGradleDependencyNotationsMapping: Map<String, List<GradleDependencyNotation>> private lateinit var intellijModuleNameToGradleDependencyNotationsMapping: Map<String, List<GradleDependencyNotation>>
private val KOTLIN_REPO_ROOT = File(".").canonicalFile private val KOTLIN_REPO_ROOT = File(".").canonicalFile
@@ -50,11 +51,14 @@ val jsonUrlPrefixes = mapOf(
fun main() { fun main() {
val ijCommunityModuleNameToJpsModuleMapping = INTELLIJ_REPO_ROOT.loadJpsProject().modules.associateBy { it.name } val ijCommunityModuleNameToJpsModuleMapping = INTELLIJ_REPO_ROOT.loadJpsProject().modules.associateBy { it.name }
val imlFiles = INTELLIJ_REPO_ROOT.walk() val skipDirNames = setOf("src", "out", "org", "com", "testData")
.onEnter { it != INTELLIJ_REPO_ROOT.resolve("out") } val imlFiles = INTELLIJ_REPO_ROOT
.walk()
.onEnter { dir -> dir.name !in skipDirNames }
.filter { .filter {
it.isFile && it.extension == "iml" && it.isFile && it.extension == "iml" &&
(it.name.startsWith("kotlin.") || it.nameWithoutExtension in intellijModulesForWhichGenerateBuildGradle) (it.name.startsWith("kotlin.") ||
it.nameWithoutExtension in intellijModulesForWhichGenerateBuildGradle)
} }
.toList() .toList()