96 lines
2.6 KiB
Kotlin
96 lines
2.6 KiB
Kotlin
|
|
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
|
|
// id("org.graalvm.buildtools.native")
|
|
}
|
|
|
|
version = "1.0.0"
|
|
|
|
|
|
kotlin {
|
|
compilerOptions {
|
|
freeCompilerArgs.addAll("-Xjsr305=strict")
|
|
}
|
|
}
|
|
|
|
configurations {
|
|
compileOnly {
|
|
extendsFrom(configurations.annotationProcessor.get())
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation(project(":libs:pcp-types-lib"))
|
|
implementation(project(":libs:ballistics-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("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.kafka:spring-kafka")
|
|
implementation("org.springframework.cloud:spring-cloud-starter-config")
|
|
|
|
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")
|
|
|
|
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("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<Jar> {
|
|
manifest {
|
|
attributes["Built-By"] = "nstart"
|
|
attributes["Implementation-Version"] = archiveVersion
|
|
}
|
|
}
|
|
|
|
tasks.withType<Test> {
|
|
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
|
|
}
|
|
}
|
|
|