[imltogradle] Speedup files traversing by ignoring directories
This commit is contained in:
committed by
TeamCityServer
parent
7e8168a7e6
commit
c8ae9a7090
+7
-3
@@ -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()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user