plugins { java jacoco id("org.springframework.boot") version "4.1.0" id("io.spring.dependency-management") version "1.1.7" id("org.sonarqube") version "7.3.0.8198" } group = "com.vaessl" version = "0.0.1-SNAPSHOT" java { toolchain { languageVersion = JavaLanguageVersion.of(25) } } sonar { properties { property("sonar.projectKey", "Vaessl") property("sonar.projectName", "Vaessl") property("sonar.coverage.jacoco.xmlReportPaths", "${layout.buildDirectory.get()}/reports/jacoco/test/jacocoTestReport.xml") } } configurations { compileOnly { extendsFrom(configurations.annotationProcessor.get()) } } repositories { mavenCentral() } extra["springAiVersion"] = "2.0.0" const val wiremockVersion = "3.12.0" dependencies { implementation("org.springframework.boot:spring-boot-starter-data-jpa") implementation("org.springframework.boot:spring-boot-starter-session-jdbc") // implementation("org.springframework.boot:spring-boot-starter-security") implementation("org.springframework.boot:spring-boot-starter-validation") implementation("org.springframework.boot:spring-boot-starter-webmvc") implementation("org.springframework.ai:spring-ai-starter-model-openai") compileOnly("org.projectlombok:lombok") developmentOnly("org.springframework.boot:spring-boot-devtools") runtimeOnly("org.postgresql:postgresql") annotationProcessor("org.projectlombok:lombok") testImplementation("org.springframework.boot:spring-boot-starter-data-jpa-test") // testImplementation("org.springframework.boot:spring-boot-starter-security-test") testImplementation("org.springframework.boot:spring-boot-starter-validation-test") testImplementation("org.springframework.boot:spring-boot-starter-webmvc-test") testRuntimeOnly("org.junit.platform:junit-platform-launcher") testImplementation("org.wiremock:wiremock-standalone:$wiremockVersion") testImplementation("org.springframework.boot:spring-boot-starter-session-jdbc-test")} dependencyManagement { imports { mavenBom("org.springframework.ai:spring-ai-bom:${property("springAiVersion")}") } } tasks.withType { options.compilerArgs.add("-parameters") } tasks.withType { useJUnitPlatform() finalizedBy(tasks.jacocoTestReport) testLogging { events("failed", "standardError") exceptionFormat = org.gradle.api.tasks.testing.logging.TestExceptionFormat.FULL showExceptions = true showCauses = true showStackTraces = true } } tasks.jacocoTestReport { dependsOn(tasks.withType()) reports { xml.required = true } }