From 78403becf29386ece5f2101b140f31f8a48776b0 Mon Sep 17 00:00:00 2001 From: Adam <897017+aSemy@users.noreply.github.com> Date: Fri, 2 Jun 2023 08:49:55 +0200 Subject: [PATCH] refactor sonar build config --- build.gradle.kts | 6 ++++++ buildSrc/build.gradle.kts | 2 +- .../conventions/lang/kotlin-jvm.gradle.kts | 15 +++++++++------ .../lang/kotlin-multiplatform-base.gradle.kts | 14 ++++++++++++++ .../buildsrc/conventions/publishing.gradle.kts | 2 +- ...de-quality.gradle.kts => sonarqube.gradle.kts} | 10 ---------- 6 files changed, 31 insertions(+), 18 deletions(-) rename buildSrc/src/main/kotlin/buildsrc/conventions/{code-quality.gradle.kts => sonarqube.gradle.kts} (80%) diff --git a/build.gradle.kts b/build.gradle.kts index 9eae0de..6f48859 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -17,7 +17,13 @@ plugins { buildsrc.conventions.base + buildsrc.conventions.sonarqube } group = "net.thauvin.erik" version = "1.4.0-SNAPSHOT" + +dependencies { + kover(projects.app) + kover(projects.lib) +} diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index e862322..0b4b926 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -9,4 +9,4 @@ dependencies { implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.21") implementation("org.jetbrains.kotlinx:kover-gradle-plugin:0.7.0") implementation("org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:4.2.0.3129") -} \ No newline at end of file +} diff --git a/buildSrc/src/main/kotlin/buildsrc/conventions/lang/kotlin-jvm.gradle.kts b/buildSrc/src/main/kotlin/buildsrc/conventions/lang/kotlin-jvm.gradle.kts index 790e694..eb302e8 100644 --- a/buildSrc/src/main/kotlin/buildsrc/conventions/lang/kotlin-jvm.gradle.kts +++ b/buildSrc/src/main/kotlin/buildsrc/conventions/lang/kotlin-jvm.gradle.kts @@ -1,15 +1,10 @@ package buildsrc.conventions.lang import buildsrc.utils.Rife2TestListener -import org.gradle.api.JavaVersion -import org.gradle.api.tasks.testing.Test import org.gradle.api.tasks.testing.logging.TestExceptionFormat import org.gradle.api.tasks.testing.logging.TestLogEvent -import org.gradle.kotlin.dsl.withType import org.jetbrains.kotlin.gradle.dsl.JvmTarget -import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget import org.jetbrains.kotlin.gradle.tasks.KotlinCompile -import org.sonarqube.gradle.SonarTask /** * Common configuration for Kotlin/JVM projects @@ -20,7 +15,8 @@ import org.sonarqube.gradle.SonarTask plugins { id("buildsrc.conventions.base") kotlin("jvm") - id("buildsrc.conventions.code-quality") + id("io.gitlab.arturbosch.detekt") + id("org.jetbrains.kotlinx.kover") } java { @@ -39,4 +35,11 @@ tasks.withType().configureEach { tasks.withType().configureEach { useJUnitPlatform() + + val testsBadgeApiKey = providers.gradleProperty("testsBadgeApiKey") + addTestListener(Rife2TestListener(testsBadgeApiKey)) + testLogging { + exceptionFormat = TestExceptionFormat.FULL + events = setOf(TestLogEvent.PASSED, TestLogEvent.SKIPPED, TestLogEvent.FAILED) + } } diff --git a/buildSrc/src/main/kotlin/buildsrc/conventions/lang/kotlin-multiplatform-base.gradle.kts b/buildSrc/src/main/kotlin/buildsrc/conventions/lang/kotlin-multiplatform-base.gradle.kts index 4af978b..3a98de0 100644 --- a/buildSrc/src/main/kotlin/buildsrc/conventions/lang/kotlin-multiplatform-base.gradle.kts +++ b/buildSrc/src/main/kotlin/buildsrc/conventions/lang/kotlin-multiplatform-base.gradle.kts @@ -1,5 +1,8 @@ package buildsrc.conventions.lang +import buildsrc.utils.Rife2TestListener +import org.gradle.api.tasks.testing.logging.TestExceptionFormat +import org.gradle.api.tasks.testing.logging.TestLogEvent import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget @@ -13,6 +16,8 @@ import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget plugins { id("buildsrc.conventions.base") kotlin("multiplatform") + id("io.gitlab.arturbosch.detekt") + id("org.jetbrains.kotlinx.kover") } @@ -43,3 +48,12 @@ kotlin { } } } + +tasks.withType().configureEach { + val testsBadgeApiKey = providers.gradleProperty("testsBadgeApiKey") + addTestListener(Rife2TestListener(testsBadgeApiKey)) + testLogging { + exceptionFormat = TestExceptionFormat.FULL + events = setOf(TestLogEvent.PASSED, TestLogEvent.SKIPPED, TestLogEvent.FAILED) + } +} diff --git a/buildSrc/src/main/kotlin/buildsrc/conventions/publishing.gradle.kts b/buildSrc/src/main/kotlin/buildsrc/conventions/publishing.gradle.kts index 2390479..45308aa 100644 --- a/buildSrc/src/main/kotlin/buildsrc/conventions/publishing.gradle.kts +++ b/buildSrc/src/main/kotlin/buildsrc/conventions/publishing.gradle.kts @@ -36,7 +36,7 @@ publishing { licenses { license { name.set("The Apache License, Version 2.0") - url.set("http://www.apache.org/licenses/LICENSE-2.0.txt") + url.set("https://www.apache.org/licenses/LICENSE-2.0.txt") } } developers { diff --git a/buildSrc/src/main/kotlin/buildsrc/conventions/code-quality.gradle.kts b/buildSrc/src/main/kotlin/buildsrc/conventions/sonarqube.gradle.kts similarity index 80% rename from buildSrc/src/main/kotlin/buildsrc/conventions/code-quality.gradle.kts rename to buildSrc/src/main/kotlin/buildsrc/conventions/sonarqube.gradle.kts index f9c3d13..8cfef09 100644 --- a/buildSrc/src/main/kotlin/buildsrc/conventions/code-quality.gradle.kts +++ b/buildSrc/src/main/kotlin/buildsrc/conventions/sonarqube.gradle.kts @@ -24,7 +24,6 @@ import org.sonarqube.gradle.SonarTask plugins { id("org.sonarqube") - id("io.gitlab.arturbosch.detekt") id("org.jetbrains.kotlinx.kover") } @@ -42,12 +41,3 @@ sonarqube { tasks.withType().configureEach { dependsOn(tasks.matching { it.name == "koverXmlReport" }) } - -tasks.withType().configureEach { - val testsBadgeApiKey = providers.gradleProperty("testsBadgeApiKey") - addTestListener(Rife2TestListener(testsBadgeApiKey)) - testLogging { - exceptionFormat = TestExceptionFormat.FULL - events = setOf(TestLogEvent.PASSED, TestLogEvent.SKIPPED, TestLogEvent.FAILED) - } -}