group = "space.nstart.pcp" plugins { kotlin("jvm") kotlin("plugin.spring") kotlin("plugin.jpa") kotlin("plugin.lombok") id("org.springframework.boot") id("io.spring.dependency-management") //id("org.sonarqube") jacoco } version = "1.0.0" kotlin { compilerOptions { freeCompilerArgs.addAll("-Xjsr305=strict") } } configurations { compileOnly { extendsFrom(configurations.annotationProcessor.get()) } } dependencies { implementation(project(":libs:pcp-types-lib")) implementation("${property("dep.spring.actuator")}") implementation("org.springframework.boot:spring-boot-starter-logging") implementation("org.springframework.boot:spring-boot-starter-validation") implementation("org.springframework.boot:spring-boot-starter-web") implementation("jakarta.validation:jakarta.validation-api") implementation("org.jetbrains.kotlin:kotlin-reflect") implementation("com.fasterxml.jackson.module:jackson-module-kotlin") implementation("org.springframework.boot:spring-boot-starter-webflux") implementation("org.springdoc:springdoc-openapi-starter-webflux-ui:${property("versions.open-api")}") implementation("org.springframework.cloud:spring-cloud-starter-config") implementation("com.fasterxml.jackson.module:jackson-module-kotlin") // implementation("org.springframework.kafka:spring-kafka") implementation("org.springframework.boot:spring-boot-starter-flyway") implementation("org.flywaydb:flyway-database-postgresql") runtimeOnly("org.postgresql:postgresql") implementation("jakarta.validation:jakarta.validation-api") implementation("org.springframework.boot:spring-boot-starter-data-jpa") implementation("org.locationtech.jts:jts-core:1.19.0") testImplementation("junit:junit") testImplementation("org.jetbrains.kotlin:kotlin-test-junit5") testImplementation("org.springframework.boot:spring-boot-starter-test") testImplementation("org.springframework.security:spring-security-test") testImplementation("org.testcontainers:junit-jupiter") testRuntimeOnly("com.h2database:h2") testRuntimeOnly("org.junit.platform:junit-platform-launcher") } dependencyManagement { imports { mavenBom("org.springframework.cloud:spring-cloud-dependencies:${property("versions.spring.cloud")}") mavenBom("org.testcontainers:testcontainers-bom:${property("versions.testcontainers")}") } } tasks.withType { manifest { attributes["Built-By"] = "nstart" attributes["Implementation-Version"] = archiveVersion } } tasks.withType { enabled = true useJUnitPlatform() finalizedBy(tasks.jacocoTestReport) systemProperty("spring.profiles.active", "test") } tasks.check { dependsOn(tasks.jacocoTestCoverageVerification) } tasks.jacocoTestReport { dependsOn(tasks.test) reports { xml.required = true html.required = true csv.required = false } }