itsm_ysm/batch/build.gradle
itms-merge-dev 1ef71899ee build(itms): 버전 통일 — oauth2 2.3.8 단일화 + Java 17 source (R1, INTEGRATION_DESIGN §3-3)
- R1: auth spring-security-oauth2 2.3.4.RELEASE → 2.3.8.RELEASE (api·datatrans 와 일치, 드리프트 해소).
- sourceCompatibility 혼재(api·datatrans=11 / auth·batch·front=16) → 17 통일 + common=17.
  로컬 JDK17 로 6모듈 compileJava 전부 SUCCESS(--rerun-tasks) — 언어레벨 상향에 따른 예약어/구문 충돌 0.
- lombok(1.18.20)·mybatis-spring-boot-starter(2.2.2)·spring-security-jwt(1.0.9)는 이미 전 모듈 동일
  (드리프트 없음) → 불필요한 루트 승격 churn 회피, 현행 유지.
동작 등가: 산출 bytecode 타깃만 17로 상향, 의존성 좌표는 최신본으로 정합.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 17:45:00 +09:00

93 lines
2.7 KiB
Groovy

plugins
{
id 'org.springframework.boot'
id 'io.spring.dependency-management'
id 'org.asciidoctor.convert'
id 'java'
id 'war'
}
group = 'com.urpsys'
version = '1.0.0-SNAPSHOT'
sourceCompatibility = '17'
configurations
{
compileOnly
{
extendsFrom annotationProcessor
}
// spring logging , egov dataaccess 충돌로 인해
// egov dataaccess 사용하기위해 서는 제외처리
all {
exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging'
}
}
// repositories: 루트 build.gradle subprojects 로 승격 (INTEGRATION_DESIGN §2)
ext
{
set('snippetsDir', file("build/generated-snippets"))
}
dependencies
{
implementation project(':common')
implementation 'org.springframework.boot:spring-boot-starter-batch'
implementation 'org.springframework.boot:spring-boot-starter-quartz'
implementation ('org.springframework.boot:spring-boot-starter-web')
{
exclude group: 'org.springframework.boot', module: 'spring-boot-starter-tomcat'
}
runtimeOnly 'org.mariadb.jdbc:mariadb-java-client' // mariadb 연결처리
implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.2' // DB 처리
implementation 'org.springframework.boot:spring-boot-starter-undertow'
implementation 'org.springframework.boot:spring-boot-starter-webflux'
implementation 'org.apache.tomcat.embed:tomcat-embed-jasper'
// 2025.06.04 나혁제 인사DB 연동을 위한
implementation group: 'com.oracle.database.jdbc', name: 'ojdbc8', version: '21.8.0.0'
compileOnly 'org.projectlombok:lombok:1.18.20'
annotationProcessor 'org.projectlombok:lombok:1.18.20'
testCompileOnly 'org.projectlombok:lombok:1.18.20'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.20'
implementation 'commons-codec:commons-codec:1.15' // 암호화처리
implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16' // sql log 처리
// 기타 개발
developmentOnly 'org.springframework.boot:spring-boot-devtools' // 즉시적용처리
implementation 'org.apache.commons:commons-lang3:3.12.0' // 문자열 처리
// 2025.04.02 나혁제 email 관련 추가
implementation 'org.apache.commons:commons-email:1.5'
implementation group: 'commons-io', name: 'commons-io', version: '2.6'
// api 통신
implementation 'com.konghq:unirest-java:3.7.02'
// egov dataaccess 사용하기 위해
implementation('org.egovframe.rte:org.egovframe.rte.psl.dataaccess:4.0.0')
implementation('org.egovframe.rte:org.egovframe.rte.fdl.idgnr:4.0.0')
}
test
{
outputs.dir snippetsDir
useJUnitPlatform()
}
asciidoctor
{
inputs.dir snippetsDir
dependsOn test
}