45 lines
1.7 KiB
Kotlin
45 lines
1.7 KiB
Kotlin
plugins {
|
|
alias(libs.plugins.kotlin.multiplatform)
|
|
alias(libs.plugins.kotlin.serialization)
|
|
}
|
|
|
|
kotlin {
|
|
jvmToolchain(21)
|
|
|
|
// "Все возможные цели сборки": jvm + весь натив. Полный набор KMP-целей.
|
|
jvm()
|
|
macosX64()
|
|
macosArm64()
|
|
iosX64()
|
|
iosArm64()
|
|
iosSimulatorArm64()
|
|
linuxX64()
|
|
linuxArm64()
|
|
mingwX64()
|
|
|
|
sourceSets {
|
|
commonMain.dependencies {
|
|
api(libs.kotlinx.coroutines.core)
|
|
api(libs.kotlinx.serialization.core)
|
|
// для JsonElement в MessageContext.metadata
|
|
api(libs.kotlinx.serialization.json)
|
|
// Read-only storage handles, выставляемые через Agent.journal
|
|
// и Agent.outbox. Типы JournalStore/OutboxStore фигурируют в
|
|
// public-сигнатуре Agent, поэтому api-висимости.
|
|
//
|
|
// Линейный граф зависимостей (без циклов):
|
|
// :proto ──► :content-api (Content/MessageContext/MessageOrigin/TurnTokens)
|
|
// :proto ──► :outbox-api (нет обратной зависимости)
|
|
// :proto ──► :journal-api (нет обратной зависимости)
|
|
// Общие типы содержимого живут в низкоуровневом :content-api,
|
|
// чтобы ими пользовались proto/journal/outbox без дублей и циклов.
|
|
api(project(":content-api"))
|
|
api(project(":journal-api"))
|
|
api(project(":outbox-api"))
|
|
}
|
|
commonTest.dependencies {
|
|
implementation(kotlin("test"))
|
|
}
|
|
}
|
|
}
|