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 { it.asJsonObject }
|
||||||
.map { MavenArchetype(it.get("g").asString, it.get("a").asString, it.get("v").asString, null, null) }
|
.map { MavenArchetype(it.get("g").asString, it.get("a").asString, it.get("v").asString, null, null) }
|
||||||
.filter { it.version?.startsWith(versionPrefix) ?: false }
|
.filter { it.version?.startsWith(versionPrefix) ?: false }
|
||||||
.maxBy { MavenVersionComparable(it.version) }
|
.groupBy { it.groupId + ":" + it.artifactId }
|
||||||
.let { listOfNotNull(it) }
|
.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 {
|
private fun mavenSearchUrl(group: String, artifactId: String? = null, version: String? = null, packaging: String? = null, rowsLimit: Int = 20): String {
|
||||||
val q = listOf(
|
val q = listOf(
|
||||||
|
|||||||
+2
-1
@@ -39,7 +39,8 @@ class KotlinMavenArchetypesProviderTest {
|
|||||||
|
|
||||||
assertEquals(
|
assertEquals(
|
||||||
listOf(
|
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 },
|
).sortedBy { it.artifactId + "." + it.version },
|
||||||
versions.sortedBy { it.artifactId + "." + it.version }
|
versions.sortedBy { it.artifactId + "." + it.version }
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user