-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbuild.gradle
80 lines (62 loc) ยท 3.02 KB
/
build.gradle
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
69
70
71
72
73
74
75
76
77
78
// plugin ์ด๋ ๋ฏธ๋ฆฌ ๊ตฌ์ฑํด๋์ task ๋ค์ ๋ชจ์์ด๋ฉฐ, ํน์ ๋น๋๊ณผ์ ์ ํ์ํ ๊ธฐ๋ณธ์ ๋ณด๋ฅผ ํฌํจํจ
plugins {
id 'java'// ํ
์คํธ, ๋ฒ๋ค๋ง ๊ธฐ๋ฅ๊ณผ ํจ๊ป Java ์ปดํ์ผ์ ์ถ๊ฐํด์ฃผ๋ฉฐ, ๋ค๋ฅธ JVM ์ธ์ด ํ๋ฌ๊ทธ์ธ์ ๊ธฐ๋ฐ์ด ๋จ
id 'org.springframework.boot' version '3.2.7' // ์คํ๊ฐ๋ฅํ jar ๋๋ war๋ก ํจํค์งํ์ฌ ์ ํ๋ฆฌ์ผ์ด์
์คํ์ด ๊ฐ๋ฅํ๋๋ก ํ๋ฉฐ, spring-boot-dependencies ๊ธฐ๋ฐ์ ์์กด์ฑ ๊ด๋ฆฌ๋ฅผ ์ฌ์ฉํจ
id 'io.spring.dependency-management' version '1.1.4' // ์๋์ผ๋ก spring-boot-dependencies bom์ ๋์ด์์ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํด์ค
}
// ํ์ฌ์ root ํ๋ก์ ํธ์ ์์ผ๋ก ์ถ๊ฐ๋ ์๋ธ ๋ชจ๋์ ๋ํ ์ค์
allprojects {
group = 'com.cakey'
version = '0.0.1-SNAPSHOT'
java {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
// ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ๋ฐ์์ฌ ์๊ฒฉ ์ ์ฅ์๋ค์ ์ค์ ํจ
repositories {
mavenCentral()
}
}
//์ปดํ์ผ ์ ํ์ํ ์ ๋ํ
์ด์
ํ๋ก์ธ์๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ ์ฉ๋๋๋ก ์ค์ ํ๋ ์ญํ
//allprojects์์ ๋ฃ์ผ๋ฉด ์๋๋ ์ด์ : allprojects๋ ์๋ธ ๋ชจ๋์ ๋น๋ ๊ตฌ์ฑ ์ ์ ์คํ๋ฉ๋๋ค. ๋ง์ฝ configurations {}๋ฅผ allprojects์ ๋ฃ์ผ๋ฉด, ์์ง ์๋ธ ๋ชจ๋์์ java ํ๋ฌ๊ทธ์ธ์ด๋ ๊ด๋ จ ํ๋ฌ๊ทธ์ธ์ด ์ ์ฉ๋์ง ์์ ์ํ์์ ์คํ๋ ์ ์์ต๋๋ค.
//์ด๋ก ์ธํด compileOnly ๋๋ annotationProcessor๊ฐ ์ ์๋์ง ์์๋ค๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
// ๋ฃจํธ ์ ์ธํ ์ ์ฒด ์๋ธ ๋ชจ๋์ ํด๋น๋๋ ์ค์
// settings.gradle์ include๋ ์ ์ฒด ํ๋ก์ ํธ์ ๋ํ ๊ณตํต ์ฌํญ์ ๋ช
์ํจ
// root ํ๋ก์ ํธ๊น์ง ์ ์ฉํ๊ณ ์ถ๋ค๋ฉด allprojects์์ ์ฌ์ฉํด์ผ ํจ
subprojects {
// subprojects ๋ธ๋ก ์์์๋ plugins ๋ธ๋ก์ ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก apply plugin์ ์ฌ์ฉํด์ผ ํจ
apply plugin: "java"
apply plugin: "org.springframework.boot"
apply plugin: "io.spring.dependency-management"
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
// ๋ชจ๋ ์๋ธ ๋ชจ๋์์ ์ฌ์ฉ๋ ๊ณตํต ์์กด์ฑ๋ค์ ์ถ๊ฐํจ
dependencies {
implementation 'org.springframework.boot:spring-boot-starter'
implementation 'org.springframework.boot:spring-boot-starter-web:3.2.1'
annotationProcessor "org.projectlombok:lombok:1.18.22"
compileOnly "org.projectlombok:lombok:1.18.22"
implementation 'org.springframework.boot:spring-boot-starter-validation'
//cache
implementation 'org.springframework.boot:spring-boot-starter-cache'
implementation 'com.github.ben-manes.caffeine:caffeine:3.1.1'
//Test
testImplementation 'org.springframework.boot:spring-boot-starter-test:3.2.1'
testCompileOnly("org.projectlombok:lombok:1.18.22")
testAnnotationProcessor("org.projectlombok:lombok:1.18.22")
}
// ๋ชจ๋ ์๋ธ ๋ชจ๋์์ Junit์ ์ฌ์ฉํ๊ธฐ ์ํ ์ค์
tasks.named("test") {
useJUnitPlatform()
}
}
bootJar { enabled = false }
jar { enabled = true }