forked from RushCrew/rush-deal
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.gradle
More file actions
68 lines (57 loc) · 2.17 KB
/
build.gradle
File metadata and controls
68 lines (57 loc) · 2.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
// 루트 빌드 스크립트: 모든 서브모듈의 공통 설정을 관리함
plugins {
id 'java'
id 'org.springframework.boot' version '3.5.8'
id 'io.spring.dependency-management' version '1.1.7'
}
bootJar { enabled = false }
jar { enabled = false }
// 중앙 저장소: 모든 모듈이 mavenCentral()에서 의존성을 다운로드함
repositories {
mavenCentral()
}
// 공통 설정 블록: 모든 하위 모듈(subproject)에 동일하게 적용됨
subprojects {
group = 'com.rushcrew'
version = '0.0.1-SNAPSHOT'
description = 'High-performance Time-Deal Platform handling massive traffic'
// 서브모듈별 플러그인 적용
apply plugin: 'java'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
// 모든 서브모듈이 동일한 Java 버전 사용 (toolchain으로 JVM 일관성 보장)
java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}
// Spring Cloud BOM (Bill of Materials) 버전 관리용 변수 선언
ext {
set('springCloudVersion', "2025.0.0")
}
// Spring Cloud 의존성 관리: 모든 서브모듈에서 동일 버전 유지
dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
}
}
// 공통 의존성 추가
dependencies {
// Lombok (모든 서브모듈 공통)
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
implementation 'io.micrometer:micrometer-tracing-bridge-brave'
implementation 'io.github.openfeign:feign-micrometer'
implementation 'io.zipkin.reporter2:zipkin-reporter-brave'
// prometheus
implementation 'org.springframework.boot:spring-boot-starter-actuator'
runtimeOnly 'io.micrometer:micrometer-registry-prometheus'
// 테스트 시에도 Lombok 사용 가능하도록
testCompileOnly 'org.projectlombok:lombok'
testAnnotationProcessor 'org.projectlombok:lombok'
}
}