-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
131 lines (100 loc) · 3.71 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
buildscript {
ext {
restdocsApiSpecVersion = '0.17.1'
}
}
plugins {
id 'java'
id 'jacoco'
id 'org.springframework.boot' version '3.1.5'
id 'io.spring.dependency-management' version '1.1.3'
id 'com.epages.restdocs-api-spec' version "${restdocsApiSpecVersion}"
}
group = 'org.guzzing'
version = '0.0.1-SNAPSHOT'
java {
sourceCompatibility = '17'
}
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
openapi3 {
servers = [
{ url = "http://localhost:8080" },
{ url = "https://studay.store" },
{ url = "http://3.114.43.57:8080" }
]
title = "스터데이"
description = "스터데이 API 문서"
version = "v1"
format = "json"
outputDirectory = "src/main/resources/static"
outputFileNamePrefix = "swagger"
}
repositories {
mavenCentral()
}
dependencies {
// Web
implementation 'org.springframework.boot:spring-boot-starter-web'
// Test
testImplementation 'org.springframework.boot:spring-boot-starter-test'
// S3
implementation platform('com.amazonaws:aws-java-sdk-bom:1.12.529')
implementation 'com.amazonaws:aws-java-sdk-s3'
testImplementation 'io.findify:s3mock_2.13:0.2.6'
// QueryDSL
implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
testImplementation 'org.projectlombok:lombok:1.18.28'
annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta"
annotationProcessor "jakarta.annotation:jakarta.annotation-api"
annotationProcessor "jakarta.persistence:jakarta.persistence-api"
// JPA
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
// Hypersistence Utils
implementation 'io.hypersistence:hypersistence-utils-hibernate-62:3.6.1'
// Lombok
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
// Validation
implementation 'org.springframework.boot:spring-boot-starter-validation'
// MySQL
runtimeOnly 'com.mysql:mysql-connector-j'
// RestDocs
testImplementation 'org.springframework.restdocs:spring-restdocs-mockmvc'
// Spring Rest Api Spec
testImplementation "com.epages:restdocs-api-spec-mockmvc:${restdocsApiSpecVersion}"
// Swagger UI
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.2.0'
// Webflux
implementation 'org.springframework.boot:spring-boot-starter-webflux'
// Spring Security
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-oauth2-client'
testImplementation "org.springframework.security:spring-security-test"
// JWT
implementation group: 'io.jsonwebtoken', name: 'jjwt-api', version: '0.11.2'
implementation group: 'io.jsonwebtoken', name: 'jjwt-impl', version: '0.11.2'
implementation group: 'io.jsonwebtoken', name: 'jjwt-jackson', version: '0.11.2'
// spatial type
implementation 'org.hibernate:hibernate-spatial:6.3.1.Final'
// Spring cache
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-cache', version: '3.2.0'
// Caffeine
implementation group: 'com.github.ben-manes.caffeine', name: 'caffeine', version: '3.1.8'
// Netty/Resolver/DNS/Native/MacOS
implementation("io.netty:netty-resolver-dns-native-macos:4.1.79.Final:osx-aarch_64")
// Prometheus
runtimeOnly 'io.micrometer:micrometer-registry-prometheus'
// Spring Actuator
implementation 'org.springframework.boot:spring-boot-starter-actuator'
}
tasks.named('test') {
finalizedBy jacocoTestReport
useJUnitPlatform()
}
tasks.named('jacocoTestReport') {
dependsOn test
}