Some checks failed
SonarQube Scan / SonarQube Trigger (push) Failing after 8m48s
- add coverage to sonar - coverage in domain and commonUI
75 lines
2.1 KiB
Kotlin
75 lines
2.1 KiB
Kotlin
import com.android.build.gradle.internal.coverage.JacocoReportTask
|
|
import com.android.build.gradle.internal.lint.AndroidLintTask
|
|
import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask
|
|
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
|
import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile
|
|
import org.sonarqube.gradle.SonarTask
|
|
|
|
plugins {
|
|
alias(libs.plugins.versions)
|
|
alias(libs.plugins.sonarqube)
|
|
alias(libs.plugins.android.application) apply false
|
|
alias(libs.plugins.android.library) apply false
|
|
alias(libs.plugins.compose) apply false
|
|
alias(libs.plugins.compose.compiler) apply false
|
|
alias(libs.plugins.kotlin.multiplatform) apply false
|
|
alias(libs.plugins.kotlin.jvm) apply false
|
|
alias(libs.plugins.jetbrains.kotlin.android) apply false
|
|
}
|
|
|
|
sonar {
|
|
properties {
|
|
property("sonar.projectKey", "YAEP")
|
|
property("sonar.projectName", "YAEP")
|
|
|
|
val reports = subprojects
|
|
.flatMap { p ->
|
|
p.tasks.withType<JacocoReportTask>()
|
|
}
|
|
.map { t ->
|
|
"${t.outputReportDir.asFile.get()}/report.xml"
|
|
}
|
|
|
|
property(
|
|
"sonar.coverage.jacoco.xmlReportPaths",
|
|
reports
|
|
)
|
|
}
|
|
}
|
|
|
|
tasks.withType<SonarTask>().configureEach {
|
|
dependsOn(
|
|
subprojects.flatMap { it.tasks.withType<AndroidLintTask>() }
|
|
)
|
|
dependsOn(
|
|
subprojects.flatMap { it.tasks.withType<JacocoReportTask>() }
|
|
)
|
|
}
|
|
|
|
tasks.withType<KotlinJvmCompile>().configureEach {
|
|
compilerOptions {
|
|
jvmTarget.set(JvmTarget.fromTarget(libs.versions.jdk.get()))
|
|
}
|
|
}
|
|
|
|
tasks.withType<DependencyUpdatesTask> {
|
|
rejectVersionIf {
|
|
isNonStable(candidate.version) && !isNonStable(currentVersion)
|
|
}
|
|
}
|
|
|
|
fun isNonStable(version: String): Boolean {
|
|
return version.contains("dev", ignoreCase = true)
|
|
|| version.contains("alpha", ignoreCase = true)
|
|
|| version.contains("beta", ignoreCase = true)
|
|
|| version.contains("RC", ignoreCase = true)
|
|
}
|
|
|
|
subprojects {
|
|
tasks.withType<Test> {
|
|
testLogging {
|
|
events("passed", "skipped", "failed")
|
|
}
|
|
}
|
|
}
|