group = "space.nstart.pcp" plugins { kotlin("jvm") kotlin("plugin.spring") id("org.springframework.boot") id("io.spring.dependency-management") id("org.sonarqube") jacoco } version = "1.0.0" kotlin { compilerOptions { freeCompilerArgs.addAll("-Xjsr305=strict") } } dependencies { implementation("${property("dep.spring.actuator")}") implementation("org.springframework.boot:spring-boot-starter-web") implementation("org.springframework.boot:spring-boot-starter-validation") implementation("org.springframework.cloud:spring-cloud-starter-config") implementation("de.codecentric:spring-boot-admin-starter-server:${property("versions.spring.boot.admin")}") implementation("org.jetbrains.kotlin:kotlin-reflect") implementation("com.fasterxml.jackson.module:jackson-module-kotlin") testImplementation("org.jetbrains.kotlin:kotlin-test-junit5") testImplementation("org.springframework.boot:spring-boot-starter-test") testRuntimeOnly("org.junit.platform:junit-platform-launcher") } dependencyManagement { imports { mavenBom("org.springframework.cloud:spring-cloud-dependencies:${property("versions.spring.cloud")}") } } tasks.withType { manifest { attributes["Built-By"] = "nstart" attributes["Implementation-Version"] = archiveVersion } } tasks.withType { useJUnitPlatform() finalizedBy(tasks.jacocoTestReport) systemProperty("spring.profiles.active", "test") systemProperty("spring.config.name", "test-application") } tasks.check { dependsOn(tasks.jacocoTestCoverageVerification) } tasks.jacocoTestReport { dependsOn(tasks.test) reports { xml.required = true html.required = true csv.required = false } } sonar { properties { property("sonar.projectKey", "pcp") property("sonar.login", "sqp_tokenExample") property("sonar.qualitygate.wait", "${property("sonar.qualitygate.wait")}") property("sonar.host.url", "${property("sonar.host.url")}") } }