Skip to content

Commit 650cb5e

Browse files
committed
breaking: feat: MmrpcSpec class
definition files are not of type MmrpcSpec
1 parent de18e45 commit 650cb5e

2 files changed

Lines changed: 21 additions & 8 deletions

File tree

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package org.cufy.mmrpc
2+
3+
import kotlinx.serialization.Serializable
4+
import org.cufy.mmrpc.compact.CompactElementDefinition
5+
6+
@Serializable
7+
data class MmrpcSpec(
8+
val name: String,
9+
val version: String,
10+
val sections: List<CanonicalName>,
11+
val elements: Set<CompactElementDefinition>,
12+
)

mmrpc-gradle-plugin/src/main/kotlin/MmrpcKotlinGenerateSourcesTask.kt

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ import com.squareup.kotlinpoet.ClassName
55
import kotlinx.serialization.decodeFromString
66
import kotlinx.serialization.json.Json
77
import org.cufy.mmrpc.CanonicalName
8+
import org.cufy.mmrpc.MmrpcSpec
89
import org.cufy.mmrpc.builtin
9-
import org.cufy.mmrpc.compact.CompactElementDefinition
1010
import org.cufy.mmrpc.compact.CompactSpecSheet
1111
import org.cufy.mmrpc.compact.inflate
1212
import org.cufy.mmrpc.gen.kotlin.*
@@ -241,24 +241,25 @@ open class MmrpcKotlinGenerateSourcesTask : DefaultTask() {
241241

242242
when (file.extension) {
243243
"json" -> {
244-
compactSpecSheet += try {
245-
Json.decodeFromString<CompactSpecSheet>(source)
244+
val spec = try {
245+
Json.decodeFromString<MmrpcSpec>(source)
246246
} catch (cause: Exception) {
247247
this.logger.error("$name: Couldn't decode file: ${file.absolutePath}", cause)
248248
continue
249249
}
250+
251+
compactSpecSheet += spec.elements
250252
}
251253

252254
"yaml", "yml" -> {
253-
compactSpecSheet += try {
254-
// Yaml.decodeFromString<CompactSpecSheet>(source)
255-
// Yaml.default.decodeFromString<CompactSpecSheet>(source)
256-
Yaml.default.decodeFromString<Set<CompactElementDefinition>>(source)
257-
.let { CompactSpecSheet(it) }
255+
val spec = try {
256+
Yaml.default.decodeFromString<MmrpcSpec>(source)
258257
} catch (cause: Exception) {
259258
this.logger.error("$name: Couldn't decode file: ${file.absolutePath}", cause)
260259
continue
261260
}
261+
262+
compactSpecSheet += spec.elements
262263
}
263264

264265
else -> {

0 commit comments

Comments
 (0)