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 } // 스프링 로그 처리하지 않음(타 lib 충동처리가 심함) 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-cache' implementation 'org.springframework.boot:spring-boot-starter-integration' implementation 'org.springframework.boot:spring-boot-starter-mail' implementation 'org.springframework.boot:spring-boot-starter-quartz' implementation 'org.springframework.boot:spring-boot-starter-validation' implementation ('org.springframework.boot:spring-boot-starter-web') { exclude group: 'org.springframework.boot', module: 'spring-boot-starter-tomcat' } implementation 'org.apache.tiles:tiles-jsp:3.0.7' // tiles 적용 implementation 'org.springframework.boot:spring-boot-starter-undertow' implementation 'org.springframework.boot:spring-boot-starter-webflux' implementation 'org.apache.tomcat.embed:tomcat-embed-jasper' implementation 'javax.servlet:jstl' // JSP 설정 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' developmentOnly 'org.springframework.boot:spring-boot-devtools' implementation 'commons-codec:commons-codec:1.15' // 암호화처리 implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16' // sql log 처리 implementation 'com.konghq:unirest-java:3.7.02' // http 통신을 쉽게 하기 위함 // 사용하지 않음 // implementation group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1' // 보안관련 추가사항 implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.springmodules:spring-modules-validation:0.9' implementation 'org.antlr:antlr:3.5' // validator 처리 // egov mvc 관련 lib implementation('org.egovframe.rte:org.egovframe.rte.ptl.mvc:4.0.0') { exclude group: 'org.egovframe.rte', module: 'org.egovframe.rte.fdl.logging' exclude group: 'org.egovframe.rte', module: 'spring-modules-validation' } implementation('org.egovframe.rte:org.egovframe.rte.fdl.property:4.0.0') // 보안관련 추가사항 implementation 'org.springframework.boot:spring-boot-starter-security' // email 관련 추가 implementation 'org.apache.commons:commons-email:1.5' implementation group: 'commons-io', name: 'commons-io', version: '2.6' // apache poi lib // implementation 'org.apache.poi:poi-ooxml:5.3.0' // apache poi lib implementation 'org.apache.poi:poi:4.1.2' implementation 'org.apache.poi:poi-ooxml:4.1.2' implementation 'org.apache.poi:poi-scratchpad:4.1.2' implementation 'org.apache.poi:poi-examples:4.1.2' // 2026.04.02 나혁제 구글 OTP 기능 추가 implementation 'com.warrenstrange:googleauth:1.5.0' // 2026.04.02 나혁제 구글 OTP 기능 추가 implementation 'com.google.zxing:core:3.5.1' implementation 'com.google.zxing:javase:3.5.1' implementation 'de.taimos:totp:1.0' } test { outputs.dir snippetsDir useJUnitPlatform() } asciidoctor { inputs.dir snippetsDir dependsOn test }