mirror of
https://github.com/hwanny1128/HGZero.git
synced 2025-12-06 09:06:24 +00:00
주요 변경사항: - EventHub 공유 액세스 정책 재설정 (send-policy, listen-policy) - Redis DB 2번 읽기 전용 문제 해결 - AI-Python 서비스 추가 (FastAPI 기반) - STT WebSocket 실시간 스트리밍 구현 - AI 제안사항 실시간 추출 기능 구현 - 테스트 페이지 추가 (stt-test-wav.html) - 개발 가이드 문서 추가 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
136 lines
4.2 KiB
Groovy
136 lines
4.2 KiB
Groovy
plugins {
|
|
id 'java'
|
|
id 'org.springframework.boot' version '3.3.5' apply false
|
|
id 'io.spring.dependency-management' version '1.1.6' apply false
|
|
id 'io.freefair.lombok' version '8.10' apply false
|
|
}
|
|
|
|
group = 'com.unicorn.hgzero'
|
|
version = '1.0.0'
|
|
|
|
allprojects {
|
|
repositories {
|
|
mavenCentral()
|
|
gradlePluginPortal()
|
|
}
|
|
}
|
|
|
|
subprojects {
|
|
apply plugin: 'java'
|
|
apply plugin: 'io.freefair.lombok'
|
|
|
|
java {
|
|
sourceCompatibility = JavaVersion.VERSION_21
|
|
targetCompatibility = JavaVersion.VERSION_21
|
|
}
|
|
|
|
configurations {
|
|
compileOnly {
|
|
extendsFrom annotationProcessor
|
|
}
|
|
}
|
|
|
|
tasks.named('test') {
|
|
useJUnitPlatform()
|
|
}
|
|
|
|
// Common versions for all subprojects
|
|
ext {
|
|
jjwtVersion = '0.12.5'
|
|
springdocVersion = '2.5.0'
|
|
mapstructVersion = '1.5.5.Final'
|
|
commonsLang3Version = '3.14.0'
|
|
commonsIoVersion = '2.16.1'
|
|
hypersistenceVersion = '3.7.3'
|
|
openaiVersion = '0.18.2'
|
|
feignJacksonVersion = '13.1'
|
|
azureSpeechVersion = '1.44.0'
|
|
azureBlobVersion = '12.25.3'
|
|
azureEventHubsVersion = '5.18.2'
|
|
azureEventHubsCheckpointVersion = '1.19.2'
|
|
azureAiSearchVersion = '11.6.2'
|
|
springAiVersion = '1.0.0-M1'
|
|
}
|
|
}
|
|
|
|
// Configure all subprojects with Spring dependency management
|
|
subprojects {
|
|
apply plugin: 'io.spring.dependency-management'
|
|
|
|
dependencyManagement {
|
|
imports {
|
|
mavenBom "org.springframework.cloud:spring-cloud-dependencies:2023.0.2"
|
|
}
|
|
}
|
|
}
|
|
|
|
// Configure only service modules (exclude common)
|
|
configure(subprojects.findAll { it.name != 'common' }) {
|
|
apply plugin: 'org.springframework.boot'
|
|
|
|
dependencies {
|
|
// Common module dependency
|
|
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-security'
|
|
implementation 'org.springframework.boot:spring-boot-starter-validation'
|
|
|
|
// Actuator for health checks and monitoring
|
|
implementation 'org.springframework.boot:spring-boot-starter-actuator'
|
|
|
|
// API Documentation (common across all services)
|
|
implementation "org.springdoc:springdoc-openapi-starter-webmvc-ui:${springdocVersion}"
|
|
|
|
// JWT
|
|
implementation "io.jsonwebtoken:jjwt-api:${jjwtVersion}"
|
|
runtimeOnly "io.jsonwebtoken:jjwt-impl:${jjwtVersion}"
|
|
runtimeOnly "io.jsonwebtoken:jjwt-jackson:${jjwtVersion}"
|
|
|
|
// Database
|
|
runtimeOnly 'org.postgresql:postgresql'
|
|
implementation 'org.flywaydb:flyway-core'
|
|
runtimeOnly 'org.flywaydb:flyway-database-postgresql'
|
|
|
|
// Redis
|
|
implementation 'org.springframework.boot:spring-boot-starter-data-redis'
|
|
|
|
// Utilities
|
|
implementation "org.apache.commons:commons-lang3:${commonsLang3Version}"
|
|
implementation "commons-io:commons-io:${commonsIoVersion}"
|
|
implementation "org.mapstruct:mapstruct:${mapstructVersion}"
|
|
annotationProcessor "org.mapstruct:mapstruct-processor:${mapstructVersion}"
|
|
|
|
// Testing
|
|
testImplementation 'org.springframework.boot:spring-boot-starter-test'
|
|
testImplementation 'org.springframework.security:spring-security-test'
|
|
testImplementation 'org.testcontainers:junit-jupiter'
|
|
testImplementation 'org.mockito:mockito-junit-jupiter'
|
|
|
|
// Configuration Processor
|
|
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
|
|
}
|
|
}
|
|
|
|
// Java version consistency check for all modules
|
|
tasks.register('checkJavaVersion') {
|
|
doLast {
|
|
println "Java Version: ${System.getProperty('java.version')}"
|
|
println "Java Home: ${System.getProperty('java.home')}"
|
|
}
|
|
}
|
|
|
|
// Clean task for all subprojects
|
|
tasks.register('cleanAll') {
|
|
dependsOn subprojects.collect { it.tasks.named('clean') }
|
|
description = 'Clean all subprojects'
|
|
}
|
|
|
|
// Build task for all subprojects
|
|
tasks.register('buildAll') {
|
|
dependsOn subprojects.collect { it.tasks.named('build') }
|
|
description = 'Build all subprojects'
|
|
}
|