diff --git a/recommend/build.gradle b/recommend/build.gradle index 18df623..1aec46a 100644 --- a/recommend/build.gradle +++ b/recommend/build.gradle @@ -1,132 +1,6 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '3.4.0' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.ktds.hi' -version = '1.0.0' - -java { - sourceCompatibility = '21' -} - -configurations { - compileOnly { - extendsFrom annotationProcessor - } -} - -repositories { - mavenCentral() -} - dependencies { - // 공통 모듈 implementation project(':common') - // Spring Boot Starters - implementation 'org.springframework.boot:spring-boot-starter-web' - implementation 'org.springframework.boot:spring-boot-starter-data-jpa' - implementation 'org.springframework.boot:spring-boot-starter-data-redis' - implementation 'org.springframework.boot:spring-boot-starter-validation' + // File Storage implementation 'org.springframework.boot:spring-boot-starter-webflux' - implementation 'org.springframework.boot:spring-boot-starter-actuator' - - // Database - runtimeOnly 'org.postgresql:postgresql' - - // Redis - implementation 'org.springframework.boot:spring-boot-starter-data-redis' - - // JSON Processing - implementation 'com.fasterxml.jackson.core:jackson-databind' - implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310' - - // Lombok - compileOnly 'org.projectlombok:lombok' - annotationProcessor 'org.projectlombok:lombok' - - // OpenAPI/Swagger - implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.2.0' - - // Logging - implementation 'org.springframework.boot:spring-boot-starter-logging' - - // Security (JWT 처리용) - implementation 'org.springframework.boot:spring-boot-starter-security' - implementation 'io.jsonwebtoken:jjwt-api:0.12.3' - runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.12.3' - runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.12.3' - - // Apache Commons (유틸리티) - implementation 'org.apache.commons:commons-lang3:3.13.0' - implementation 'org.apache.commons:commons-collections4:4.4' - - // AI 서비스 연동을 위한 HTTP 클라이언트 - implementation 'org.springframework.boot:spring-boot-starter-webflux' - - // 캐싱 - implementation 'org.springframework.boot:spring-boot-starter-cache' - implementation 'com.github.ben-manes.caffeine:caffeine' - - // 모니터링 - implementation 'io.micrometer:micrometer-registry-prometheus' - - // 테스트 - testImplementation 'org.springframework.boot:spring-boot-starter-test' - testImplementation 'org.springframework.security:spring-security-test' - testImplementation 'org.testcontainers:junit-jupiter' - testImplementation 'org.testcontainers:postgresql' - testRuntimeOnly 'org.junit.platform:junit-platform-launcher' -} - -dependencyManagement { - imports { - mavenBom "org.testcontainers:testcontainers-bom:1.19.3" - } -} - -tasks.named('test') { - useJUnitPlatform() - - // 테스트 환경 설정 - systemProperty 'spring.profiles.active', 'test' - - // 테스트 시 메모리 설정 - minHeapSize = "512m" - maxHeapSize = "1024m" -} - -// JAR 파일 이름 설정 -jar { - archiveBaseName = 'recommend-service' - archiveVersion = '1.0.0' - enabled = false -} - -bootJar { - archiveBaseName = 'recommend-service' - archiveVersion = '1.0.0' - archiveClassifier = '' -} - -// 컴파일 옵션 -compileJava { - options.encoding = 'UTF-8' - options.compilerArgs += ['-parameters'] -} - -compileTestJava { - options.encoding = 'UTF-8' -} - -// 리소스 인코딩 -processResources { - filesMatching('**/*.properties') { - filteringCharset = 'UTF-8' - } - filesMatching('**/*.yml') { - filteringCharset = 'UTF-8' - } } \ No newline at end of file