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>
36 줄
1.2 KiB
Groovy
36 줄
1.2 KiB
Groovy
plugins {
|
|
id 'org.springframework.boot' version '3.5.0'
|
|
id 'io.spring.dependency-management' version '1.1.7'
|
|
}
|
|
|
|
dependencies {
|
|
// wbx-spring 프레임워크
|
|
implementation project(':wbx-spring-core')
|
|
|
|
// WTM 전용
|
|
implementation 'org.apache.poi:poi-ooxml:5.3.0' // P6 WBS, Excel 업로드/다운로드
|
|
|
|
// QueryDSL — Phase 2에서 도입 예정 (현재 native query 사용)
|
|
// implementation 'com.querydsl:querydsl-jpa:5.1.0:jakarta'
|
|
// annotationProcessor 'com.querydsl:querydsl-apt:5.1.0:jakarta'
|
|
|
|
// MapStruct (DTO 매핑)
|
|
implementation 'org.mapstruct:mapstruct:1.6.3'
|
|
annotationProcessor 'org.mapstruct:mapstruct-processor:1.6.3'
|
|
|
|
// Annotation processor ordering: Lombok → MapStruct → QueryDSL
|
|
annotationProcessor 'org.projectlombok:lombok'
|
|
annotationProcessor 'org.projectlombok:lombok-mapstruct-binding:0.2.0'
|
|
|
|
// Flyway — MySQL (개발) + Azure SQL (운영)
|
|
implementation 'org.flywaydb:flyway-mysql'
|
|
implementation 'org.flywaydb:flyway-sqlserver'
|
|
|
|
// DB Driver — 개발: MySQL, 운영: MSSQL (Azure SQL)
|
|
runtimeOnly 'com.mysql:mysql-connector-j'
|
|
runtimeOnly 'com.microsoft.sqlserver:mssql-jdbc:12.8.1.jre11'
|
|
|
|
// Test
|
|
testRuntimeOnly 'com.h2database:h2'
|
|
}
|