Files
board-mate/api/build.gradle.kts
2026-01-03 14:56:57 +01:00

95 lines
3.4 KiB
Kotlin

plugins {
java
id("org.springframework.boot") version "4.0.0"
id("io.spring.dependency-management") version "1.1.7"
id("org.asciidoctor.jvm.convert") version "4.0.5"
}
group = "be.naaturel"
version = "0.0.1-SNAPSHOT"
description = "boardmate-api"
java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}
configurations {
compileOnly {
extendsFrom(configurations.annotationProcessor.get())
}
}
repositories {
mavenCentral()
}
extra["snippetsDir"] = file("build/generated-snippets")
dependencies {
//======================MAIN======================
implementation("org.springframework.boot:spring-boot-security")
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("org.springframework.boot:spring-boot-starter-actuator")
annotationProcessor("org.springframework.boot:spring-boot-configuration-processor")
//======================ELASTIC SEARCH======================
implementation("org.springframework.boot:spring-boot-starter-data-elasticsearch")
implementation("org.springframework.boot:spring-boot-starter-elasticsearch")
//======================MONGO DB======================
implementation("org.springframework.boot:spring-boot-starter-data-mongodb")
implementation("org.springframework.boot:spring-boot-starter-mongodb")
implementation("org.springframework.boot:spring-boot-starter-data-mongodb")
//======================SWAGGER======================
implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.2.0")
//======================MQTT======================
implementation("org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.5")
//======================TWILIO======================
implementation(group = "com.twilio.sdk", name = "twilio", version = "8.0.0")
//======================SENDGRID======================
implementation("com.sendgrid:sendgrid-java:4.4.1")
//======================PROMETHEUS======================
runtimeOnly("io.micrometer:micrometer-registry-prometheus")
//======================JWT======================
implementation("org.springframework.boot:spring-boot-starter-oauth2-resource-server")
implementation("org.springframework.security:spring-security-oauth2-jose")
//======================OTHER======================
developmentOnly("org.springframework.boot:spring-boot-devtools")
developmentOnly("org.springframework.boot:spring-boot-docker-compose")
testImplementation("org.springframework.boot:spring-boot-restdocs")
testImplementation("org.springframework.boot:spring-boot-starter-actuator-test")
testImplementation("org.springframework.boot:spring-boot-starter-data-elasticsearch-test")
testImplementation("org.springframework.boot:spring-boot-starter-data-mongodb-test")
testImplementation("org.springframework.boot:spring-boot-starter-elasticsearch-test")
testImplementation("org.springframework.boot:spring-boot-starter-mongodb-test")
testImplementation("org.springframework.boot:spring-boot-starter-opentelemetry-test")
testImplementation("org.springframework.restdocs:spring-restdocs-mockmvc")
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
}
tasks.withType<Test> {
useJUnitPlatform()
}
tasks.test {
outputs.dir(project.extra["snippetsDir"]!!)
}
tasks.asciidoctor {
inputs.dir(project.extra["snippetsDir"]!!)
dependsOn(tasks.test)
}