55 lines
1.4 KiB
Plaintext
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)
|
|
}
|
|
}
|
|
|