-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
143 lines (117 loc) · 4.49 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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
buildscript {
ext {
springBootVersion = '2.3.4.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath "org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}"
classpath "io.spring.gradle:dependency-management-plugin:0.6.0.RELEASE"
}
}
subprojects {
apply plugin: 'java'
apply plugin: 'io.spring.dependency-management'
apply plugin: 'org.springframework.boot'
group 'kr.seok'
version '1.0-SNAPSHOT'
sourceCompatibility = '1.8'
repositories {
mavenCentral()
}
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
dependencies {
/* Web */
implementation 'org.springframework.boot:spring-boot-devtools'
implementation 'org.springframework.boot:spring-boot-starter-web'
/* Jpa */
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
/* db (jpa 설정 시 기본 db가 존재해야 함 */
runtimeOnly 'com.h2database:h2'
/* lombok */
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testImplementation('org.springframework.boot:spring-boot-starter-test') {
/* JUnit 5를 사용하는 경우 Junit4 내용을 제거해줘야 함, (이하 버전 사용하려는 경우 주석처리) */
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
}
/* JUnit5를 사용하는 경우 설정 */
test {
useJUnitPlatform()
}
}
/* Querydsl 프로젝트 리스트 */
def querydslProjects = [
project(":springboot-jpa-shop-optimize"),
project(":springboot-jpa-querydsl"),
project(":springboot-jpa-querydsl-basic")
]
configure(querydslProjects) {
apply plugin: "io.spring.dependency-management"
dependencies {
compile "com.querydsl:querydsl-jpa"
compile "com.querydsl:querydsl-core"
annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jpa" // querydsl JPAAnnotationProcessor 사용 지정
annotationProcessor "jakarta.persistence:jakarta.persistence-api:2.2.3"
annotationProcessor "jakarta.annotation:jakarta.annotation-api:1.3.5"
}
// querydsl 적용
def generated = "$buildDir/main/generated"
/* 클래스 파일을 해당 폴더에 생성 하도록 경로 설정 */
sourceSets {
main.java.srcDirs += [ generated ]
}
tasks.withType(JavaCompile) {
options.annotationProcessorGeneratedSourcesDirectory = file(generated)
}
clean.doLast {
file(generated).deleteDir()
}
}
project(":springboot-jpa-shop") {
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-validation'
testImplementation('org.springframework.boot:spring-boot-starter-test') {
/* JUnit 5를 사용하는 경우 Junit4 내용을 제거해줘야 함, (이하 버전 사용하려는 경우 주석처리) */
// exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
}
}
project(":springboot-jpa-shop-optimize") {
dependencies {
/* entity lazyloading 해결을 위해서 해당 모듈을 등록하는것 잘못된 해결법 */
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-hibernate5'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-validation'
// QueryDSL
implementation 'com.querydsl:querydsl-jpa'
testImplementation('org.springframework.boot:spring-boot-starter-test') {
/* JUnit 5를 사용하는 경우 Junit4 내용을 제거해줘야 함, (이하 버전 사용하려는 경우 주석처리) */
// exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
}
}
project(":springboot-jpa-data") {
dependencies {
implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.5.7'
}
}
project(":springboot-jpa-querydsl") {
dependencies {
/* QueryDSL 라이브러리로 의존관계 추가 */
implementation 'com.querydsl:querydsl-jpa'
}
}
project(":springboot-jpa-querydsl-basic") {
dependencies {
/* QueryDSL 라이브러리로 의존관계 추가 */
implementation 'com.querydsl:querydsl-jpa'
}
}