Newer
Older
val springVersion = "3.3.2"
plugins {
id("org.springframework.boot") version "3.3.2"
id("io.spring.dependency-management") version "1.1.6"
id("org.jetbrains.kotlin.plugin.allopen") version "2.0.20-Beta2"
kotlin("jvm") version "2.0.0"
kotlin("plugin.spring") version "2.0.20-Beta2"
kotlin("plugin.jpa") version "2.0.20-Beta2"
kotlin("plugin.serialization") version "2.0.0"
}
allOpen {
annotation("javax.persistence.Entity")
annotation("javax.persistence.Embeddable")
annotation("javax.persistence.MappedSuperclass")
annotation("jakarta.persistence.Entity")
annotation("jakarta.persistence.Embeddable")
annotation("jakarta.persistence.MappedSuperclass")
}
group = "de.fraunhofer.iem"
version = "0.0.2-SNAPSHOT"
java.sourceCompatibility = JavaVersion.VERSION_21
configurations {
compileOnly {
extendsFrom(configurations.annotationProcessor.get())
}
}
repositories {
mavenCentral()
}
val coroutineVersion = "1.9.0-RC"
val ktorVersion = "2.3.12"
dependencies {
implementation("de.fraunhofer.iem.kpiCalculator:core:0.0.2-SNAPSHOT")
implementation("de.fraunhofer.iem.kpiCalculator:adapter:0.0.2-SNAPSHOT")
implementation("de.fraunhofer.iem.kpiCalculator:model:0.0.2-SNAPSHOT")
implementation("org.springframework.boot:spring-boot-starter-data-jpa:$springVersion")
implementation("org.springframework.boot:spring-boot-starter-validation:$springVersion")
implementation("org.springframework.boot:spring-boot-starter-security:$springVersion")
implementation("org.springframework.boot:spring-boot-starter-webflux:$springVersion")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.17.1")
implementation("org.jetbrains.kotlin:kotlin-reflect:2.0.0")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutineVersion")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-reactive:$coroutineVersion")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-reactor:$coroutineVersion")
implementation("org.springdoc:springdoc-openapi-starter-webflux-ui:2.5.0")
implementation("org.gitlab4j:gitlab4j-api:6.0.0-rc.5")
implementation("org.eclipse.jgit:org.eclipse.jgit:6.10.0.202406032230-r")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.1")
implementation("org.springframework.boot:spring-boot-starter-actuator:$springVersion")
implementation("io.ktor:ktor-client-core-jvm:$ktorVersion")
implementation("io.ktor:ktor-client-cio-jvm:$ktorVersion")
implementation("io.ktor:ktor-client-content-negotiation:$ktorVersion")
implementation("io.ktor:ktor-serialization-kotlinx-json:$ktorVersion")
implementation("com.auth0:java-jwt:4.4.0")
developmentOnly("org.springframework.boot:spring-boot-devtools:$springVersion")
runtimeOnly("org.postgresql:postgresql:42.7.3")
testImplementation("org.springframework.boot:spring-boot-starter-test:$springVersion") {
exclude(module = "mockito-core")
exclude(group = "org.junit.vintage", module = "junit-vintage-engine")
}
testImplementation("org.junit.jupiter:junit-jupiter-api:5.10.3")
testImplementation("io.ktor:ktor-client-mock-jvm:$ktorVersion")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.10.3")
testRuntimeOnly("com.h2database:h2:2.2.224")
testImplementation("com.ninja-squad:springmockk:4.0.2")
testImplementation("org.springframework.security:spring-security-test:6.3.0")
testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:$coroutineVersion")
}
tasks.named("compileKotlin", org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask::class.java) {
compilerOptions {
freeCompilerArgs.add("-Xjsr305=strict")
}
}
kotlin {
compilerOptions {
apiVersion.set(org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_2_0)
}
}
tasks.withType<Test> {
useJUnitPlatform()
}