[build][build-tools] drop kotlinx.serialization in compilation DB generation.
This commit is contained in:
@@ -7,11 +7,8 @@ package org.jetbrains.kotlin
|
|||||||
|
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import kotlinx.serialization.Serializable
|
|
||||||
import kotlinx.serialization.builtins.list
|
|
||||||
import kotlinx.serialization.json.Json
|
|
||||||
import kotlinx.serialization.json.JsonConfiguration
|
|
||||||
import org.gradle.api.GradleException
|
import org.gradle.api.GradleException
|
||||||
|
import com.google.gson.annotations.Expose
|
||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
||||||
import org.gradle.api.Task
|
import org.gradle.api.Task
|
||||||
import org.gradle.api.DefaultTask
|
import org.gradle.api.DefaultTask
|
||||||
@@ -20,13 +17,14 @@ import org.gradle.api.tasks.InputFiles
|
|||||||
import org.gradle.api.tasks.OutputFile
|
import org.gradle.api.tasks.OutputFile
|
||||||
import org.gradle.api.tasks.TaskAction
|
import org.gradle.api.tasks.TaskAction
|
||||||
import org.jetbrains.kotlin.konan.target.HostManager
|
import org.jetbrains.kotlin.konan.target.HostManager
|
||||||
|
import java.io.FileReader
|
||||||
|
import java.io.FileWriter
|
||||||
|
|
||||||
@Serializable
|
internal data class Entry(
|
||||||
private data class Entry(
|
@Expose val directory: String,
|
||||||
val directory: String,
|
@Expose val file: String,
|
||||||
val file: String,
|
@Expose val arguments: List<String>,
|
||||||
val arguments: List<String>,
|
@Expose val output: String
|
||||||
val output: String
|
|
||||||
) {
|
) {
|
||||||
companion object {
|
companion object {
|
||||||
fun create(
|
fun create(
|
||||||
@@ -43,14 +41,12 @@ private data class Entry(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun writeListTo(file: File, entries: List<Entry>) {
|
fun writeListTo(file: File, entries: List<Entry>) = FileWriter(file).use {
|
||||||
val json = Json(JsonConfiguration.Stable.copy(prettyPrint = true))
|
gson.toJson(entries, it)
|
||||||
file.writeText(json.stringify(Entry.serializer().list, entries))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun readListFrom(file: File): List<Entry> {
|
fun readListFrom(file: File): Array<Entry> = FileReader(file).use{
|
||||||
val json = Json(JsonConfiguration.Stable)
|
gson.fromJson(it, Array<Entry>::class.java)
|
||||||
return json.parse(Entry.serializer().list, file.readText())
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user