KotlinToolingMetadata: Add schemaVersion property
This commit is contained in:
committed by
TeamCityServer
parent
0119541462
commit
0a732869e9
+1
@@ -77,6 +77,7 @@ open class BuildKotlinToolingMetadataTask : DefaultTask() {
|
|||||||
|
|
||||||
private fun KotlinProjectExtension.getKotlinToolingMetadata(): KotlinToolingMetadata {
|
private fun KotlinProjectExtension.getKotlinToolingMetadata(): KotlinToolingMetadata {
|
||||||
return KotlinToolingMetadata(
|
return KotlinToolingMetadata(
|
||||||
|
schemaVersion = KotlinToolingMetadata.currentSchemaVersion,
|
||||||
buildSystem = "Gradle",
|
buildSystem = "Gradle",
|
||||||
buildSystemVersion = project.gradle.gradleVersion,
|
buildSystemVersion = project.gradle.gradleVersion,
|
||||||
buildPlugin = project.plugins.withType(KotlinBasePluginWrapper::class.java).joinToString(";") { it.javaClass.canonicalName },
|
buildPlugin = project.plugins.withType(KotlinBasePluginWrapper::class.java).joinToString(";") { it.javaClass.canonicalName },
|
||||||
|
|||||||
+2
@@ -16,6 +16,7 @@ fun KotlinToolingMetadata.toJsonString(): String {
|
|||||||
|
|
||||||
internal fun KotlinToolingMetadata.toJsonObject(): JsonObject {
|
internal fun KotlinToolingMetadata.toJsonObject(): JsonObject {
|
||||||
return JsonObject().apply {
|
return JsonObject().apply {
|
||||||
|
addProperty("schemaVersion", schemaVersion)
|
||||||
addProperty("buildSystem", buildSystem)
|
addProperty("buildSystem", buildSystem)
|
||||||
addProperty("buildSystemVersion", buildSystemVersion)
|
addProperty("buildSystemVersion", buildSystemVersion)
|
||||||
addProperty("buildPlugin", buildPlugin)
|
addProperty("buildPlugin", buildPlugin)
|
||||||
@@ -118,6 +119,7 @@ fun KotlinToolingMetadata.Companion.parseJsonOrThrow(value: String): KotlinTooli
|
|||||||
|
|
||||||
private fun JsonObject.toKotlinToolingMetadataOrThrow(): KotlinToolingMetadata {
|
private fun JsonObject.toKotlinToolingMetadataOrThrow(): KotlinToolingMetadata {
|
||||||
return KotlinToolingMetadata(
|
return KotlinToolingMetadata(
|
||||||
|
schemaVersion = getOrThrow("schemaVersion").asString,
|
||||||
buildSystem = getOrThrow("buildSystem").asString,
|
buildSystem = getOrThrow("buildSystem").asString,
|
||||||
buildSystemVersion = getOrThrow("buildSystemVersion").asString,
|
buildSystemVersion = getOrThrow("buildSystemVersion").asString,
|
||||||
buildPlugin = getOrThrow("buildPlugin").asString,
|
buildPlugin = getOrThrow("buildPlugin").asString,
|
||||||
|
|||||||
+4
-1
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.tooling
|
|||||||
|
|
||||||
|
|
||||||
data class KotlinToolingMetadata(
|
data class KotlinToolingMetadata(
|
||||||
|
val schemaVersion: String,
|
||||||
/**
|
/**
|
||||||
* Build System used (e.g. Gradle, Maven, ...)
|
* Build System used (e.g. Gradle, Maven, ...)
|
||||||
*/
|
*/
|
||||||
@@ -66,7 +67,9 @@ data class KotlinToolingMetadata(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object
|
companion object {
|
||||||
|
const val currentSchemaVersion: String = "1.0.0"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+3
-1
@@ -21,9 +21,10 @@ import kotlin.test.assertNull
|
|||||||
class DeserializeStringTest {
|
class DeserializeStringTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun sample1() {
|
fun `schemaVersion 1 0 0`() {
|
||||||
@Language("JSON") val json = """
|
@Language("JSON") val json = """
|
||||||
{
|
{
|
||||||
|
"schemaVersion": "1.0.0",
|
||||||
"buildSystem": "Gradle",
|
"buildSystem": "Gradle",
|
||||||
"buildSystemVersion": "6.7",
|
"buildSystemVersion": "6.7",
|
||||||
"buildPlugin": "org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformPluginWrapper",
|
"buildPlugin": "org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformPluginWrapper",
|
||||||
@@ -83,6 +84,7 @@ class DeserializeStringTest {
|
|||||||
""".trimIndent()
|
""".trimIndent()
|
||||||
|
|
||||||
val metadata = KotlinToolingMetadata.parseJsonOrThrow(json)
|
val metadata = KotlinToolingMetadata.parseJsonOrThrow(json)
|
||||||
|
assertEquals("1.0.0", metadata.schemaVersion)
|
||||||
assertEquals("Gradle", metadata.buildSystem)
|
assertEquals("Gradle", metadata.buildSystem)
|
||||||
assertEquals("6.7", metadata.buildSystemVersion)
|
assertEquals("6.7", metadata.buildSystemVersion)
|
||||||
assertEquals("org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformPluginWrapper", metadata.buildPlugin)
|
assertEquals("org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformPluginWrapper", metadata.buildPlugin)
|
||||||
|
|||||||
+1
@@ -84,6 +84,7 @@ private fun assertDeserializedMatchesOrigin(origin: KotlinToolingMetadata) {
|
|||||||
|
|
||||||
private fun defaultKotlinToolingMetadata(): KotlinToolingMetadata {
|
private fun defaultKotlinToolingMetadata(): KotlinToolingMetadata {
|
||||||
return KotlinToolingMetadata(
|
return KotlinToolingMetadata(
|
||||||
|
schemaVersion = KotlinToolingMetadata.currentSchemaVersion,
|
||||||
buildSystem = "generic build system",
|
buildSystem = "generic build system",
|
||||||
buildSystemVersion = "v1.0 (build system)",
|
buildSystemVersion = "v1.0 (build system)",
|
||||||
buildPlugin = "generic build plugin",
|
buildPlugin = "generic build plugin",
|
||||||
|
|||||||
Reference in New Issue
Block a user