79 lines
2.0 KiB
Plaintext

plugins {
id("space.kscience.gradle.mpp")
}
description = "IO module"
kscience {
jvm()
js()
native()
wasm()
useSerialization()
useSerialization(sourceSet = space.kscience.gradle.DependencySourceSet.TEST) {
cbor()
}
dependencies {
api(projects.dataforgeContext)
api(spclibs.kotlinx.io.core)
api(spclibs.kotlinx.io.bytestring)
}
}
readme {
maturity = space.kscience.gradle.Maturity.EXPERIMENTAL
description = """
Serialization foundation for Meta objects and Envelope processing.
""".trimIndent()
feature(
"io-format",
ref = "src/commonMain/kotlin/space/kscience/dataforge/io/IOFormat.kt",
name = "IO format"
) {
"""
A generic API for reading something from binary representation and writing it to Binary.
Similar to KSerializer, but without schema.
""".trimIndent()
}
feature(
"binary",
ref = "src/commonMain/kotlin/space/kscience/dataforge/io/Binary.kt",
name = "Binary"
) {
"Multi-read random access binary."
}
feature(
"envelope",
ref = "src/commonMain/kotlin/space/kscience/dataforge/io/Envelope.kt",
name = "Envelope"
) {
"""
API and implementations for combined data and metadata format.
""".trimIndent()
}
feature(
"envelope.tagged",
ref = "src/commonMain/kotlin/space/kscience/dataforge/io/TaggedEnvelope.kt",
name = "Tagged envelope"
) {
"""
Implementation for binary-friendly envelope format with machine readable tag and forward size declaration.
""".trimIndent()
}
feature(
"envelope.tagless",
ref = "src/commonMain/kotlin/space/kscience/dataforge/io/TaglessEnvelope.kt",
name = "Tagged envelope"
) {
"""
Implementation for text-friendly envelope format with text separators for sections.
""".trimIndent()
}
}