Phase 0: wbx-spring-core 라이브러리 전환 - java-library 플러그인, WbxAutoConfiguration, Admin 조건부 활성화 - 루트 settings.gradle + build.gradle (멀티모듈) Phase 1: wtm-api 모듈 생성 - 23개 JPA Entity, 14개 Controller, 79개 API 엔드포인트 - Flyway V100~V107 MySQL 마이그레이션 - TimesheetRuleEngine, TimesheetApprovalHandler, P6WbsParser Phase 2: wtm-frontend (Vue 3 + PrimeVue 4) - 10개 도메인 모듈, 17개 View, 5개 서브컴포넌트 - 반응형 레이아웃 (AppLayout, AppSidebar, AppTopbar) - BaseCrudTable, BaseFormDialog, BasePageHeader 표준 컴포넌트 - JWT 인터셉터, 역할 기반 메뉴 필터링 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
43 줄
1.5 KiB
Groovy
43 줄
1.5 KiB
Groovy
plugins {
|
|
id 'java-library'
|
|
}
|
|
|
|
dependencies {
|
|
// Spring Boot Starters (api로 노출 — 소비 모듈이 사용)
|
|
api 'org.springframework.boot:spring-boot-starter-web'
|
|
api 'org.springframework.boot:spring-boot-starter-data-jpa'
|
|
api 'org.springframework.boot:spring-boot-starter-security'
|
|
api 'org.springframework.boot:spring-boot-starter-validation'
|
|
api 'org.springframework.boot:spring-boot-starter-data-redis'
|
|
api 'org.springframework.boot:spring-boot-starter-cache'
|
|
api 'org.springframework.boot:spring-boot-starter-actuator'
|
|
api 'org.springframework.boot:spring-boot-starter-oauth2-client'
|
|
api 'org.springframework.boot:spring-boot-starter-oauth2-resource-server'
|
|
|
|
// JWT
|
|
api 'io.jsonwebtoken:jjwt-api:0.12.6'
|
|
runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.12.6'
|
|
runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.12.6'
|
|
|
|
// OpenAPI
|
|
api 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.6'
|
|
|
|
// Admin Console (조건부)
|
|
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
|
|
|
|
// Flyway (소비 모듈이 DBMS별 추가)
|
|
api 'org.flywaydb:flyway-core'
|
|
|
|
// DB 드라이버 — compileOnly (소비 모듈이 runtimeOnly로 선택)
|
|
compileOnly 'com.mysql:mysql-connector-j'
|
|
compileOnly 'org.postgresql:postgresql'
|
|
compileOnly 'com.oracle.database.jdbc:ojdbc11:23.6.0.24.10'
|
|
compileOnly 'com.microsoft.sqlserver:mssql-jdbc:12.8.1.jre11'
|
|
|
|
// Micrometer
|
|
runtimeOnly 'io.micrometer:micrometer-registry-prometheus'
|
|
|
|
// Test
|
|
testRuntimeOnly 'com.h2database:h2'
|
|
}
|