final-vibevault-template/build.gradle.kts
2025-12-01 22:12:02 +08:00

55 lines
1.4 KiB
Plaintext

plugins {
id("java")
id("org.springframework.boot") version "3.4.7"
id("io.spring.dependency-management") version "1.1.7"
application
}
group = "com.vibevault"
version = "0.0.1-SNAPSHOT"
java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}
repositories {
maven { url = uri("https://maven.aliyun.com/repository/public") }
mavenCentral()
}
dependencies {
// Spring Boot Starters
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
implementation("org.springframework.boot:spring-boot-starter-security")
implementation("org.springframework.boot:spring-boot-starter-validation")
// Database
runtimeOnly("org.postgresql:postgresql")
runtimeOnly("com.h2database:h2") // For testing
// JWT (Optional - for Challenge track)
implementation("io.jsonwebtoken:jjwt-api:0.12.6")
runtimeOnly("io.jsonwebtoken:jjwt-impl:0.12.6")
runtimeOnly("io.jsonwebtoken:jjwt-jackson:0.12.6")
// Testing
testImplementation("org.springframework.boot:spring-boot-starter-test")
testImplementation("org.springframework.security:spring-security-test")
}
application {
mainClass.set("com.vibevault.VibeVaultApplication")
}
tasks.withType<Test> {
useJUnitPlatform()
// Generate XML reports for grading
reports {
junitXml.required.set(true)
}
}