plugins { java id("org.springframework.boot") version "3.3.4" id("io.spring.dependency-management") version "1.1.6" id("checkstyle") id("org.sonarqube") version "5.1.0.4882" id("jacoco") } tasks.jacocoTestReport { dependsOn(tasks.test) // Ensure tests are run before generating the report reports { xml.required = true csv.required = true } } sonar { properties { property("sonar.projectKey", "LF8") property("sonar.projectName", "LF8") } } tasks.withType { reports { // Disable HTML report html.required.set(false) // Disable XML report xml.required.set(false) } } group = "de.szut" version = "0.0.1-SNAPSHOT" tasks.test { useJUnitPlatform() // Activate the 'test' profile for Spring during tests systemProperty("spring.profiles.active", "test") } java { toolchain { languageVersion = JavaLanguageVersion.of(21) } } configurations { compileOnly { extendsFrom(configurations.annotationProcessor.get()) } } repositories { mavenCentral() } val springDocVersion = "2.7.0" val oauth2Version = "3.4.0" dependencies { implementation("org.springframework.boot:spring-boot-starter-data-jpa") implementation("org.springframework.boot:spring-boot-starter-web") implementation("org.springframework.boot:spring-boot-starter-validation") implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:$springDocVersion") implementation("org.springframework.boot:spring-boot-starter-security") implementation("org.springframework.boot:spring-boot-starter-oauth2-resource-server:$oauth2Version") implementation("org.springframework.boot:spring-boot-starter-oauth2-client:$oauth2Version") testImplementation("com.h2database:h2") testImplementation("org.springframework.boot:spring-boot-starter-test") compileOnly("org.projectlombok:lombok") annotationProcessor("org.projectlombok:lombok") testRuntimeOnly("org.junit.platform:junit-platform-launcher") runtimeOnly("org.postgresql:postgresql") } tasks.withType { useJUnitPlatform() finalizedBy(tasks.jacocoTestReport) // Run JaCoCo report after tests }