diff --git a/dap-was-lib/build.gradle b/dap-was-lib/build.gradle index 994342468..9a2774c0a 100644 --- a/dap-was-lib/build.gradle +++ b/dap-was-lib/build.gradle @@ -1,50 +1,55 @@ plugins { + // Gateway와 모든 Tool Pod가 의존하는 공통 라이브러리 모듈입니다. id 'java-library' } dependencies { + // 공통 REST Controller, HTTP Client, 예외 처리 기반입니다. api 'org.springframework.boot:spring-boot-starter-web' + + // Tool Request DTO의 Bean Validation을 지원합니다. api 'org.springframework.boot:spring-boot-starter-validation' + + // Tool Manifest/Registry 캐시 및 Redis 기반 공통 기능을 제공합니다. api 'org.springframework.boot:spring-boot-starter-data-redis' - + + // Tool SLA, 로깅, 공통 Aspect를 적용합니다. + api 'org.springframework.boot:spring-boot-starter-aop' + + // MCI/DB 연동에 필요한 JDBC 공통 기능입니다. + api 'org.springframework.boot:spring-boot-starter-jdbc' + + // Tool 호출의 Circuit Breaker, Rate Limit, Retry 등 복원력 기능입니다. api 'io.github.resilience4j:resilience4j-spring-boot3:2.2.0' api 'io.github.resilience4j:resilience4j-core:2.2.0' api 'io.github.resilience4j:resilience4j-circuitbreaker:2.2.0' api 'io.github.resilience4j:resilience4j-ratelimiter' api 'io.github.resilience4j:resilience4j-retry:2.2.0' - api 'org.springframework.boot:spring-boot-starter-aop:3.3.0' - api 'org.springframework.boot:spring-boot-starter-jdbc' + // MCI/업무 데이터 접근을 위한 MyBatis 지원입니다. api 'org.mybatis.spring.boot:mybatis-spring-boot-starter:3.0.3' + + // 현재 로컬 테스트 DB 및 SQL 로그 처리에 사용합니다. api 'com.h2database:h2' api 'p6spy:p6spy:3.9.1' + + // Spring Data Redis가 사용하는 Redis Client를 공통 모듈에서 직접 참조합니다. api 'io.lettuce:lettuce-core:6.6.0.RELEASE' - api "org.mapstruct:mapstruct:1.5.5.Final" - + // MCI XML 전문, JSON Tool Schema/Manifest 처리에 사용합니다. api 'com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.17.1' api 'com.fasterxml.jackson.core:jackson-databind:2.17.1' api 'com.networknt:json-schema-validator:3.0.0' + + // Tool Pod의 /mcp Streamable HTTP Server와 MCP SDK를 제공합니다. api 'org.springframework.ai:spring-ai-starter-mcp-server-webmvc' + + // Spring AI 1.1.x에서 @McpTool, @McpToolParam, metaProvider를 제공합니다. + api 'org.springaicommunity:mcp-annotations:0.9.0' + + // 이벤트 기반 확장이 필요한 Tool의 공통 Kafka 연동 기능입니다. api 'org.springframework.kafka:spring-kafka:3.2.0' + + // Tool Pod REST API 문서 및 Swagger UI를 제공합니다. api 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.5.0' } - -dependencies { - compileOnly 'org.projectlombok:lombok:1.18.32' - annotationProcessor 'org.projectlombok:lombok:1.18.32' - - testImplementation 'org.springframework.boot:spring-boot-starter-test' - testCompileOnly 'org.projectlombok:lombok:1.18.32' - testAnnotationProcessor 'org.projectlombok:lombok:1.18.32' -} - - -jar { - enabled = true -} - -tasks.matching { it.name == 'bootJar' }.configureEach { - enabled = false -} - diff --git a/dap-was-oth/build.gradle b/dap-was-oth/build.gradle index 76871349b..93a7fbc1d 100644 --- a/dap-was-oth/build.gradle +++ b/dap-was-oth/build.gradle @@ -1,12 +1,9 @@ plugins { + // OTH Tool Pod를 독립 실행 가능한 Spring Boot JAR로 생성합니다. id 'org.springframework.boot' } dependencies { + // MCP Server, Tool 공통 처리, MCI/EAI 연동 기반은 dap-was-lib에서 상속합니다. implementation project(':dap-was-lib') } - -dependencies { - compileOnly 'org.projectlombok:lombok:1.18.32' - annotationProcessor 'org.projectlombok:lombok:1.18.32' -} diff --git a/dap-was-sms/build.gradle b/dap-was-sms/build.gradle index 76871349b..561bc8e3e 100644 --- a/dap-was-sms/build.gradle +++ b/dap-was-sms/build.gradle @@ -1,12 +1,9 @@ plugins { + // SMS Tool Pod를 독립 실행 가능한 Spring Boot JAR로 생성합니다. id 'org.springframework.boot' } dependencies { + // MCP Server, Tool 공통 처리, MCI/EAI 연동 기반은 dap-was-lib에서 상속합니다. implementation project(':dap-was-lib') } - -dependencies { - compileOnly 'org.projectlombok:lombok:1.18.32' - annotationProcessor 'org.projectlombok:lombok:1.18.32' -}