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 { useJUnitPlatform() // Generate XML reports for grading reports { junitXml.required.set(true) } }