- Jasper grid report (PDF), fonts + extension config - Subscription/live-notice, parking congestion, session RSVP - Smart ticket TOTP guard, ticket cancel policy - Visitor membership/contact/notification/pay-method/feed - Multitenancy demo tenant + tenant switch response - M2 layout version DTO; unit/integration tests for above Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
82 lines
3.2 KiB
Groovy
82 lines
3.2 KiB
Groovy
plugins {
|
|
id 'java'
|
|
id 'org.springframework.boot' version '3.2.5'
|
|
id 'io.spring.dependency-management' version '1.1.4'
|
|
}
|
|
|
|
group = 'com.zioinfo.kintex'
|
|
version = '0.1.0-SNAPSHOT'
|
|
|
|
java {
|
|
sourceCompatibility = JavaLanguageVersion.of(17)
|
|
targetCompatibility = JavaLanguageVersion.of(17)
|
|
}
|
|
|
|
// 한글 문자열 리터럴 손상 방지 — Windows javac 기본 인코딩(CP949) 대신 UTF-8 강제.
|
|
tasks.withType(JavaCompile).configureEach {
|
|
options.encoding = 'UTF-8'
|
|
}
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
|
|
ext {
|
|
mybatisStarterVersion = '3.0.3' // Spring Boot 3.2.x 호환
|
|
jjwtVersion = '0.12.5'
|
|
}
|
|
|
|
dependencies {
|
|
// --- Web / REST + WebSocket(STOMP) 실시간 알림(RenderJob 완료·승인 이벤트) ---
|
|
implementation 'org.springframework.boot:spring-boot-starter-web'
|
|
implementation 'org.springframework.boot:spring-boot-starter-websocket'
|
|
implementation 'org.springframework.boot:spring-boot-starter-validation'
|
|
implementation 'org.springframework.boot:spring-boot-starter-security'
|
|
|
|
// --- MyBatis + PostgreSQL(PostGIS) — 공간 SQL은 매퍼 XML(kintex-db-engineer 공유) ---
|
|
implementation "org.mybatis.spring.boot:mybatis-spring-boot-starter:${mybatisStarterVersion}"
|
|
runtimeOnly 'org.postgresql:postgresql'
|
|
|
|
// --- Flyway 마이그레이션(순번 DDL·시드 권위) — Spring Boot 3.2.x 관리 버전(Flyway 9.x, PG 내장) ---
|
|
implementation 'org.flywaydb:flyway-core'
|
|
|
|
// --- Redis 작업 큐 (RenderJob·서류 생성·알림 발행) ---
|
|
implementation 'org.springframework.boot:spring-boot-starter-data-redis'
|
|
|
|
// --- 메일 발송(자체 Postfix SMTP — 옥션 개설 통지·EDM·비밀번호 재설정) ---
|
|
implementation 'org.springframework.boot:spring-boot-starter-mail'
|
|
|
|
// --- 서류 PDF 생성(M6 G-05) — HTML→PDF 경량 렌더러. NanumGothic 폰트 임베드(한글 보존). ---
|
|
implementation 'com.openhtmltopdf:openhtmltopdf-pdfbox:1.0.10'
|
|
|
|
// --- 범용 그리드 PDF 출력(전 그리드 공용, JasperReports) — WISE/UIWS 패턴 이식. ---
|
|
// 6.21.x는 PDF(iText) 익스포터가 코어에 포함. 한글은 fonts.xml 폰트확장으로 Identity-H 임베딩.
|
|
implementation('net.sf.jasperreports:jasperreports:6.21.3') {
|
|
// Spring Boot 관리 버전과 충돌 방지 — commons-logging 전이 의존성 정리.
|
|
exclude group: 'commons-logging', module: 'commons-logging'
|
|
}
|
|
|
|
// --- JWT (행사 단위 RBAC 인증) ---
|
|
implementation "io.jsonwebtoken:jjwt-api:${jjwtVersion}"
|
|
runtimeOnly "io.jsonwebtoken:jjwt-impl:${jjwtVersion}"
|
|
runtimeOnly "io.jsonwebtoken:jjwt-jackson:${jjwtVersion}"
|
|
|
|
// --- 2차 인증 TOTP(RFC6238) — WISE/UIWS 이식 (dev.samstevens.totp) ---
|
|
implementation 'dev.samstevens.totp:totp:1.7.1'
|
|
|
|
// --- AOP (@Audited 감사 어드바이스, Phase B B-2/B-4) ---
|
|
implementation 'org.springframework.boot:spring-boot-starter-aop'
|
|
|
|
// --- Lombok ---
|
|
compileOnly 'org.projectlombok:lombok'
|
|
annotationProcessor 'org.projectlombok:lombok'
|
|
|
|
// --- Test ---
|
|
testImplementation 'org.springframework.boot:spring-boot-starter-test'
|
|
testImplementation 'org.springframework.security:spring-security-test'
|
|
}
|
|
|
|
tasks.named('test') {
|
|
useJUnitPlatform()
|
|
}
|