-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.gradle
More file actions
131 lines (101 loc) · 3.71 KB
/
build.gradle
File metadata and controls
131 lines (101 loc) · 3.71 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
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{
queryDslVersion = "5.0.0"
}
}
plugins {
id 'java'
id 'org.springframework.boot' version '3.2.7'
id 'io.spring.dependency-management' version '1.1.5'
}
group = 'com.project'
version = '0.0.1-SNAPSHOT'
java {
toolchain {
languageVersion = JavaLanguageVersion.of(17)
}
}
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.security:spring-security-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
testAnnotationProcessor 'org.projectlombok:lombok'
testCompileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.mysql:mysql-connector-j'
// validation 필수값 입력
implementation 'org.springframework.boot:spring-boot-starter-validation'
// swagger UI 설정
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.1.0'
//modelmapper
implementation 'org.modelmapper:modelmapper:3.2.0'
//토큰값 설정
implementation 'io.jsonwebtoken:jjwt-api:0.12.5'
runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.12.5', 'io.jsonwebtoken:jjwt-jackson:0.12.5'
// 인증 정보 JSON 문자열 처리를 위한 gson 라이브러리
implementation 'com.google.code.gson:gson:2.10.1'
// Querydsl 관련 라이브러리
implementation "com.querydsl:querydsl-jpa:${queryDslVersion}:jakarta"
annotationProcessor(
"jakarta.persistence:jakarta.persistence-api",
"jakarta.annotation:jakarta.annotation-api",
"com.querydsl:querydsl-apt:${queryDslVersion}:jakarta"
)
// thymleaf 관련 라이브러리
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
//Thymeleaf의 레이아웃 기능을 위한 추가 라이브러리
implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect:3.3.0'
// //ThymeLeaf에서 스프링시큐리티 사용하기 위한 라이브러리
// implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity6:3.1.2.RELEASE'
//소셜로그인을 위한 oauth2
implementation 'org.springframework.boot:spring-boot-starter-oauth2-client'
//썸네일
implementation 'net.coobird:thumbnailator:0.4.17'
//아마존에서 사용하는 이미지 저장
implementation 'software.amazon.awssdk:s3:2.20.56'
}
task("release") {
dependsOn("build")
doLast {
def stdout = new ByteArrayOutputStream()
exec {
/* $ eb setenv SPRING_PROFILES_ACTIVE=prod */
commandLine 'eb', 'setenv', 'SPRING_PROFILES_ACTIVE=prod'
standardOutput = stdout
}
/* 결과 로깅을 위한 작업 */
println "eb setnev SPRING_PROFILES_ACTIVE=prod :\n$stdout";
exec {
/* eb deploy => .elasticbeanstalk/config.yml에 있는 설정으로 배포 처리. */
commandLine 'eb', 'deploy'
standardOutput = stdout
}
println "eb deploy :\n$stdout";
println "Release succeeded.";
}
}
tasks.named('test') {
useJUnitPlatform()
}
sourceSets {
main{
java{
srcDirs = ["$projectDir/src/main/java", "$projectDir/build/generated"]
}
}
}
//compile정리
compileJava.dependsOn('clean')