KT-11261 Implement MavenArchetypesProvider extension point
This commit is contained in:
@@ -61,8 +61,13 @@ class KotlinMavenArchetypesProvider(val kotlinPluginVersion: String) : MavenArch
|
||||
.map { it.asJsonObject }
|
||||
.map { MavenArchetype(it.get("g").asString, it.get("a").asString, it.get("v").asString, null, null) }
|
||||
.filter { it.version?.startsWith(versionPrefix) ?: false }
|
||||
.maxBy { MavenVersionComparable(it.version) }
|
||||
.let { listOfNotNull(it) }
|
||||
.groupBy { it.groupId + ":" + it.artifactId }
|
||||
.mapValues { chooseVersion(it.value) }
|
||||
.mapNotNull { it.value }
|
||||
|
||||
private fun chooseVersion(versions: List<MavenArchetype>): MavenArchetype? {
|
||||
return versions.maxBy { MavenVersionComparable(it.version) }
|
||||
}
|
||||
|
||||
private fun mavenSearchUrl(group: String, artifactId: String? = null, version: String? = null, packaging: String? = null, rowsLimit: Int = 20): String {
|
||||
val q = listOf(
|
||||
|
||||
+2
-1
@@ -39,7 +39,8 @@ class KotlinMavenArchetypesProviderTest {
|
||||
|
||||
assertEquals(
|
||||
listOf(
|
||||
MavenArchetype("org.jetbrains.kotlin", "kotlin-archetype-jvm", "1.0.1-2", null, null)
|
||||
MavenArchetype("org.jetbrains.kotlin", "kotlin-archetype-jvm", "1.0.1-2", null, null),
|
||||
MavenArchetype("org.jetbrains.kotlin", "kotlin-archetype-js", "1.0.0", null, null)
|
||||
).sortedBy { it.artifactId + "." + it.version },
|
||||
versions.sortedBy { it.artifactId + "." + it.version }
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user