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") //======================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 { useJUnitPlatform() } tasks.test { outputs.dir(project.extra["snippetsDir"]!!) } tasks.asciidoctor { inputs.dir(project.extra["snippetsDir"]!!) dependsOn(tasks.test) }