소스 업데이트

This commit is contained in:
jade
2026-09-17 17:31:37 +09:00
parent f3099b76ea
commit a8555f05af
402 changed files with 80 additions and 20011 deletions

View File

@@ -34,6 +34,15 @@ subprojects {
}
repositories {
// [로컬 개발 순서]
// 1. ../dat-lib-datmt에서 .\gradlew.bat :dat-was-lib:publishToMavenLocal 실행
// 2. 위 명령이 ~/.m2/repository/io/shinhanlife/dat-lib-datmt에 JAR/POM을 등록
// 3. 아래 mavenLocal()이 등록된 JAR을 찾아 implementation 의존성을 해석
//
// [신한라이프 이관]
// mavenLocal() 대신 사내 Nexus Maven repository를 추가합니다.
// implementation 좌표는 그대로 유지합니다.
mavenLocal()
// --------------------------------------------------------------------
// 외부 개발 환경
@@ -167,80 +176,3 @@ subprojects {
useJUnitPlatform()
}
}
// ============================================================================
// Tool Validation
// ============================================================================
// Tool Annotation / Tool Schema 검증 프로그램이 들어있는
// 공통 라이브러리 프로젝트입니다.
def toolCoreProject = project(':dat-was-lib')
// ============================================================================
// MCP Tool Name Validation
// ============================================================================
// 전체 Tool Pod 프로젝트에서 선언된
// @McpTool(name = "...") 값의 중복 여부를 검사합니다.
//
// 동일한 Tool Name이 존재하면 배포 산출물 생성 전에
// 빌드를 실패시켜 중복 Tool이 배포되는 것을 차단합니다.
tasks.register('validateMcpToolNames', JavaExec) {
// Gradle Verification Task 그룹으로 분류합니다.
group = 'verification'
// Gradle Tasks 조회 시 표시되는 설명입니다.
description = 'Checks duplicate @McpTool names across all Tool modules before packaging.'
// 검사 프로그램이 dat-was-lib에 존재하므로
// JavaExec 실행 전에 dat-was-lib의 classes 작업을 수행합니다.
dependsOn toolCoreProject.tasks.named('classes')
// dat-was-lib의 Runtime Classpath를
// Tool Validation Runner 실행 Classpath로 사용합니다.
classpath = toolCoreProject.sourceSets.main.runtimeClasspath
// Tool Name 중복 검증을 수행하는 Main Class입니다.
mainClass.set(
'io.shinhanlife.dat.lib.validation.McpToolNameValidationRunner'
)
// 전체 멀티모듈 프로젝트를 검사할 수 있도록
// Root Project 경로를 Runner의 Argument로 전달합니다.
args rootProject.projectDir.absolutePath
}
// ============================================================================
// BootJar Validation Hook
// ============================================================================
subprojects {
// Spring Boot 실행 모듈에서 bootJar를 수행할 경우
// 실제 배포 JAR이 만들어지기 전에
//
// 1. MCP Tool Name 중복 검사
// 2. Tool Schema V17 검사
//
// 두 검증 작업을 반드시 수행하도록 합니다.
tasks.matching { it.name == 'bootJar' }.configureEach {
// @McpTool Name 중복 검증
dependsOn rootProject.tasks.named('validateMcpToolNames')
}
}
bootJar {
enabled = false
}
jar {
enabled = false
}