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 {
|
||||
return KotlinToolingMetadata(
|
||||
schemaVersion = KotlinToolingMetadata.currentSchemaVersion,
|
||||
buildSystem = "Gradle",
|
||||
buildSystemVersion = project.gradle.gradleVersion,
|
||||
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 {
|
||||
return JsonObject().apply {
|
||||
addProperty("schemaVersion", schemaVersion)
|
||||
addProperty("buildSystem", buildSystem)
|
||||
addProperty("buildSystemVersion", buildSystemVersion)
|
||||
addProperty("buildPlugin", buildPlugin)
|
||||
@@ -118,6 +119,7 @@ fun KotlinToolingMetadata.Companion.parseJsonOrThrow(value: String): KotlinTooli
|
||||
|
||||
private fun JsonObject.toKotlinToolingMetadataOrThrow(): KotlinToolingMetadata {
|
||||
return KotlinToolingMetadata(
|
||||
schemaVersion = getOrThrow("schemaVersion").asString,
|
||||
buildSystem = getOrThrow("buildSystem").asString,
|
||||
buildSystemVersion = getOrThrow("buildSystemVersion").asString,
|
||||
buildPlugin = getOrThrow("buildPlugin").asString,
|
||||
|
||||
+4
-1
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.tooling
|
||||
|
||||
|
||||
data class KotlinToolingMetadata(
|
||||
val schemaVersion: String,
|
||||
/**
|
||||
* 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 {
|
||||
|
||||
@Test
|
||||
fun sample1() {
|
||||
fun `schemaVersion 1 0 0`() {
|
||||
@Language("JSON") val json = """
|
||||
{
|
||||
"schemaVersion": "1.0.0",
|
||||
"buildSystem": "Gradle",
|
||||
"buildSystemVersion": "6.7",
|
||||
"buildPlugin": "org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformPluginWrapper",
|
||||
@@ -83,6 +84,7 @@ class DeserializeStringTest {
|
||||
""".trimIndent()
|
||||
|
||||
val metadata = KotlinToolingMetadata.parseJsonOrThrow(json)
|
||||
assertEquals("1.0.0", metadata.schemaVersion)
|
||||
assertEquals("Gradle", metadata.buildSystem)
|
||||
assertEquals("6.7", metadata.buildSystemVersion)
|
||||
assertEquals("org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformPluginWrapper", metadata.buildPlugin)
|
||||
|
||||
+1
@@ -84,6 +84,7 @@ private fun assertDeserializedMatchesOrigin(origin: KotlinToolingMetadata) {
|
||||
|
||||
private fun defaultKotlinToolingMetadata(): KotlinToolingMetadata {
|
||||
return KotlinToolingMetadata(
|
||||
schemaVersion = KotlinToolingMetadata.currentSchemaVersion,
|
||||
buildSystem = "generic build system",
|
||||
buildSystemVersion = "v1.0 (build system)",
|
||||
buildPlugin = "generic build plugin",
|
||||
|
||||
Reference in New Issue
Block a user