72 lines
2.2 KiB
Groovy
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()
|
|
}
|