Files
leagues-tools/spring-backend/build.gradle

72 lines
2.2 KiB
Groovy

plugins {
id 'java'
id 'org.springframework.boot' version '3.2.0'
id 'io.spring.dependency-management' version '1.1.4'
}
group = 'com.osleague'
version = '1.0.0'
sourceCompatibility = '17'
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
// Spring Boot Starters
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'org.springframework.boot:spring-boot-starter-quartz'
// Database
implementation 'org.mariadb.jdbc:mariadb-java-client:3.3.1'
implementation 'org.flywaydb:flyway-core'
implementation 'org.flywaydb:flyway-mysql'
// Hibernate support for array types
implementation 'com.vladmihalcea:hibernate-types-60:2.21.1'
// Cryptography (Blake2 hashing)
implementation 'org.bouncycastle:bcprov-jdk18on:1.77'
// JSON processing
implementation 'com.fasterxml.jackson.core:jackson-databind'
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310'
// HTTP Client (for GE prices API)
implementation 'org.springframework.boot:spring-boot-starter-webflux'
// Lombok
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testCompileOnly 'org.projectlombok:lombok'
testAnnotationProcessor 'org.projectlombok:lombok'
// Development tools
developmentOnly 'org.springframework.boot:spring-boot-devtools'
// Testing
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.security:spring-security-test'
testImplementation 'org.testcontainers:testcontainers:1.19.3'
testImplementation 'org.testcontainers:mariadb:1.19.3'
testImplementation 'org.testcontainers:junit-jupiter:1.19.3'
}
// Configure Java compiler to process annotations
tasks.withType(JavaCompile) {
options.annotationProcessorPath = configurations.annotationProcessor
}
tasks.named('test') {
useJUnitPlatform()
}