04276dec0e
- build.gradle.kts (root): настроен maven-publish для всех сабпроектов; репо 'caffeine' (Nexus) с setAllowInsecureProtocol=true, POM-метаданные (Apache-2.0, subochev as developer, scm). Version берётся из -Pversion=<tag> с fallback 0.1.0. - gradle.properties: дефолтная version=0.1.0 для локальных билдов. - .gitea/workflows/release.yml: триггер на release.published; две job'ы — publish-libraries (subochev/devops/publish action с BINOM_REPO_* env-vars) и build-standalone (собирает :standalone shadowJar, прикрепляет standalone-<version>-all.jar и sources.jar к release assets через softprops/action-gh-release + GITEA_TOKEN). - В пяти KMP-модулях (skills, storage-core, agent-toolsets, server, client) добавлен api(libs.kotlinx.serialization.core) — раньше commonMain компилировался только на JVM, и эта зависимость была пропущена; теперь commonMain корректно публикуется как Gradle Module Metadata. Локальная проверка: ./gradlew publishToMavenLocal — все 11 модулей × 9-10 таргетов ./gradlew jvmTest — все тесты зелёные ./gradlew :standalone:shadowJar — 240MB fatjar, Main-Class загружается
44 lines
1.4 KiB
Kotlin
44 lines
1.4 KiB
Kotlin
plugins {
|
|
alias(libs.plugins.kotlin.multiplatform)
|
|
alias(libs.plugins.kotlin.serialization)
|
|
}
|
|
|
|
kotlin {
|
|
jvmToolchain(21)
|
|
|
|
// KMP-модуль с ядром механики toolsets: реестр, диспетчер, встроенные тулы
|
|
// enable_toolset/disable_toolset. Не зависит от :standalone — может быть
|
|
// переиспользован в Android-сборке и в любом другом LiteTool-агенте.
|
|
jvm()
|
|
macosX64()
|
|
macosArm64()
|
|
iosX64()
|
|
iosArm64()
|
|
iosSimulatorArm64()
|
|
linuxX64()
|
|
linuxArm64()
|
|
mingwX64()
|
|
|
|
sourceSets {
|
|
commonMain.dependencies {
|
|
// :storage-core — для StorageBundle в ToolsetContext (commit 5+)
|
|
api(project(":storage-core"))
|
|
|
|
// litert-kmp: LiteTool интерфейс (sync describe/invoke)
|
|
api(libs.litert.api)
|
|
|
|
api(libs.kotlinx.coroutines.core)
|
|
api(libs.kotlinx.serialization.core)
|
|
api(libs.kotlinx.serialization.json)
|
|
}
|
|
jvmMain.dependencies {
|
|
// runBlocking для SyncLiteTool обёртки (LiteTool.invoke — sync)
|
|
implementation(libs.kotlin.logging)
|
|
}
|
|
commonTest.dependencies {
|
|
implementation(kotlin("test"))
|
|
implementation(libs.kotlinx.coroutines.test)
|
|
}
|
|
}
|
|
}
|