-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
132 lines (107 loc) · 4.43 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
buildscript {
ext {
queryDslVersion = "5.0.0"
}
}
plugins {
id 'java'
id 'org.springframework.boot' version '3.2.1'
id 'io.spring.dependency-management' version '1.1.4'
}
group = 'com'
version = '0.0.1-SNAPSHOT'
java {
sourceCompatibility = '17'
}
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
// Swagger start
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.2.0'
implementation 'javax.xml.bind:jaxb-api:2.3.1' // xml 에러 방지
// Swagger end
// aws s3를 위한 설정 - start
implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE'
testImplementation 'org.testcontainers:localstack'
// aws s3를 위한 설정 - end
// spring security start
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.projectlombok:lombok:1.18.30'
testImplementation 'org.springframework.security:spring-security-test'
implementation 'org.springframework.boot:spring-boot-starter-oauth2-client' // oauth2
implementation group: 'io.jsonwebtoken', name: 'jjwt-api', version: '0.11.5'
runtimeOnly group: 'io.jsonwebtoken', name: 'jjwt-impl', version: '0.11.5'
runtimeOnly group: 'io.jsonwebtoken', name: 'jjwt-jackson', version: '0.11.5'
implementation 'com.auth0:jwks-rsa:0.22.1' // apple oauth
implementation 'com.auth0:java-jwt:4.4.0' // apple oauth
implementation 'org.bouncycastle:bcpkix-jdk18on:1.78.1' // apple oauth
implementation 'com.google.code.gson:gson:2.10.1' // apple oauth
// spring security end
//querydsl 추가
implementation "com.querydsl:querydsl-jpa:${queryDslVersion}:jakarta"
annotationProcessor "com.querydsl:querydsl-apt:${queryDslVersion}:jakarta"
annotationProcessor "jakarta.annotation:jakarta.annotation-api"
annotationProcessor "jakarta.persistence:jakarta.persistence-api"
// commons
implementation 'commons-io:commons-io:2.16.1'
// Process Executor
implementation 'org.zeroturnaround:zt-exec:1.12'
// Process Executor
// prometheus + grafana
implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation 'io.micrometer:micrometer-registry-prometheus'
// JPA start
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-data-redis'
runtimeOnly 'com.mysql:mysql-connector-j'
// JPA end
// youtube
implementation 'com.google.apis:google-api-services-youtube:v3-rev222-1.25.0'
implementation 'com.google.oauth-client:google-oauth-client-jetty:1.35.0'
// youtube
// resilience4j
implementation 'io.github.resilience4j:resilience4j-spring-boot2:2.2.0'
// resilience4j
// test container
testImplementation("org.junit.jupiter:junit-jupiter:5.8.1")
testImplementation("org.testcontainers:testcontainers:1.19.8")
testImplementation("org.testcontainers:junit-jupiter:1.19.8")
testImplementation("org.testcontainers:mysql:1.19.8")
testImplementation("io.rest-assured:rest-assured:5.4.0")
// test container
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
// p6spy
implementation("com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0")
// Optimistic Retry
implementation 'org.springframework.retry:spring-retry'
implementation 'org.springframework:spring-aspects'
// flyway
implementation 'org.flywaydb:flyway-core'
implementation 'org.flywaydb:flyway-mysql'
// Jackson for JSON processing
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.16.1'
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310'
}
tasks.named('test') {
useJUnitPlatform()
}
// === ⭐ QueryDsl 빌드 옵션 (선택) ===
def querydslSrcDir = 'src/main/generated'
clean {
delete file(querydslSrcDir)
}
tasks.withType(JavaCompile) {
options.generatedSourceOutputDirectory = file(querydslSrcDir)
}