[imltogradle] Generate maven repos based on 'jarRepositories.xml' from Community

This commit minimizes difference between build.gradle.kts
files generated from ultimate & community infrastructure
This commit is contained in:
Nikita Bobko
2021-06-14 16:00:45 +02:00
parent ce26d54917
commit 3bf7eef4d8
@@ -21,6 +21,7 @@ import java.util.*
private lateinit var intellijModuleNameToGradleDependencyNotationsMapping: Map<String, List<GradleDependencyNotation>>
private val KOTLIN_REPO_ROOT = File(".").canonicalFile
private val INTELLIJ_REPO_ROOT = KOTLIN_REPO_ROOT.resolve("kotlin-ide")
private val INTELLIJ_COMMUNITY_REPO_ROOT = INTELLIJ_REPO_ROOT.resolve("kotlin").takeIf { it.exists() } ?: INTELLIJ_REPO_ROOT
private val intellijModuleNameToGradleDependencyNotationsMappingManual: List<Pair<String, GradleDependencyNotation>> = listOf(
"intellij.platform.jps.build" to GradleDependencyNotation("jpsBuildTest()"),
@@ -195,7 +196,7 @@ fun convertJpsModule(imlFile: File, jpsModule: JpsModule): String {
.mapValues { entry -> entry.value.joinToString("\n") { convertJpsModuleSourceRoot(imlFile, it) } }
.let { Pair(it[false] ?: "", it[true] ?: "") }
val mavenRepos = INTELLIJ_REPO_ROOT.resolve(".idea/jarRepositories.xml").readXml().traverseChildren()
val mavenRepos = INTELLIJ_COMMUNITY_REPO_ROOT.resolve(".idea/jarRepositories.xml").readXml().traverseChildren()
.filter { it.getAttributeValue("name") == "url" }
.map { it.getAttributeValue("value")!! }
.map { "maven { setUrl(\"$it\") }" }