77 lines
2.4 KiB
Kotlin
77 lines
2.4 KiB
Kotlin
plugins {
|
|
kotlin("jvm") version "1.9.25"
|
|
kotlin("plugin.spring") version "1.9.25"
|
|
kotlin("plugin.jpa") version "1.9.25"
|
|
kotlin("kapt") version "1.9.25"
|
|
id("org.springframework.boot") version "3.5.9"
|
|
id("io.spring.dependency-management") version "1.1.7"
|
|
}
|
|
|
|
group = "me.wypark"
|
|
version = "0.0.1-SNAPSHOT"
|
|
description = "blog-backend"
|
|
|
|
java {
|
|
toolchain {
|
|
languageVersion = JavaLanguageVersion.of(21) // Java 21 굿!
|
|
}
|
|
}
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
|
|
val springCloudAwsVersion = "3.2.1"
|
|
|
|
dependencies {
|
|
// 1. Standard Spring Boot Starters
|
|
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")
|
|
implementation("org.springframework.boot:spring-boot-starter-data-redis")
|
|
implementation("org.springframework.boot:spring-boot-starter-validation")
|
|
|
|
// 2. Kotlin Modules
|
|
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
|
|
implementation("org.jetbrains.kotlin:kotlin-reflect")
|
|
|
|
// 3. Database Drivers
|
|
runtimeOnly("org.postgresql:postgresql")
|
|
|
|
// 4. AWS S3 / MinIO
|
|
implementation("io.awspring.cloud:spring-cloud-aws-starter-s3:$springCloudAwsVersion")
|
|
|
|
// 5. QueryDSL
|
|
implementation("com.querydsl:querydsl-jpa:5.1.0:jakarta")
|
|
kapt("com.querydsl:querydsl-apt:5.1.0:jakarta")
|
|
kapt("jakarta.persistence:jakarta.persistence-api")
|
|
kapt("jakarta.annotation:jakarta.annotation-api")
|
|
|
|
// 6. JWT (0.12.x)
|
|
implementation("io.jsonwebtoken:jjwt-api:0.12.3")
|
|
runtimeOnly("io.jsonwebtoken:jjwt-impl:0.12.3")
|
|
runtimeOnly("io.jsonwebtoken:jjwt-jackson:0.12.3")
|
|
|
|
// 7. Test & Dev
|
|
developmentOnly("org.springframework.boot:spring-boot-devtools")
|
|
testImplementation("org.springframework.boot:spring-boot-starter-test")
|
|
testImplementation("org.jetbrains.kotlin:kotlin-test-junit5")
|
|
testImplementation("org.springframework.security:spring-security-test")
|
|
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
|
|
}
|
|
|
|
kotlin {
|
|
compilerOptions {
|
|
freeCompilerArgs.addAll("-Xjsr305=strict")
|
|
}
|
|
}
|
|
|
|
allOpen {
|
|
annotation("jakarta.persistence.Entity")
|
|
annotation("jakarta.persistence.MappedSuperclass")
|
|
annotation("jakarta.persistence.Embeddable")
|
|
}
|
|
|
|
tasks.withType<Test> {
|
|
useJUnitPlatform()
|
|
} |