Files
msgexchange-v2/build.gradle.kts
T
windyboy a3f1da4bcc feat(ref): 21 类静态主数据独立 PostgreSQL 参考库边界就位(ACM2-11 落地)
按 ACM2-11 定案调整(业务事务库 MySQL + 航班动态 Redis 不变):
- 接口拆分:RefDataRepository 收为 gen-only(SCHD_GEN/流程 4 CAS,留守业务库);
  新增 StaticRefRepository + RefUpsert 对齐 SOURCE 审计(N19)。
- 调用点:RequestCoordinator 应答落库、ReferenceService(21 类同步 TODO) 指向
  StaticRefRepository;Decision.refUpserts 与 Pump 事务 2 注释同步
  (静态写为弱事务,不入主泵事务 2)。
- Stub:StubRefData 仅 gen;新增 StubStaticRef(内存,保留 source)。
- 配置:datasources.reference / flyway.datasources.reference 占位
  (PostgreSQL,enabled=false 不建连;驱动 org.postgresql 随阶段 6 实装引入,
  版本由 platform BOM 约束 ~42.7);catalog 补 postgresql。
- 文档:README / docs/architecture.md §2/§6 / docs/design.md §2/§6/§9 数据边界
  全部按"21 类 → PG 参考库、gen 留守 MySQL、Redis 动态不变"更新。

验证:37 测试全绿(./gradlew test,接口拆分后无破坏)。
表结构/迁移/ReferenceService 实装/应答接线属阶段 6(U05 批次后)。
2026-09-07 07:56:54 +08:00

70 lines
2.6 KiB
Kotlin
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
plugins {
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.kotlin.ksp) // U01Kotlin 注解处理(无 KSP/kapt 则 Micronaut 不生成 BeanDefinition
alias(libs.plugins.micronaut.application)
}
group = "com.gzzn.omms"
version = "2.0.0-SNAPSHOT"
repositories {
mavenCentral()
}
java {
toolchain {
// Micronaut 5.1 系构件要求 JVM 25+(实测依赖解析结论,修正计划的 JDK 21 口径)
languageVersion = JavaLanguageVersion.of(25)
}
}
kotlin {
jvmToolchain(25)
}
micronaut {
runtime("netty")
testRuntime("junit5")
processing {
incremental(true)
// U01N23):processing.annotations 语义是“注解所在包”的过滤,业务包路径不匹配任何 Micronaut
// 注解,已移除(取默认),避免增量注解处理被错误过滤;注解处理由 kotlin-ksp + micronaut-inject-kotlin 承担。
}
}
dependencies {
// U01Micronaut Kotlin 注解处理器(KSP),生成 @Singleton/@Controller/@ConfigurationProperties 的 BeanDefinition
ksp(libs.micronaut.inject.kotlin)
implementation(libs.bundles.micronaut.runtime)
implementation(libs.micronaut.data.jdbc)
implementation(libs.micronaut.jdbc.hikari)
implementation(libs.micronaut.flyway)
implementation(libs.micronaut.redis.lettuce)
implementation(libs.micronaut.kafka)
implementation(libs.micronaut.discovery.eureka)
implementation(libs.jackson.dataformat.xml)
implementation(libs.jackson.module.kotlin)
implementation(libs.logstash.logback.encoder)
runtimeOnly(libs.mysql.connector.j)
// ACM2-11datasources.reference21 类静态主数据独立 PG 库)驱动 org.postgresql:postgresql
// 随阶段 6 实装加入(当前 reference enabled=false 不加载;版本由 micronaut-platform BOM 钉 ~42.7
runtimeOnly(libs.snakeyaml) // U02:显式版本入 catalog(原无版本号依赖 BOM 覆盖,snakeyaml 不在 micronaut BOM 内)
testImplementation(libs.junit.jupiter)
testRuntimeOnly(libs.h2) // U03:配置绑定回归测试的测试库(内存 datasource,冒烟用)
testImplementation("io.micronaut.test:micronaut-test-junit5")
testImplementation("org.jetbrains.kotlin:kotlin-test")
}
application {
// Kotlin 顶层 mainApplication.kt)→ JVM 主类为 ApplicationKt
// 不声明则 ./gradlew run 报 "No main class specified"、installDist 产出的启动脚本主类为空。
mainClass.set("com.gzzn.omms.msgexchange.nextgen.ApplicationKt")
}
tasks.test {
useJUnitPlatform()
}