Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
81 changes: 39 additions & 42 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
plugins {
id 'java'
id 'org.springframework.boot' version '3.5.0'
id 'io.spring.dependency-management' version '1.1.7'
id 'com.diffplug.spotless' version '8.1.0'
id 'org.flywaydb.flyway' version '11.11.2'
id 'org.jetbrains.kotlin.jvm' version '2.2.21'
id 'org.jetbrains.kotlin.plugin.spring' version '2.2.21'
id 'org.jetbrains.kotlin.plugin.jpa' version '2.2.21'
// id 'org.jetbrains.kotlin.kapt' version '2.2.21'
id 'org.jetbrains.kotlin.kapt' version '2.2.21'
}

group = 'com.ject'
Expand All @@ -19,24 +18,20 @@ java {
}
}

configurations {
compileOnly {
extendsFrom annotationProcessor
}
}

repositories {
mavenCentral()
}

dependencies {
// Spring Boot Starters
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-batch'
implementation 'org.springframework.boot:spring-boot-starter-webflux'
implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.7.0")
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'

// Swagger (SpringDoc UI 문서화)
implementation 'org.apache.commons:commons-lang3:3.20.0'
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.7.0'

// Validation
implementation 'org.springframework.boot:spring-boot-starter-validation'
Expand All @@ -46,19 +41,14 @@ dependencies {

// JWT
implementation("io.jsonwebtoken:jjwt-api:0.12.3")
runtimeOnly("io.jsonwebtoken:jjwt-impl:0.12.3")
runtimeOnly("io.jsonwebtoken:jjwt-jackson:0.12.3")
runtimeOnly('io.jsonwebtoken:jjwt-impl:0.12.3')
runtimeOnly('io.jsonwebtoken:jjwt-jackson:0.12.3')

// Querydsl
// Querydsl (Kotlin용 – kapt 추가)
implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
annotationProcessor "com.querydsl:querydsl-apt:5.0.0:jakarta"
annotationProcessor "jakarta.annotation:jakarta.annotation-api"
annotationProcessor "jakarta.persistence:jakarta.persistence-api"

// Querydsl (Kotlin용 – kapt 추가, Java용 Querydsl과 충돌이 발생하여 주석 처리)
// kapt "com.querydsl:querydsl-apt:5.0.0:jakarta"
// kapt "jakarta.annotation:jakarta.annotation-api"
// kapt "jakarta.persistence:jakarta.persistence-api"
kapt 'com.querydsl:querydsl-apt:5.0.0:jakarta'
kapt 'jakarta.annotation:jakarta.annotation-api'
kapt 'jakarta.persistence:jakarta.persistence-api'

// Redis
implementation 'org.springframework.boot:spring-boot-starter-data-redis'
Expand All @@ -74,30 +64,29 @@ dependencies {
// AWS SDK
implementation 'software.amazon.awssdk:s3:2.25.33'
implementation 'software.amazon.awssdk:auth:2.25.33' // IAM 인증 관련
implementation 'software.amazon.awssdk:sts:2.25.33' // STS (IAM Role 인증 필요시)
implementation 'software.amazon.awssdk:sts:2.25.33' // STS (IAM Role 인증 필요시)

// Tika : 이미지 타입 검사
implementation 'org.apache.tika:tika-core:2.5.0'

// Kotlin
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
implementation "org.jetbrains.kotlin:kotlin-reflect"
implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8'
implementation 'org.jetbrains.kotlin:kotlin-reflect'
implementation 'io.projectreactor.kotlin:reactor-kotlin-extensions'
testImplementation "org.jetbrains.kotlin:kotlin-test"
testImplementation 'org.jetbrains.kotlin:kotlin-test'

// Jackson
implementation "com.fasterxml.jackson.module:jackson-module-kotlin"
implementation 'com.fasterxml.jackson.module:jackson-module-kotlin'
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310'


// Test
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.batch:spring-batch-test'
testImplementation 'org.springframework.security:spring-security-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
testImplementation 'org.mockito:mockito-core'
testImplementation 'org.mockito:mockito-junit-jupiter'
testImplementation "org.mockito.kotlin:mockito-kotlin:6.1.0"
testImplementation 'org.mockito.kotlin:mockito-kotlin:6.1.0'
}

jar.enabled = false // 일반 JAR 파일 생성 비활성화
Expand All @@ -107,15 +96,6 @@ tasks.named('test') {
}

spotless {
java {
target("**/*.java") // 모든 .java 파일에 적용
importOrder() // import 정렬
removeUnusedImports() // 사용하지 않는 import 제거
trimTrailingWhitespace() // 공백 제거
endWithNewline() // 파일 끝부분 개행 처리
googleJavaFormat().aosp() // google java format 스타일 적용
}

kotlin {
target("**/*.kt") // 모든 .kt 파일에 적용
ktlint("1.8.0") // Kotlin 코드 스타일 검사 및 자동 포맷팅
Expand All @@ -126,8 +106,25 @@ spotless {

// pre-commit spotless check script
// 작성한 pre-commit 스크립트를 ./git/hooks/pre-commit 으로 덮어쓰기
tasks.register('updateGitHooks', Copy) {
from 'scripts/pre-commit'
into '.git/hooks'
tasks.register("updateGitHooks", Copy) {
from "scripts/pre-commit"
into ".git/hooks"
}

// compileKotlin 작업 시 updateGitHooks task 수행
compileKotlin.dependsOn updateGitHooks

// Kotlin 소스셋에 QClass 경로 추가
sourceSets {
main {
kotlin {
srcDirs += "$buildDir/generated/source/kapt/main"
}
}
}

kapt {
arguments {
arg("querydsl.useFields", "false")
}
}
compileJava.dependsOn updateGitHooks // 컴파일 자바 작업 시 updateGitHooks task 수행
12 changes: 0 additions & 12 deletions src/main/java/com/ject/studytrip/StudytripApplication.java

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Loading