From adb5233d57c5fcec682811a2dafdcc8e03d3c40e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wolf-Martell=20Montwe=CC=81?= Date: Tue, 27 Jan 2026 14:49:13 +0100 Subject: [PATCH 1/5] refactor: move build plugin to plugin module --- build-plugin/build.gradle.kts | 4 +- build-plugin/plugin/build.gradle.kts | 75 +++++++++++++++++++ .../quality/coverage/CodeCoverageExtension.kt | 0 .../quality/coverage/CodeCoveragePlugin.kt | 0 .../quality/coverage/filter/AndroidFilter.kt | 0 .../quality/coverage/filter/CommonFilter.kt | 0 .../quality/coverage/filter/ComposeFilter.kt | 0 build-plugin/plugins/build.gradle.kts | 35 --------- build-plugin/plugins/gradle.properties | 3 - build-plugin/settings.gradle.kts | 3 +- gradle/libs.versions.toml | 6 +- 11 files changed, 82 insertions(+), 44 deletions(-) create mode 100644 build-plugin/plugin/build.gradle.kts rename build-plugin/{plugins => plugin}/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoverageExtension.kt (100%) rename build-plugin/{plugins => plugin}/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoveragePlugin.kt (100%) rename build-plugin/{plugins => plugin}/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/filter/AndroidFilter.kt (100%) rename build-plugin/{plugins => plugin}/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/filter/CommonFilter.kt (100%) rename build-plugin/{plugins => plugin}/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/filter/ComposeFilter.kt (100%) delete mode 100644 build-plugin/plugins/build.gradle.kts delete mode 100644 build-plugin/plugins/gradle.properties diff --git a/build-plugin/build.gradle.kts b/build-plugin/build.gradle.kts index b7de40e6d83..fd493a89980 100644 --- a/build-plugin/build.gradle.kts +++ b/build-plugin/build.gradle.kts @@ -23,8 +23,8 @@ dependencies { implementation(plugin(libs.plugins.spotless)) implementation(plugin(libs.plugins.kover)) - // Make custom plugins in :plugins available to precompiled convention plugins by classpath - implementation(project(":plugins")) + // Make custom plugins in ":plugin" available to precompiled convention plugins by classpath + implementation(project(":plugin")) implementation(libs.diff.utils) compileOnly(libs.android.tools.common) diff --git a/build-plugin/plugin/build.gradle.kts b/build-plugin/plugin/build.gradle.kts new file mode 100644 index 00000000000..e895becb5b2 --- /dev/null +++ b/build-plugin/plugin/build.gradle.kts @@ -0,0 +1,75 @@ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + +plugins { + `kotlin-dsl` +} + +group = "net.thunderbird.gradle.plugin" + +// Configure the build-logic plugins to target JDK 21 similar to the JDK used to build the project. +java { + sourceCompatibility = JavaVersion.VERSION_21 + targetCompatibility = JavaVersion.VERSION_21 +} + +kotlin { + compilerOptions { + jvmTarget = JvmTarget.JVM_21 + } +} + +dependencies { + implementation(files(libs.javaClass.superclass.protectionDomain.codeSource.location)) + + compileOnly(plugin(libs.plugins.android.application)) + + compileOnly(plugin(libs.plugins.kotlin.multiplatform)) + compileOnly(plugin(libs.plugins.kotlin.serialization)) + + implementation(plugin(libs.plugins.compose)) + + implementation(plugin(libs.plugins.jetbrains.compose)) + + implementation(plugin(libs.plugins.dependency.check)) + implementation(plugin(libs.plugins.detekt)) + implementation(plugin(libs.plugins.spotless)) + + compileOnly(plugin(libs.plugins.kover)) + implementation(libs.diff.utils) + compileOnly(libs.kotlinx.datetime) +} + +kotlin { + compilerOptions { + allWarningsAsErrors = true + } +} + +tasks { + validatePlugins { + enableStricterValidation = true + failOnWarning = true + } +} + +gradlePlugin { + plugins { + register("Badging") { + id = "net.thunderbird.gradle.plugin.app.badging" + implementationClass = "net.thunderbird.gradle.plugin.app.badging.BadgingPlugin" + } + register("Versioning") { + id = "net.thunderbird.gradle.plugin.app.versioning" + implementationClass = "net.thunderbird.gradle.plugin.app.versioning.VersioningPlugin" + } + + register("QualityCodeCoverage") { + id = "net.thunderbird.gradle.plugin.quality.coverage" + implementationClass = "net.thunderbird.gradle.plugin.quality.coverage.CodeCoveragePlugin" + } + } +} + +private fun plugin(provider: Provider) = with(provider.get()) { + "$pluginId:$pluginId.gradle.plugin:$version" +} diff --git a/build-plugin/plugins/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoverageExtension.kt b/build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoverageExtension.kt similarity index 100% rename from build-plugin/plugins/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoverageExtension.kt rename to build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoverageExtension.kt diff --git a/build-plugin/plugins/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoveragePlugin.kt b/build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoveragePlugin.kt similarity index 100% rename from build-plugin/plugins/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoveragePlugin.kt rename to build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoveragePlugin.kt diff --git a/build-plugin/plugins/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/filter/AndroidFilter.kt b/build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/filter/AndroidFilter.kt similarity index 100% rename from build-plugin/plugins/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/filter/AndroidFilter.kt rename to build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/filter/AndroidFilter.kt diff --git a/build-plugin/plugins/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/filter/CommonFilter.kt b/build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/filter/CommonFilter.kt similarity index 100% rename from build-plugin/plugins/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/filter/CommonFilter.kt rename to build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/filter/CommonFilter.kt diff --git a/build-plugin/plugins/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/filter/ComposeFilter.kt b/build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/filter/ComposeFilter.kt similarity index 100% rename from build-plugin/plugins/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/filter/ComposeFilter.kt rename to build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/filter/ComposeFilter.kt diff --git a/build-plugin/plugins/build.gradle.kts b/build-plugin/plugins/build.gradle.kts deleted file mode 100644 index a2b123ea2be..00000000000 --- a/build-plugin/plugins/build.gradle.kts +++ /dev/null @@ -1,35 +0,0 @@ -import org.jetbrains.kotlin.gradle.dsl.JvmTarget -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - -plugins { - `kotlin-dsl` -} - -group = "net.thunderbird.gradle.plugin" - -java { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 -} -tasks.withType().configureEach { - compilerOptions { - jvmTarget.set(JvmTarget.JVM_17) - } -} - -dependencies { - compileOnly(plugin(libs.plugins.kover)) -} - -gradlePlugin { - plugins { - register("QualityCodeCoverage") { - id = "net.thunderbird.gradle.plugin.quality.coverage" - implementationClass = "net.thunderbird.gradle.plugin.quality.coverage.CodeCoveragePlugin" - } - } -} - -private fun plugin(provider: Provider) = with(provider.get()) { - "$pluginId:$pluginId.gradle.plugin:$version" -} diff --git a/build-plugin/plugins/gradle.properties b/build-plugin/plugins/gradle.properties deleted file mode 100644 index c6cd2a7e2f1..00000000000 --- a/build-plugin/plugins/gradle.properties +++ /dev/null @@ -1,3 +0,0 @@ -org.gradle.parallel=true -org.gradle.caching=true -org.gradle.configureondemand=true diff --git a/build-plugin/settings.gradle.kts b/build-plugin/settings.gradle.kts index 43c2f6e6333..838241a65c3 100644 --- a/build-plugin/settings.gradle.kts +++ b/build-plugin/settings.gradle.kts @@ -5,6 +5,7 @@ pluginManagement { } dependencyResolutionManagement { + @Suppress("UnstableApiUsage") repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) @Suppress("UnstableApiUsage") @@ -21,4 +22,4 @@ dependencyResolutionManagement { rootProject.name = "build-plugin" -include(":plugins") +include(":plugin") diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 965d4d8ceea..f507e8328b5 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -137,7 +137,7 @@ spotless = { id = "com.diffplug.spotless", version.ref = "spotlessPlugin" } dev-mokkery = { id = "dev.mokkery", version.ref = "mokkery" } # Build plugins -quality-code-coverage = { id = "net.thunderbird.gradle.plugin.quality.coverage" } +tb-quality-code-coverage = { id = "net.thunderbird.gradle.plugin.quality.coverage" } [libraries] android-billing = { module = "com.android.billingclient:billing", version.ref = "androidBilling" } @@ -315,8 +315,8 @@ shared-kmp-compose = [ "jetbrains-compose-lifecycle-viewmodel-compose", "jetbrains-compose-lifecycle-viewmodel-savedstate", # Disabled, as it's not used yet -# "jetbrains-compose-navigation3", -# "jetbrains-compose-navigation-event", + # "jetbrains-compose-navigation3", + # "jetbrains-compose-navigation-event", ] shared-kmp-compose-android = [ "koin-androidx-compose", From f889a16e707963cf8a1de2b9cd97dfb36cd07568 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wolf-Martell=20Montwe=CC=81?= Date: Tue, 27 Jan 2026 14:55:11 +0100 Subject: [PATCH 2/5] chore(quality): add auto detect root project for merged report --- build-plugin/gradle.properties | 5 +++ .../quality/coverage/CodeCoverageExtension.kt | 1 - .../quality/coverage/CodeCoveragePlugin.kt | 39 ++++++++++++++++--- .../quality/coverage/filter/ComposeFilter.kt | 8 ++++ build.gradle.kts | 5 +++ 5 files changed, 52 insertions(+), 6 deletions(-) create mode 100644 build-plugin/gradle.properties diff --git a/build-plugin/gradle.properties b/build-plugin/gradle.properties new file mode 100644 index 00000000000..74d74f34102 --- /dev/null +++ b/build-plugin/gradle.properties @@ -0,0 +1,5 @@ +kotlin.code.style=official +kotlin.incremental=true +org.gradle.caching=true +org.gradle.parallel=true +org.gradle.configureondemand=true diff --git a/build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoverageExtension.kt b/build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoverageExtension.kt index 21e1854e761..2807f41865a 100644 --- a/build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoverageExtension.kt +++ b/build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoverageExtension.kt @@ -21,7 +21,6 @@ interface CodeCoverageExtension { * Minimum required line coverage in percent (0-100). */ val lineCoverage: Property - } internal fun CodeCoverageExtension.initialize() { diff --git a/build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoveragePlugin.kt b/build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoveragePlugin.kt index 0b8cab204ee..d7e5b379fc3 100644 --- a/build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoveragePlugin.kt +++ b/build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoveragePlugin.kt @@ -4,7 +4,6 @@ import kotlinx.kover.gradle.plugin.KoverGradlePlugin import kotlinx.kover.gradle.plugin.dsl.AggregationType import kotlinx.kover.gradle.plugin.dsl.CoverageUnit import kotlinx.kover.gradle.plugin.dsl.KoverProjectExtension -import kotlinx.kover.gradle.plugin.dsl.KoverReportFiltersConfig import kotlinx.kover.gradle.plugin.dsl.KoverVerificationRulesConfig import net.thunderbird.gradle.plugin.quality.coverage.filter.androidFilter import net.thunderbird.gradle.plugin.quality.coverage.filter.commonFilter @@ -36,7 +35,7 @@ import org.gradle.kotlin.dsl.create * branchCoverage.set(70) // Set branch coverage threshold * } */ -class CodeCoveragePlugin: Plugin { +class CodeCoveragePlugin : Plugin { override fun apply(target: Project) { val extension = target.extensions.create("codeCoverage") @@ -51,11 +50,23 @@ class CodeCoveragePlugin: Plugin { extension.initialize() extension.finalizeValueOnRead() - target.pluginManager.apply(KoverGradlePlugin::class) - target.configureKover(extension) + with(target) { + with(pluginManager) { + apply(KoverGradlePlugin::class) + } + + // Defer configuration until after all build scripts had a chance + // to configure the `codeCoverage { ... }` extension. + afterEvaluate { + configureKover( + coverageExtension = extension, + isRoot = this == rootProject, + ) + } + } } - private fun Project.configureKover(coverageExtension: CodeCoverageExtension) { + private fun Project.configureKover(coverageExtension: CodeCoverageExtension, isRoot: Boolean) { extensions.configure("kover") { if (coverageExtension.disabled.get()) { disable() @@ -64,6 +75,24 @@ class CodeCoveragePlugin: Plugin { // See https://www.jacoco.org/jacoco/ useJacoco("0.8.14") + if (isRoot) { + merge { + allProjects() + } + } + + currentProject { + sources { + excludedSourceSets.addAll( + "androidMainResourceCollectors", + "commonMainResourceAccessors", + "commonMainResourceCollectors", + "commonResClass", + "jvmMainResourceCollectors", + ) + } + } + reports { total { filters { diff --git a/build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/filter/ComposeFilter.kt b/build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/filter/ComposeFilter.kt index 6978e67d116..fab97b17827 100644 --- a/build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/filter/ComposeFilter.kt +++ b/build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/filter/ComposeFilter.kt @@ -4,6 +4,14 @@ import kotlinx.kover.gradle.plugin.dsl.KoverReportFiltersConfig internal fun KoverReportFiltersConfig.composeFilter() { excludes { + // Exclude Compose Multiplatform generated resource packages and runtime resource wrappers + // so that auto-generated resource accessors don't affect coverage numbers. + classes( + // Compose Resources + "*.Res", + "*.ActualResourceCollectorsKt" + ) + annotatedBy( "androidx.compose.ui.tooling.preview.Preview", "androidx.compose.ui.tooling.preview.PreviewLightDark", diff --git a/build.gradle.kts b/build.gradle.kts index 2ad21c3dbd1..f6d16bf51fd 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -51,3 +51,8 @@ tasks.named("wrapper") { gradleVersion = libs.versions.gradle.get() distributionType = Wrapper.DistributionType.ALL } + +codeCoverage { + branchCoverage.set(26) + lineCoverage.set(31) +} From 04b1f19a4320f15ef8593208f7a98a5bc3ee2c9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wolf-Martell=20Montwe=CC=81?= Date: Tue, 27 Jan 2026 16:41:20 +0100 Subject: [PATCH 3/5] fix(build): improve JVM CodeCache configuration for tests and Kover tasks --- .../quality/coverage/CodeCoveragePlugin.kt | 36 ++++++++++++++++++- gradle.properties | 4 +-- 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoveragePlugin.kt b/build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoveragePlugin.kt index d7e5b379fc3..e6b24f17ca5 100644 --- a/build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoveragePlugin.kt +++ b/build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoveragePlugin.kt @@ -10,8 +10,11 @@ import net.thunderbird.gradle.plugin.quality.coverage.filter.commonFilter import net.thunderbird.gradle.plugin.quality.coverage.filter.composeFilter import org.gradle.api.Plugin import org.gradle.api.Project +import org.gradle.api.tasks.testing.Test import org.gradle.kotlin.dsl.apply import org.gradle.kotlin.dsl.create +import org.gradle.kotlin.dsl.withType +import org.gradle.process.JavaForkOptions /** * A Gradle plugin that configures code coverage using the Kover plugin. @@ -46,7 +49,6 @@ class CodeCoveragePlugin : Plugin { val disabledProvider = environmentProperty.orElse(gradleProperty).orElse(false) extension.disabled.convention(disabledProvider) - extension.initialize() extension.finalizeValueOnRead() @@ -55,6 +57,12 @@ class CodeCoveragePlugin : Plugin { apply(KoverGradlePlugin::class) } + // Ensure forked JVMs (tests + kover verify daemons) get a larger CodeCache + configureCodeCacheForForkedJvms( + reservedCodeCacheSize = "256m", + initialCodeCacheSize = "128m", + ) + // Defer configuration until after all build scripts had a chance // to configure the `codeCoverage { ... }` extension. afterEvaluate { @@ -129,4 +137,30 @@ class CodeCoveragePlugin : Plugin { } } } + + /** + * Ensure forked JVMs (tests + kover verify daemons) get a larger CodeCache. + */ + private fun Project.configureCodeCacheForForkedJvms( + reservedCodeCacheSize: String, + initialCodeCacheSize: String, + ) { + val args = listOf( + "-XX:ReservedCodeCacheSize=$reservedCodeCacheSize", + "-XX:InitialCodeCacheSize=$initialCodeCacheSize", + ) + + // Tests are the most common forked JVM used under koverVerify + tasks.withType().configureEach { + // Avoid overwriting if someone else already added jvmArgs + jvmArgs = jvmArgs + args + } + + // Kover-related tasks that fork JVMs (varies by Kover version) + tasks.matching { it.name.contains("kover", ignoreCase = true) }.configureEach { + (this as? JavaForkOptions)?.let { fork -> + fork.jvmArgs((fork.jvmArgs ?: emptyList()) + args) + } + } + } } diff --git a/gradle.properties b/gradle.properties index 8109a77204e..7b550257c07 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ android.defaults.buildfeatures.shaders=false # Gradle ## Ensure important default jvmargs aren't overwritten. See https://github.com/gradle/gradle/issues/19750 ## To remove warnings about "Sharing is only supported for boot loader classes", these properties have been added: -XX:+IgnoreUnrecognizedVMOptions -XX:+SuppressCDSWarning -org.gradle.jvmargs=-Dfile.encoding=UTF-8 -XX:+UseG1GC -XX:SoftRefLRUPolicyMSPerMB=1 -XX:ReservedCodeCacheSize=256m -XX:+HeapDumpOnOutOfMemoryError -Xmx8g -Xms8g -XX:+IgnoreUnrecognizedVMOptions -XX:+SuppressCDSWarning +org.gradle.jvmargs=-Dfile.encoding=UTF-8,-XX:+UseG1GC,-XX:SoftRefLRUPolicyMSPerMB=1,-XX:ReservedCodeCacheSize=512m,-XX:InitialCodeCacheSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xmx8g,-XX:+IgnoreUnrecognizedVMOptions,-XX:+SuppressCDSWarning org.gradle.parallel=true org.gradle.caching=true org.gradle.configuration-cache=true @@ -15,4 +15,4 @@ org.gradle.kotlin.dsl.allWarningsAsErrors=true # Kotlin kotlin.code.style=official kotlin.compiler.execution.strategy=in-process -kotlin.daemon.jvmargs=-Dfile.encoding=UTF-8 -XX:+UseG1GC -XX:SoftRefLRUPolicyMSPerMB=1 -XX:ReservedCodeCacheSize=320m -XX:+HeapDumpOnOutOfMemoryError -Xmx8g -Xms8g +kotlin.daemon.jvmargs=-Dfile.encoding=UTF-8,-XX:+UseG1GC,-XX:SoftRefLRUPolicyMSPerMB=1,-XX:ReservedCodeCacheSize=512m,-XX:InitialCodeCacheSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xmx8g From f0776c91b61cd667f06a5ad35cc6c391a9f6f59e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wolf-Martell=20Montwe=CC=81?= Date: Tue, 27 Jan 2026 16:41:51 +0100 Subject: [PATCH 4/5] chore(quality): capture current coverage as minimum quality gate --- app-common/build.gradle.kts | 4 ++-- app-k9mail/build.gradle.kts | 4 ++-- app-thunderbird/build.gradle.kts | 4 ++-- app-ui-catalog/build.gradle.kts | 4 ++-- backend/api/build.gradle.kts | 4 ++-- backend/demo/build.gradle.kts | 4 ++-- backend/imap/build.gradle.kts | 4 ++-- backend/jmap/build.gradle.kts | 4 ++-- backend/pop3/build.gradle.kts | 4 ++-- backend/testing/build.gradle.kts | 4 ++-- .../gradle/plugin/quality/coverage/CodeCoveragePlugin.kt | 4 ++-- build.gradle.kts | 4 ++-- cli/autodiscovery-cli/build.gradle.kts | 4 ++-- cli/html-cleaner-cli/build.gradle.kts | 4 ++-- cli/resource-mover-cli/build.gradle.kts | 4 ++-- cli/translation-cli/build.gradle.kts | 4 ++-- core/android/account/build.gradle.kts | 4 ++-- core/android/common/build.gradle.kts | 4 ++-- core/android/contact/build.gradle.kts | 4 ++-- core/android/logging/build.gradle.kts | 4 ++-- core/android/network/build.gradle.kts | 4 ++-- core/android/permissions/build.gradle.kts | 4 ++-- core/android/testing/build.gradle.kts | 4 ++-- core/common/build.gradle.kts | 4 ++++ core/configstore/impl-backend/build.gradle.kts | 2 +- core/featureflag/build.gradle.kts | 4 ++++ core/file/build.gradle.kts | 5 +++++ core/logging/api/build.gradle.kts | 4 ++++ core/logging/config/build.gradle.kts | 5 +++++ core/logging/impl-console/build.gradle.kts | 4 ++-- core/logging/impl-file/build.gradle.kts | 4 ++-- core/logging/impl-legacy/build.gradle.kts | 2 +- core/logging/testing/build.gradle.kts | 2 +- core/mail/mailserver/build.gradle.kts | 2 +- core/outcome/build.gradle.kts | 5 +++++ core/preference/api/build.gradle.kts | 4 ++-- core/preference/impl/build.gradle.kts | 4 ++-- core/testing/build.gradle.kts | 2 +- core/ui/account/build.gradle.kts | 4 ++-- core/ui/compose/common/build.gradle.kts | 4 ++-- core/ui/compose/designsystem/build.gradle.kts | 4 ++-- core/ui/compose/navigation/build.gradle.kts | 2 +- core/ui/compose/testing/build.gradle.kts | 2 +- core/ui/compose/theme2/common/build.gradle.kts | 4 ++-- core/ui/compose/theme2/k9mail/build.gradle.kts | 4 ++-- core/ui/compose/theme2/thunderbird/build.gradle.kts | 4 ++-- core/ui/legacy/designsystem/build.gradle.kts | 2 +- core/ui/setting/api/build.gradle.kts | 5 +++++ core/ui/setting/component/build.gradle.kts | 4 ++-- core/ui/setting/impl-dialog/build.gradle.kts | 4 ++-- core/ui/theme/api/build.gradle.kts | 2 +- core/ui/theme/manager/build.gradle.kts | 4 ++-- core/validation/build.gradle.kts | 4 ++++ feature/account/api/build.gradle.kts | 2 +- feature/account/avatar/api/build.gradle.kts | 5 +++++ feature/account/avatar/impl/build.gradle.kts | 4 ++-- feature/account/common/build.gradle.kts | 4 ++-- feature/account/core/build.gradle.kts | 2 +- feature/account/edit/build.gradle.kts | 4 ++-- feature/account/fake/build.gradle.kts | 2 +- feature/account/oauth/build.gradle.kts | 4 ++-- feature/account/profile/api/build.gradle.kts | 4 ++++ feature/account/server/certificate/build.gradle.kts | 4 ++-- feature/account/server/settings/build.gradle.kts | 4 ++-- feature/account/server/validation/build.gradle.kts | 4 ++-- feature/account/settings/api/build.gradle.kts | 4 ++-- feature/account/settings/impl/build.gradle.kts | 4 ++-- feature/account/setup/build.gradle.kts | 4 ++-- feature/account/storage/api/build.gradle.kts | 2 +- feature/account/storage/legacy/build.gradle.kts | 4 ++-- feature/autodiscovery/api/build.gradle.kts | 2 +- feature/autodiscovery/demo/build.gradle.kts | 4 ++-- feature/autodiscovery/service/build.gradle.kts | 4 ++-- feature/debug-settings/build.gradle.kts | 4 ++-- feature/funding/api/build.gradle.kts | 2 +- feature/funding/googleplay/build.gradle.kts | 4 ++-- feature/funding/link/build.gradle.kts | 2 +- feature/funding/noop/build.gradle.kts | 2 +- feature/launcher/build.gradle.kts | 4 ++-- feature/mail/folder/api/build.gradle.kts | 2 +- feature/mail/message/composer/build.gradle.kts | 4 ++-- feature/mail/message/list/api/build.gradle.kts | 4 ++-- feature/mail/message/list/internal/build.gradle.kts | 4 ++-- feature/mail/message/reader/api/build.gradle.kts | 4 ++++ feature/mail/message/reader/impl/build.gradle.kts | 5 +++++ feature/migration/launcher/noop/build.gradle.kts | 2 +- feature/migration/launcher/thunderbird/build.gradle.kts | 2 +- feature/migration/provider/build.gradle.kts | 4 ++-- feature/migration/qrcode/build.gradle.kts | 4 ++-- feature/navigation/drawer/api/build.gradle.kts | 2 +- feature/navigation/drawer/dropdown/build.gradle.kts | 4 ++-- feature/notification/api/build.gradle.kts | 4 ++-- feature/notification/impl/build.gradle.kts | 4 ++-- feature/notification/testing/build.gradle.kts | 3 ++- feature/onboarding/main/build.gradle.kts | 4 ++-- feature/onboarding/migration/noop/build.gradle.kts | 4 ++-- feature/onboarding/migration/thunderbird/build.gradle.kts | 3 ++- feature/onboarding/permissions/build.gradle.kts | 4 ++-- feature/onboarding/welcome/build.gradle.kts | 4 ++-- feature/search/impl-legacy/build.gradle.kts | 4 ++-- feature/settings/import/build.gradle.kts | 4 ++-- feature/telemetry/glean/build.gradle.kts | 4 ++-- feature/telemetry/noop/build.gradle.kts | 2 +- feature/widget/message-list-glance/build.gradle.kts | 4 ++-- feature/widget/message-list/build.gradle.kts | 4 ++-- feature/widget/shortcut/build.gradle.kts | 4 ++-- feature/widget/unread/build.gradle.kts | 4 ++-- legacy/common/build.gradle.kts | 4 ++-- legacy/core/build.gradle.kts | 4 ++-- legacy/crypto-openpgp/build.gradle.kts | 2 +- legacy/di/build.gradle.kts | 4 ++-- legacy/mailstore/build.gradle.kts | 4 ++-- legacy/message/build.gradle.kts | 4 ++-- legacy/storage/build.gradle.kts | 4 ++-- legacy/ui/base/build.gradle.kts | 4 ++-- legacy/ui/folder/build.gradle.kts | 4 ++-- legacy/ui/legacy/build.gradle.kts | 4 ++-- library/token-auto-complete/build.gradle.kts | 4 ++-- mail/common/build.gradle.kts | 4 ++-- mail/protocols/pop3/build.gradle.kts | 5 +++++ mail/testing/build.gradle.kts | 4 ++-- plugins/openpgp-api-lib/openpgp-api/build.gradle.kts | 4 ++-- ui-utils/item-touch-helper/build.gradle.kts | 4 ++-- ui-utils/linear-layout-manager/build.gradle.kts | 4 ++-- ui-utils/toolbar-bottom-sheet/build.gradle.kts | 4 ++-- 125 files changed, 260 insertions(+), 199 deletions(-) diff --git a/app-common/build.gradle.kts b/app-common/build.gradle.kts index a5a3e4aee24..206a4dbf2a7 100644 --- a/app-common/build.gradle.kts +++ b/app-common/build.gradle.kts @@ -65,6 +65,6 @@ dependencies { } codeCoverage { - branchCoverage.set(9) - lineCoverage.set(25) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/app-k9mail/build.gradle.kts b/app-k9mail/build.gradle.kts index fcd7a744824..49bdaca36eb 100644 --- a/app-k9mail/build.gradle.kts +++ b/app-k9mail/build.gradle.kts @@ -179,6 +179,6 @@ dependencyGuard { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(25) + branchCoverage = 0 + lineCoverage = 24 } diff --git a/app-thunderbird/build.gradle.kts b/app-thunderbird/build.gradle.kts index 5ee0ae1b502..2fc4e821f35 100644 --- a/app-thunderbird/build.gradle.kts +++ b/app-thunderbird/build.gradle.kts @@ -285,6 +285,6 @@ tasks.register("printConfigurations") { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(25) + branchCoverage = 0 + lineCoverage = 25 } diff --git a/app-ui-catalog/build.gradle.kts b/app-ui-catalog/build.gradle.kts index 473732bfcfa..fdc7cfc69fe 100644 --- a/app-ui-catalog/build.gradle.kts +++ b/app-ui-catalog/build.gradle.kts @@ -42,6 +42,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/backend/api/build.gradle.kts b/backend/api/build.gradle.kts index ebf86b59b68..525b3172f0d 100644 --- a/backend/api/build.gradle.kts +++ b/backend/api/build.gradle.kts @@ -13,6 +13,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/backend/demo/build.gradle.kts b/backend/demo/build.gradle.kts index 1eb590fd63b..92261d2093c 100644 --- a/backend/demo/build.gradle.kts +++ b/backend/demo/build.gradle.kts @@ -17,8 +17,8 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } tasks.register("updateDemoMailbox") { diff --git a/backend/imap/build.gradle.kts b/backend/imap/build.gradle.kts index b2f15478aec..ceedb99d23a 100644 --- a/backend/imap/build.gradle.kts +++ b/backend/imap/build.gradle.kts @@ -25,6 +25,6 @@ dependencies { } codeCoverage { - branchCoverage.set(45) - lineCoverage.set(44) + branchCoverage = 45 + lineCoverage = 42 } diff --git a/backend/jmap/build.gradle.kts b/backend/jmap/build.gradle.kts index 56a70f3eb6e..760d5686ba8 100644 --- a/backend/jmap/build.gradle.kts +++ b/backend/jmap/build.gradle.kts @@ -21,6 +21,6 @@ dependencies { } codeCoverage { - branchCoverage.set(33) - lineCoverage.set(42) + branchCoverage = 31 + lineCoverage = 42 } diff --git a/backend/pop3/build.gradle.kts b/backend/pop3/build.gradle.kts index 5a1b2081561..6c0abcf15c0 100644 --- a/backend/pop3/build.gradle.kts +++ b/backend/pop3/build.gradle.kts @@ -14,6 +14,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/backend/testing/build.gradle.kts b/backend/testing/build.gradle.kts index 57d15e194b7..b17a22f4472 100644 --- a/backend/testing/build.gradle.kts +++ b/backend/testing/build.gradle.kts @@ -13,6 +13,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoveragePlugin.kt b/build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoveragePlugin.kt index e6b24f17ca5..ca18d5f8f87 100644 --- a/build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoveragePlugin.kt +++ b/build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoveragePlugin.kt @@ -34,8 +34,8 @@ import org.gradle.process.JavaForkOptions * * codeCoverage { * disabled.set(false) // Enable or disable coverage - * lineCoverage.set(80) // Set line coverage threshold - * branchCoverage.set(70) // Set branch coverage threshold + * lineCoverage = 80 // Set line coverage threshold + * branchCoverage = 70 // Set branch coverage threshold * } */ class CodeCoveragePlugin : Plugin { diff --git a/build.gradle.kts b/build.gradle.kts index f6d16bf51fd..f576637daa6 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -53,6 +53,6 @@ tasks.named("wrapper") { } codeCoverage { - branchCoverage.set(26) - lineCoverage.set(31) + branchCoverage = 26 + lineCoverage = 31 } diff --git a/cli/autodiscovery-cli/build.gradle.kts b/cli/autodiscovery-cli/build.gradle.kts index 75e5917685e..2c42036f398 100644 --- a/cli/autodiscovery-cli/build.gradle.kts +++ b/cli/autodiscovery-cli/build.gradle.kts @@ -18,8 +18,8 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } tasks.withType { diff --git a/cli/html-cleaner-cli/build.gradle.kts b/cli/html-cleaner-cli/build.gradle.kts index e70921db672..17185436d0c 100644 --- a/cli/html-cleaner-cli/build.gradle.kts +++ b/cli/html-cleaner-cli/build.gradle.kts @@ -16,6 +16,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/cli/resource-mover-cli/build.gradle.kts b/cli/resource-mover-cli/build.gradle.kts index 3c488bfb9ae..bc986a70be4 100644 --- a/cli/resource-mover-cli/build.gradle.kts +++ b/cli/resource-mover-cli/build.gradle.kts @@ -13,6 +13,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/cli/translation-cli/build.gradle.kts b/cli/translation-cli/build.gradle.kts index db26b916e48..22fe4007b55 100644 --- a/cli/translation-cli/build.gradle.kts +++ b/cli/translation-cli/build.gradle.kts @@ -20,6 +20,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/core/android/account/build.gradle.kts b/core/android/account/build.gradle.kts index 167980daadb..ee9136854ca 100644 --- a/core/android/account/build.gradle.kts +++ b/core/android/account/build.gradle.kts @@ -26,6 +26,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(36) + branchCoverage = 0 + lineCoverage = 36 } diff --git a/core/android/common/build.gradle.kts b/core/android/common/build.gradle.kts index cf791c2c2fb..d13a7fb9c70 100644 --- a/core/android/common/build.gradle.kts +++ b/core/android/common/build.gradle.kts @@ -16,6 +16,6 @@ dependencies { } codeCoverage { - branchCoverage.set(51) - lineCoverage.set(55) + branchCoverage = 51 + lineCoverage = 55 } diff --git a/core/android/contact/build.gradle.kts b/core/android/contact/build.gradle.kts index aa98bdcd548..dd2ea0dcabd 100644 --- a/core/android/contact/build.gradle.kts +++ b/core/android/contact/build.gradle.kts @@ -11,6 +11,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/core/android/logging/build.gradle.kts b/core/android/logging/build.gradle.kts index d01d7866972..7ba4e11bb7b 100644 --- a/core/android/logging/build.gradle.kts +++ b/core/android/logging/build.gradle.kts @@ -12,6 +12,6 @@ dependencies { } codeCoverage { - branchCoverage.set(50) - lineCoverage.set(48) + branchCoverage = 50 + lineCoverage = 48 } diff --git a/core/android/network/build.gradle.kts b/core/android/network/build.gradle.kts index 7c82d7041b3..977395a181a 100644 --- a/core/android/network/build.gradle.kts +++ b/core/android/network/build.gradle.kts @@ -17,6 +17,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/core/android/permissions/build.gradle.kts b/core/android/permissions/build.gradle.kts index fc11997ff4c..5555d2b4695 100644 --- a/core/android/permissions/build.gradle.kts +++ b/core/android/permissions/build.gradle.kts @@ -13,6 +13,6 @@ dependencies { } codeCoverage { - branchCoverage.set(66) - lineCoverage.set(71) + branchCoverage = 66 + lineCoverage = 71 } diff --git a/core/android/testing/build.gradle.kts b/core/android/testing/build.gradle.kts index 0da56e56e9b..704a5b3c2a7 100644 --- a/core/android/testing/build.gradle.kts +++ b/core/android/testing/build.gradle.kts @@ -20,6 +20,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/core/common/build.gradle.kts b/core/common/build.gradle.kts index aaa6dbcbb27..640793c05c8 100644 --- a/core/common/build.gradle.kts +++ b/core/common/build.gradle.kts @@ -28,3 +28,7 @@ kotlin { ) } } + +codeCoverage { + lineCoverage = 72 +} diff --git a/core/configstore/impl-backend/build.gradle.kts b/core/configstore/impl-backend/build.gradle.kts index 3a5834a12f9..2095deb16b5 100644 --- a/core/configstore/impl-backend/build.gradle.kts +++ b/core/configstore/impl-backend/build.gradle.kts @@ -27,5 +27,5 @@ kotlin { } codeCoverage { - branchCoverage.set(57) + branchCoverage = 42 } diff --git a/core/featureflag/build.gradle.kts b/core/featureflag/build.gradle.kts index 9cf42dccf56..b771772d589 100644 --- a/core/featureflag/build.gradle.kts +++ b/core/featureflag/build.gradle.kts @@ -14,3 +14,7 @@ kotlin { } } } + +codeCoverage { + lineCoverage = 60 +} diff --git a/core/file/build.gradle.kts b/core/file/build.gradle.kts index 31651fb1579..ec183a4219e 100644 --- a/core/file/build.gradle.kts +++ b/core/file/build.gradle.kts @@ -19,3 +19,8 @@ kotlin { } } } + +codeCoverage { + branchCoverage = 39 + lineCoverage = 61 +} diff --git a/core/logging/api/build.gradle.kts b/core/logging/api/build.gradle.kts index 509a5e0dac3..d975cddb3a5 100644 --- a/core/logging/api/build.gradle.kts +++ b/core/logging/api/build.gradle.kts @@ -17,3 +17,7 @@ kotlin { } } } + +codeCoverage { + lineCoverage = 68 +} diff --git a/core/logging/config/build.gradle.kts b/core/logging/config/build.gradle.kts index 02e24f6eb1b..fb2321be8c2 100644 --- a/core/logging/config/build.gradle.kts +++ b/core/logging/config/build.gradle.kts @@ -17,3 +17,8 @@ kotlin { } } } + +codeCoverage { + branchCoverage = 0 + lineCoverage = 0 +} diff --git a/core/logging/impl-console/build.gradle.kts b/core/logging/impl-console/build.gradle.kts index bf6b9fc37e7..bf810d6caab 100644 --- a/core/logging/impl-console/build.gradle.kts +++ b/core/logging/impl-console/build.gradle.kts @@ -34,6 +34,6 @@ kotlin { } codeCoverage { - branchCoverage.set(41) - lineCoverage.set(41) + branchCoverage = 40 + lineCoverage = 41 } diff --git a/core/logging/impl-file/build.gradle.kts b/core/logging/impl-file/build.gradle.kts index 298b6dcf923..7b2874467de 100644 --- a/core/logging/impl-file/build.gradle.kts +++ b/core/logging/impl-file/build.gradle.kts @@ -23,6 +23,6 @@ kotlin { } codeCoverage { - branchCoverage.set(50) - lineCoverage.set(71) + branchCoverage = 50 + lineCoverage = 71 } diff --git a/core/logging/impl-legacy/build.gradle.kts b/core/logging/impl-legacy/build.gradle.kts index 90cd7c759d1..384471a9ae3 100644 --- a/core/logging/impl-legacy/build.gradle.kts +++ b/core/logging/impl-legacy/build.gradle.kts @@ -27,5 +27,5 @@ kotlin { } codeCoverage { - branchCoverage.set(30) + branchCoverage = 30 } diff --git a/core/logging/testing/build.gradle.kts b/core/logging/testing/build.gradle.kts index 7ecdc681b2c..783a842b032 100644 --- a/core/logging/testing/build.gradle.kts +++ b/core/logging/testing/build.gradle.kts @@ -14,5 +14,5 @@ kotlin { } codeCoverage { - lineCoverage.set(0) + lineCoverage = 0 } diff --git a/core/mail/mailserver/build.gradle.kts b/core/mail/mailserver/build.gradle.kts index 3f739781dd2..92d10dabd11 100644 --- a/core/mail/mailserver/build.gradle.kts +++ b/core/mail/mailserver/build.gradle.kts @@ -4,5 +4,5 @@ plugins { } codeCoverage { - lineCoverage.set(0) + lineCoverage = 0 } diff --git a/core/outcome/build.gradle.kts b/core/outcome/build.gradle.kts index ea1360eac3c..fd0332836ec 100644 --- a/core/outcome/build.gradle.kts +++ b/core/outcome/build.gradle.kts @@ -8,3 +8,8 @@ kotlin { withHostTest {} } } + +codeCoverage { + branchCoverage = 28 + lineCoverage = 53 +} diff --git a/core/preference/api/build.gradle.kts b/core/preference/api/build.gradle.kts index ae617f41bdd..f8091652098 100644 --- a/core/preference/api/build.gradle.kts +++ b/core/preference/api/build.gradle.kts @@ -18,6 +18,6 @@ kotlin { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/core/preference/impl/build.gradle.kts b/core/preference/impl/build.gradle.kts index 3fa3e8df365..3250fe9d6e9 100644 --- a/core/preference/impl/build.gradle.kts +++ b/core/preference/impl/build.gradle.kts @@ -19,6 +19,6 @@ kotlin { } codeCoverage { - branchCoverage.set(16) - lineCoverage.set(2) + branchCoverage = 6 + lineCoverage = 2 } diff --git a/core/testing/build.gradle.kts b/core/testing/build.gradle.kts index 05eacaf523f..ba5a63d5d5c 100644 --- a/core/testing/build.gradle.kts +++ b/core/testing/build.gradle.kts @@ -19,5 +19,5 @@ kotlin { } codeCoverage { - lineCoverage.set(71) + lineCoverage = 68 } diff --git a/core/ui/account/build.gradle.kts b/core/ui/account/build.gradle.kts index f52ec2b34ac..8afcf5e90d7 100644 --- a/core/ui/account/build.gradle.kts +++ b/core/ui/account/build.gradle.kts @@ -13,6 +13,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/core/ui/compose/common/build.gradle.kts b/core/ui/compose/common/build.gradle.kts index 832c93dd2b0..644fb88005b 100644 --- a/core/ui/compose/common/build.gradle.kts +++ b/core/ui/compose/common/build.gradle.kts @@ -21,6 +21,6 @@ dependencies { } codeCoverage { - branchCoverage.set(39) - lineCoverage.set(43) + branchCoverage = 2 + lineCoverage = 8 } diff --git a/core/ui/compose/designsystem/build.gradle.kts b/core/ui/compose/designsystem/build.gradle.kts index 1d51a21d8a8..bb6247c2710 100644 --- a/core/ui/compose/designsystem/build.gradle.kts +++ b/core/ui/compose/designsystem/build.gradle.kts @@ -39,6 +39,6 @@ dependencies { } codeCoverage { - branchCoverage.set(4) - lineCoverage.set(4) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/core/ui/compose/navigation/build.gradle.kts b/core/ui/compose/navigation/build.gradle.kts index de6227a3930..b29f9dcfff5 100644 --- a/core/ui/compose/navigation/build.gradle.kts +++ b/core/ui/compose/navigation/build.gradle.kts @@ -8,5 +8,5 @@ android { } codeCoverage { - lineCoverage.set(0) + lineCoverage = 0 } diff --git a/core/ui/compose/testing/build.gradle.kts b/core/ui/compose/testing/build.gradle.kts index ca302cbc5ec..8b0a5a2395c 100644 --- a/core/ui/compose/testing/build.gradle.kts +++ b/core/ui/compose/testing/build.gradle.kts @@ -17,5 +17,5 @@ dependencies { } codeCoverage { - lineCoverage.set(0) + lineCoverage = 0 } diff --git a/core/ui/compose/theme2/common/build.gradle.kts b/core/ui/compose/theme2/common/build.gradle.kts index d4970096a3f..35abf7cd937 100644 --- a/core/ui/compose/theme2/common/build.gradle.kts +++ b/core/ui/compose/theme2/common/build.gradle.kts @@ -18,6 +18,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/core/ui/compose/theme2/k9mail/build.gradle.kts b/core/ui/compose/theme2/k9mail/build.gradle.kts index a033aa4a6f7..a2dc0fe392f 100644 --- a/core/ui/compose/theme2/k9mail/build.gradle.kts +++ b/core/ui/compose/theme2/k9mail/build.gradle.kts @@ -12,6 +12,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/core/ui/compose/theme2/thunderbird/build.gradle.kts b/core/ui/compose/theme2/thunderbird/build.gradle.kts index f7fc5efb25d..cd8de2dda1e 100644 --- a/core/ui/compose/theme2/thunderbird/build.gradle.kts +++ b/core/ui/compose/theme2/thunderbird/build.gradle.kts @@ -12,6 +12,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/core/ui/legacy/designsystem/build.gradle.kts b/core/ui/legacy/designsystem/build.gradle.kts index d019b8b4691..0d45443da2b 100644 --- a/core/ui/legacy/designsystem/build.gradle.kts +++ b/core/ui/legacy/designsystem/build.gradle.kts @@ -11,5 +11,5 @@ dependencies { } codeCoverage { - lineCoverage.set(0) + lineCoverage = 0 } diff --git a/core/ui/setting/api/build.gradle.kts b/core/ui/setting/api/build.gradle.kts index 658ea1bd6d7..20631aaac9c 100644 --- a/core/ui/setting/api/build.gradle.kts +++ b/core/ui/setting/api/build.gradle.kts @@ -7,3 +7,8 @@ kotlin { namespace = "net.thunderbird.core.ui.setting" } } + +codeCoverage { + branchCoverage = 0 + lineCoverage = 0 +} diff --git a/core/ui/setting/component/build.gradle.kts b/core/ui/setting/component/build.gradle.kts index ab4f340faa7..0c9ecf6782b 100644 --- a/core/ui/setting/component/build.gradle.kts +++ b/core/ui/setting/component/build.gradle.kts @@ -17,6 +17,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/core/ui/setting/impl-dialog/build.gradle.kts b/core/ui/setting/impl-dialog/build.gradle.kts index 0bc29e170f9..91d8f98c088 100644 --- a/core/ui/setting/impl-dialog/build.gradle.kts +++ b/core/ui/setting/impl-dialog/build.gradle.kts @@ -24,6 +24,6 @@ dependencies { } codeCoverage { - branchCoverage.set(8) - lineCoverage.set(8) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/core/ui/theme/api/build.gradle.kts b/core/ui/theme/api/build.gradle.kts index c75db163c1a..975b31e59fc 100644 --- a/core/ui/theme/api/build.gradle.kts +++ b/core/ui/theme/api/build.gradle.kts @@ -9,5 +9,5 @@ kotlin { } codeCoverage { - lineCoverage.set(0) + lineCoverage = 0 } diff --git a/core/ui/theme/manager/build.gradle.kts b/core/ui/theme/manager/build.gradle.kts index f08d597dbce..4629cf2e3d8 100644 --- a/core/ui/theme/manager/build.gradle.kts +++ b/core/ui/theme/manager/build.gradle.kts @@ -15,6 +15,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/core/validation/build.gradle.kts b/core/validation/build.gradle.kts index 8269095386e..32dc12919b3 100644 --- a/core/validation/build.gradle.kts +++ b/core/validation/build.gradle.kts @@ -13,3 +13,7 @@ kotlin { } } } + +codeCoverage { + branchCoverage = 68 +} diff --git a/feature/account/api/build.gradle.kts b/feature/account/api/build.gradle.kts index 188f7a48424..98f1cd32311 100644 --- a/feature/account/api/build.gradle.kts +++ b/feature/account/api/build.gradle.kts @@ -20,5 +20,5 @@ kotlin { } codeCoverage { - lineCoverage.set(8) + lineCoverage = 8 } diff --git a/feature/account/avatar/api/build.gradle.kts b/feature/account/avatar/api/build.gradle.kts index 74efda85d15..d16e426ec09 100644 --- a/feature/account/avatar/api/build.gradle.kts +++ b/feature/account/avatar/api/build.gradle.kts @@ -15,3 +15,8 @@ kotlin { } } } + +codeCoverage { + branchCoverage = 0 + lineCoverage = 0 +} diff --git a/feature/account/avatar/impl/build.gradle.kts b/feature/account/avatar/impl/build.gradle.kts index 8d164fc0951..5a8336a9627 100644 --- a/feature/account/avatar/impl/build.gradle.kts +++ b/feature/account/avatar/impl/build.gradle.kts @@ -18,6 +18,6 @@ dependencies { } codeCoverage { - branchCoverage.set(14) - lineCoverage.set(4) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/feature/account/common/build.gradle.kts b/feature/account/common/build.gradle.kts index 4fdb0d9e1c2..a5b8325c29d 100644 --- a/feature/account/common/build.gradle.kts +++ b/feature/account/common/build.gradle.kts @@ -17,6 +17,6 @@ dependencies { } codeCoverage { - branchCoverage.set(33) - lineCoverage.set(28) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/feature/account/core/build.gradle.kts b/feature/account/core/build.gradle.kts index fd2c1db9bed..ab7f7874d8c 100644 --- a/feature/account/core/build.gradle.kts +++ b/feature/account/core/build.gradle.kts @@ -17,5 +17,5 @@ kotlin { } codeCoverage { - lineCoverage.set(0) + lineCoverage = 0 } diff --git a/feature/account/edit/build.gradle.kts b/feature/account/edit/build.gradle.kts index 83b4aed9429..0f42b38ac63 100644 --- a/feature/account/edit/build.gradle.kts +++ b/feature/account/edit/build.gradle.kts @@ -32,6 +32,6 @@ dependencies { } codeCoverage { - branchCoverage.set(37) - lineCoverage.set(50) + branchCoverage = 2 + lineCoverage = 8 } diff --git a/feature/account/fake/build.gradle.kts b/feature/account/fake/build.gradle.kts index ccddb340065..aae8480226e 100644 --- a/feature/account/fake/build.gradle.kts +++ b/feature/account/fake/build.gradle.kts @@ -15,5 +15,5 @@ kotlin { } codeCoverage { - lineCoverage.set(0) + lineCoverage = 0 } diff --git a/feature/account/oauth/build.gradle.kts b/feature/account/oauth/build.gradle.kts index e854100b3c7..73927f307cd 100644 --- a/feature/account/oauth/build.gradle.kts +++ b/feature/account/oauth/build.gradle.kts @@ -28,6 +28,6 @@ dependencies { } codeCoverage { - branchCoverage.set(43) - lineCoverage.set(55) + branchCoverage = 7 + lineCoverage = 5 } diff --git a/feature/account/profile/api/build.gradle.kts b/feature/account/profile/api/build.gradle.kts index f09a039fbf1..3fb40ac59e1 100644 --- a/feature/account/profile/api/build.gradle.kts +++ b/feature/account/profile/api/build.gradle.kts @@ -20,3 +20,7 @@ kotlin { } } } + +codeCoverage { + lineCoverage = 0 +} diff --git a/feature/account/server/certificate/build.gradle.kts b/feature/account/server/certificate/build.gradle.kts index 9abfc69ad07..92a472b17c2 100644 --- a/feature/account/server/certificate/build.gradle.kts +++ b/feature/account/server/certificate/build.gradle.kts @@ -19,6 +19,6 @@ dependencies { } codeCoverage { - branchCoverage.set(11) - lineCoverage.set(20) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/feature/account/server/settings/build.gradle.kts b/feature/account/server/settings/build.gradle.kts index 6ad2f9932e2..4cd0e1290b5 100644 --- a/feature/account/server/settings/build.gradle.kts +++ b/feature/account/server/settings/build.gradle.kts @@ -29,6 +29,6 @@ dependencies { } codeCoverage { - branchCoverage.set(44) - lineCoverage.set(56) + branchCoverage = 1 + lineCoverage = 3 } diff --git a/feature/account/server/validation/build.gradle.kts b/feature/account/server/validation/build.gradle.kts index cc06ce3b884..7ddcec647e1 100644 --- a/feature/account/server/validation/build.gradle.kts +++ b/feature/account/server/validation/build.gradle.kts @@ -30,6 +30,6 @@ dependencies { } codeCoverage { - branchCoverage.set(37) - lineCoverage.set(40) + branchCoverage = 13 + lineCoverage = 6 } diff --git a/feature/account/settings/api/build.gradle.kts b/feature/account/settings/api/build.gradle.kts index 159b8e51475..757b55bacbd 100644 --- a/feature/account/settings/api/build.gradle.kts +++ b/feature/account/settings/api/build.gradle.kts @@ -13,6 +13,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/feature/account/settings/impl/build.gradle.kts b/feature/account/settings/impl/build.gradle.kts index 6d14ba5d448..10faf8a8307 100644 --- a/feature/account/settings/impl/build.gradle.kts +++ b/feature/account/settings/impl/build.gradle.kts @@ -42,6 +42,6 @@ dependencies { } codeCoverage { - branchCoverage.set(45) - lineCoverage.set(40) + branchCoverage = 0 + lineCoverage = 4 } diff --git a/feature/account/setup/build.gradle.kts b/feature/account/setup/build.gradle.kts index e2d756c5a2e..37b5df18991 100644 --- a/feature/account/setup/build.gradle.kts +++ b/feature/account/setup/build.gradle.kts @@ -42,6 +42,6 @@ dependencies { } codeCoverage { - branchCoverage.set(44) - lineCoverage.set(51) + branchCoverage = 3 + lineCoverage = 4 } diff --git a/feature/account/storage/api/build.gradle.kts b/feature/account/storage/api/build.gradle.kts index 5f5ccfaa147..2f1d71c3c89 100644 --- a/feature/account/storage/api/build.gradle.kts +++ b/feature/account/storage/api/build.gradle.kts @@ -15,5 +15,5 @@ kotlin { } codeCoverage { - lineCoverage.set(0) + lineCoverage = 0 } diff --git a/feature/account/storage/legacy/build.gradle.kts b/feature/account/storage/legacy/build.gradle.kts index 739b51e269b..edf4cc635d7 100644 --- a/feature/account/storage/legacy/build.gradle.kts +++ b/feature/account/storage/legacy/build.gradle.kts @@ -27,6 +27,6 @@ dependencies { } codeCoverage { - branchCoverage.set(38) - lineCoverage.set(43) + branchCoverage = 38 + lineCoverage = 43 } diff --git a/feature/autodiscovery/api/build.gradle.kts b/feature/autodiscovery/api/build.gradle.kts index f2afc4a8ffb..2d11bdf3ae4 100644 --- a/feature/autodiscovery/api/build.gradle.kts +++ b/feature/autodiscovery/api/build.gradle.kts @@ -9,5 +9,5 @@ dependencies { } codeCoverage { - lineCoverage.set(0) + lineCoverage = 0 } diff --git a/feature/autodiscovery/demo/build.gradle.kts b/feature/autodiscovery/demo/build.gradle.kts index faf1d3cee1f..cab78d3eeb1 100644 --- a/feature/autodiscovery/demo/build.gradle.kts +++ b/feature/autodiscovery/demo/build.gradle.kts @@ -8,6 +8,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/feature/autodiscovery/service/build.gradle.kts b/feature/autodiscovery/service/build.gradle.kts index 27bf1c681bd..b07cd71941c 100644 --- a/feature/autodiscovery/service/build.gradle.kts +++ b/feature/autodiscovery/service/build.gradle.kts @@ -13,6 +13,6 @@ dependencies { } codeCoverage { - branchCoverage.set(64) - lineCoverage.set(60) + branchCoverage = 64 + lineCoverage = 60 } diff --git a/feature/debug-settings/build.gradle.kts b/feature/debug-settings/build.gradle.kts index fb3cb519a69..9ff765aeb57 100644 --- a/feature/debug-settings/build.gradle.kts +++ b/feature/debug-settings/build.gradle.kts @@ -21,6 +21,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/feature/funding/api/build.gradle.kts b/feature/funding/api/build.gradle.kts index d125cc71587..da733bafcc8 100644 --- a/feature/funding/api/build.gradle.kts +++ b/feature/funding/api/build.gradle.kts @@ -13,5 +13,5 @@ dependencies { } codeCoverage { - lineCoverage.set(40) + lineCoverage = 0 } diff --git a/feature/funding/googleplay/build.gradle.kts b/feature/funding/googleplay/build.gradle.kts index 0eeb0e19472..6b9afe0500d 100644 --- a/feature/funding/googleplay/build.gradle.kts +++ b/feature/funding/googleplay/build.gradle.kts @@ -33,6 +33,6 @@ dependencies { } codeCoverage { - branchCoverage.set(23) - lineCoverage.set(37) + branchCoverage = 0 + lineCoverage = 5 } diff --git a/feature/funding/link/build.gradle.kts b/feature/funding/link/build.gradle.kts index 6467bd9c57b..1268f984f47 100644 --- a/feature/funding/link/build.gradle.kts +++ b/feature/funding/link/build.gradle.kts @@ -12,5 +12,5 @@ dependencies { } codeCoverage { - lineCoverage.set(0) + lineCoverage = 0 } diff --git a/feature/funding/noop/build.gradle.kts b/feature/funding/noop/build.gradle.kts index 71bde00c087..74a016f32bd 100644 --- a/feature/funding/noop/build.gradle.kts +++ b/feature/funding/noop/build.gradle.kts @@ -12,5 +12,5 @@ dependencies { } codeCoverage { - lineCoverage.set(0) + lineCoverage = 0 } diff --git a/feature/launcher/build.gradle.kts b/feature/launcher/build.gradle.kts index 056646b57ad..3afc72d2e76 100644 --- a/feature/launcher/build.gradle.kts +++ b/feature/launcher/build.gradle.kts @@ -27,6 +27,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/feature/mail/folder/api/build.gradle.kts b/feature/mail/folder/api/build.gradle.kts index 0ac5c924f3b..307e782bbae 100644 --- a/feature/mail/folder/api/build.gradle.kts +++ b/feature/mail/folder/api/build.gradle.kts @@ -17,5 +17,5 @@ kotlin { } codeCoverage { - lineCoverage.set(0) + lineCoverage = 0 } diff --git a/feature/mail/message/composer/build.gradle.kts b/feature/mail/message/composer/build.gradle.kts index 3edcc738dab..774e60b7247 100644 --- a/feature/mail/message/composer/build.gradle.kts +++ b/feature/mail/message/composer/build.gradle.kts @@ -15,6 +15,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/feature/mail/message/list/api/build.gradle.kts b/feature/mail/message/list/api/build.gradle.kts index 4a5f9d8c24f..1cdee14ae0b 100644 --- a/feature/mail/message/list/api/build.gradle.kts +++ b/feature/mail/message/list/api/build.gradle.kts @@ -21,6 +21,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/feature/mail/message/list/internal/build.gradle.kts b/feature/mail/message/list/internal/build.gradle.kts index aeab8f19a1b..e2a2e6f7ca7 100644 --- a/feature/mail/message/list/internal/build.gradle.kts +++ b/feature/mail/message/list/internal/build.gradle.kts @@ -27,6 +27,6 @@ dependencies { } codeCoverage { - branchCoverage.set(9) - lineCoverage.set(17) + branchCoverage = 4 + lineCoverage = 9 } diff --git a/feature/mail/message/reader/api/build.gradle.kts b/feature/mail/message/reader/api/build.gradle.kts index 0a6e7a51c19..a2aef5968b5 100644 --- a/feature/mail/message/reader/api/build.gradle.kts +++ b/feature/mail/message/reader/api/build.gradle.kts @@ -13,3 +13,7 @@ kotlin { } } } + +codeCoverage { + lineCoverage = 0 +} diff --git a/feature/mail/message/reader/impl/build.gradle.kts b/feature/mail/message/reader/impl/build.gradle.kts index 4ad122fffbe..ca78fcdbc14 100644 --- a/feature/mail/message/reader/impl/build.gradle.kts +++ b/feature/mail/message/reader/impl/build.gradle.kts @@ -16,3 +16,8 @@ kotlin { } } } + +codeCoverage { + branchCoverage = 0 + lineCoverage = 0 +} diff --git a/feature/migration/launcher/noop/build.gradle.kts b/feature/migration/launcher/noop/build.gradle.kts index 8a2772f4eb6..e9209aedd2e 100644 --- a/feature/migration/launcher/noop/build.gradle.kts +++ b/feature/migration/launcher/noop/build.gradle.kts @@ -11,5 +11,5 @@ dependencies { } codeCoverage { - lineCoverage.set(0) + lineCoverage = 0 } diff --git a/feature/migration/launcher/thunderbird/build.gradle.kts b/feature/migration/launcher/thunderbird/build.gradle.kts index 663924b6be1..b98d1a47898 100644 --- a/feature/migration/launcher/thunderbird/build.gradle.kts +++ b/feature/migration/launcher/thunderbird/build.gradle.kts @@ -12,5 +12,5 @@ dependencies { } codeCoverage { - lineCoverage.set(0) + lineCoverage = 0 } diff --git a/feature/migration/provider/build.gradle.kts b/feature/migration/provider/build.gradle.kts index 0d8750e7f51..5699a3bbc43 100644 --- a/feature/migration/provider/build.gradle.kts +++ b/feature/migration/provider/build.gradle.kts @@ -13,6 +13,6 @@ android { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/feature/migration/qrcode/build.gradle.kts b/feature/migration/qrcode/build.gradle.kts index aae8460b41f..21260d4d4cd 100644 --- a/feature/migration/qrcode/build.gradle.kts +++ b/feature/migration/qrcode/build.gradle.kts @@ -34,6 +34,6 @@ dependencies { } codeCoverage { - branchCoverage.set(58) - lineCoverage.set(67) + branchCoverage = 0 + lineCoverage = 1 } diff --git a/feature/navigation/drawer/api/build.gradle.kts b/feature/navigation/drawer/api/build.gradle.kts index b27f837b2b0..d74b3b15e3e 100644 --- a/feature/navigation/drawer/api/build.gradle.kts +++ b/feature/navigation/drawer/api/build.gradle.kts @@ -8,5 +8,5 @@ android { } codeCoverage { - lineCoverage.set(0) + lineCoverage = 0 } diff --git a/feature/navigation/drawer/dropdown/build.gradle.kts b/feature/navigation/drawer/dropdown/build.gradle.kts index 86f1657e674..bfde126ffe5 100644 --- a/feature/navigation/drawer/dropdown/build.gradle.kts +++ b/feature/navigation/drawer/dropdown/build.gradle.kts @@ -40,6 +40,6 @@ dependencies { } codeCoverage { - branchCoverage.set(27) - lineCoverage.set(27) + branchCoverage = 0 + lineCoverage = 9 } diff --git a/feature/notification/api/build.gradle.kts b/feature/notification/api/build.gradle.kts index d94ad9c8c99..d8170ab4a9f 100644 --- a/feature/notification/api/build.gradle.kts +++ b/feature/notification/api/build.gradle.kts @@ -54,6 +54,6 @@ compose.resources { } codeCoverage { - branchCoverage.set(52) - lineCoverage.set(41) + branchCoverage = 46 + lineCoverage = 23 } diff --git a/feature/notification/impl/build.gradle.kts b/feature/notification/impl/build.gradle.kts index 703477462be..1971b26a28e 100644 --- a/feature/notification/impl/build.gradle.kts +++ b/feature/notification/impl/build.gradle.kts @@ -43,6 +43,6 @@ compose.resources { } codeCoverage { - branchCoverage.set(29) - lineCoverage.set(31) + branchCoverage = 29 + lineCoverage = 31 } diff --git a/feature/notification/testing/build.gradle.kts b/feature/notification/testing/build.gradle.kts index 7f88f111cda..09ff8452f62 100644 --- a/feature/notification/testing/build.gradle.kts +++ b/feature/notification/testing/build.gradle.kts @@ -15,5 +15,6 @@ kotlin { } codeCoverage { - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/feature/onboarding/main/build.gradle.kts b/feature/onboarding/main/build.gradle.kts index 8b70d1424bc..bebdf2c5e17 100644 --- a/feature/onboarding/main/build.gradle.kts +++ b/feature/onboarding/main/build.gradle.kts @@ -19,6 +19,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/feature/onboarding/migration/noop/build.gradle.kts b/feature/onboarding/migration/noop/build.gradle.kts index aa351e81d24..da93dfe0845 100644 --- a/feature/onboarding/migration/noop/build.gradle.kts +++ b/feature/onboarding/migration/noop/build.gradle.kts @@ -12,6 +12,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/feature/onboarding/migration/thunderbird/build.gradle.kts b/feature/onboarding/migration/thunderbird/build.gradle.kts index f793d1ada6f..7d74d918a59 100644 --- a/feature/onboarding/migration/thunderbird/build.gradle.kts +++ b/feature/onboarding/migration/thunderbird/build.gradle.kts @@ -24,5 +24,6 @@ dependencies { } codeCoverage { - branchCoverage.set(34) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/feature/onboarding/permissions/build.gradle.kts b/feature/onboarding/permissions/build.gradle.kts index 66a8742188b..0bbf9ef1f6d 100644 --- a/feature/onboarding/permissions/build.gradle.kts +++ b/feature/onboarding/permissions/build.gradle.kts @@ -15,6 +15,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/feature/onboarding/welcome/build.gradle.kts b/feature/onboarding/welcome/build.gradle.kts index 51a7b91c264..5802c643192 100644 --- a/feature/onboarding/welcome/build.gradle.kts +++ b/feature/onboarding/welcome/build.gradle.kts @@ -14,6 +14,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/feature/search/impl-legacy/build.gradle.kts b/feature/search/impl-legacy/build.gradle.kts index 21cdcbf411b..822153deeb5 100644 --- a/feature/search/impl-legacy/build.gradle.kts +++ b/feature/search/impl-legacy/build.gradle.kts @@ -18,6 +18,6 @@ kotlin { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/feature/settings/import/build.gradle.kts b/feature/settings/import/build.gradle.kts index 713f3a6e6a8..1ae6ae4937a 100644 --- a/feature/settings/import/build.gradle.kts +++ b/feature/settings/import/build.gradle.kts @@ -28,6 +28,6 @@ dependencies { } codeCoverage { - branchCoverage.set(12) - lineCoverage.set(26) + branchCoverage = 3 + lineCoverage = 4 } diff --git a/feature/telemetry/glean/build.gradle.kts b/feature/telemetry/glean/build.gradle.kts index 0cc762dcff4..f8093a70ee6 100644 --- a/feature/telemetry/glean/build.gradle.kts +++ b/feature/telemetry/glean/build.gradle.kts @@ -17,6 +17,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/feature/telemetry/noop/build.gradle.kts b/feature/telemetry/noop/build.gradle.kts index 926d21b399c..687d8ae8cca 100644 --- a/feature/telemetry/noop/build.gradle.kts +++ b/feature/telemetry/noop/build.gradle.kts @@ -8,5 +8,5 @@ dependencies { } codeCoverage { - lineCoverage.set(0) + lineCoverage = 0 } diff --git a/feature/widget/message-list-glance/build.gradle.kts b/feature/widget/message-list-glance/build.gradle.kts index 5cb64246e30..d474ceaf542 100644 --- a/feature/widget/message-list-glance/build.gradle.kts +++ b/feature/widget/message-list-glance/build.gradle.kts @@ -23,6 +23,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/feature/widget/message-list/build.gradle.kts b/feature/widget/message-list/build.gradle.kts index c40793789d9..7de0cb149d5 100644 --- a/feature/widget/message-list/build.gradle.kts +++ b/feature/widget/message-list/build.gradle.kts @@ -12,6 +12,6 @@ android { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/feature/widget/shortcut/build.gradle.kts b/feature/widget/shortcut/build.gradle.kts index 9bb05274331..ea176e746c2 100644 --- a/feature/widget/shortcut/build.gradle.kts +++ b/feature/widget/shortcut/build.gradle.kts @@ -13,6 +13,6 @@ android { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/feature/widget/unread/build.gradle.kts b/feature/widget/unread/build.gradle.kts index 7a9cad5d1ea..c906775af85 100644 --- a/feature/widget/unread/build.gradle.kts +++ b/feature/widget/unread/build.gradle.kts @@ -27,6 +27,6 @@ android { } codeCoverage { - branchCoverage.set(10) - lineCoverage.set(16) + branchCoverage = 10 + lineCoverage = 16 } diff --git a/legacy/common/build.gradle.kts b/legacy/common/build.gradle.kts index a91cf5df855..d0bbb260577 100644 --- a/legacy/common/build.gradle.kts +++ b/legacy/common/build.gradle.kts @@ -45,6 +45,6 @@ android { } codeCoverage { - branchCoverage.set(10) - lineCoverage.set(4) + branchCoverage = 10 + lineCoverage = 4 } diff --git a/legacy/core/build.gradle.kts b/legacy/core/build.gradle.kts index 664ab55c1e7..b4abeef6dd9 100644 --- a/legacy/core/build.gradle.kts +++ b/legacy/core/build.gradle.kts @@ -85,6 +85,6 @@ android { } codeCoverage { - branchCoverage.set(41) - lineCoverage.set(46) + branchCoverage = 41 + lineCoverage = 46 } diff --git a/legacy/crypto-openpgp/build.gradle.kts b/legacy/crypto-openpgp/build.gradle.kts index e2155ab03b6..461f0e8144b 100644 --- a/legacy/crypto-openpgp/build.gradle.kts +++ b/legacy/crypto-openpgp/build.gradle.kts @@ -11,5 +11,5 @@ android { } codeCoverage { - lineCoverage.set(67) + lineCoverage = 67 } diff --git a/legacy/di/build.gradle.kts b/legacy/di/build.gradle.kts index 5d2d7a865d2..ba819fc78c0 100644 --- a/legacy/di/build.gradle.kts +++ b/legacy/di/build.gradle.kts @@ -15,6 +15,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/legacy/mailstore/build.gradle.kts b/legacy/mailstore/build.gradle.kts index a248ff18aef..0ccbf73acb5 100644 --- a/legacy/mailstore/build.gradle.kts +++ b/legacy/mailstore/build.gradle.kts @@ -20,6 +20,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(8) + branchCoverage = 0 + lineCoverage = 7 } diff --git a/legacy/message/build.gradle.kts b/legacy/message/build.gradle.kts index 7aa63d542c6..405fae73330 100644 --- a/legacy/message/build.gradle.kts +++ b/legacy/message/build.gradle.kts @@ -15,6 +15,6 @@ dependencies { } codeCoverage { - branchCoverage.set(50) - lineCoverage.set(33) + branchCoverage = 50 + lineCoverage = 33 } diff --git a/legacy/storage/build.gradle.kts b/legacy/storage/build.gradle.kts index 2ce9ede0ed2..2a977cd5070 100644 --- a/legacy/storage/build.gradle.kts +++ b/legacy/storage/build.gradle.kts @@ -36,6 +36,6 @@ android { } codeCoverage { - branchCoverage.set(45) - lineCoverage.set(67) + branchCoverage = 45 + lineCoverage = 67 } diff --git a/legacy/ui/base/build.gradle.kts b/legacy/ui/base/build.gradle.kts index a9ca17121ee..607e8c9b3e4 100644 --- a/legacy/ui/base/build.gradle.kts +++ b/legacy/ui/base/build.gradle.kts @@ -24,6 +24,6 @@ android { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/legacy/ui/folder/build.gradle.kts b/legacy/ui/folder/build.gradle.kts index f3cb7eb5fce..1fddf39bfe3 100644 --- a/legacy/ui/folder/build.gradle.kts +++ b/legacy/ui/folder/build.gradle.kts @@ -19,6 +19,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/legacy/ui/legacy/build.gradle.kts b/legacy/ui/legacy/build.gradle.kts index aaa9be2c569..f47b61ff144 100644 --- a/legacy/ui/legacy/build.gradle.kts +++ b/legacy/ui/legacy/build.gradle.kts @@ -109,6 +109,6 @@ android { } codeCoverage { - branchCoverage.set(9) - lineCoverage.set(10) + branchCoverage = 2 + lineCoverage = 4 } diff --git a/library/token-auto-complete/build.gradle.kts b/library/token-auto-complete/build.gradle.kts index 99464c72bbc..f50fd8b4f6d 100644 --- a/library/token-auto-complete/build.gradle.kts +++ b/library/token-auto-complete/build.gradle.kts @@ -21,6 +21,6 @@ dependencies { } codeCoverage { - branchCoverage.set(6) - lineCoverage.set(4) + branchCoverage = 6 + lineCoverage = 4 } diff --git a/mail/common/build.gradle.kts b/mail/common/build.gradle.kts index fb235dc9173..0b55541d8f0 100644 --- a/mail/common/build.gradle.kts +++ b/mail/common/build.gradle.kts @@ -25,6 +25,6 @@ dependencies { } codeCoverage { - branchCoverage.set(27) - lineCoverage.set(47) + branchCoverage = 27 + lineCoverage = 47 } diff --git a/mail/protocols/pop3/build.gradle.kts b/mail/protocols/pop3/build.gradle.kts index 110286ec920..f5d4f828025 100644 --- a/mail/protocols/pop3/build.gradle.kts +++ b/mail/protocols/pop3/build.gradle.kts @@ -13,3 +13,8 @@ dependencies { testImplementation(libs.jzlib) testImplementation(libs.commons.io) } + +codeCoverage { + branchCoverage = 52 + lineCoverage = 74 +} diff --git a/mail/testing/build.gradle.kts b/mail/testing/build.gradle.kts index 1b2da98f61a..337d337a38f 100644 --- a/mail/testing/build.gradle.kts +++ b/mail/testing/build.gradle.kts @@ -13,6 +13,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/plugins/openpgp-api-lib/openpgp-api/build.gradle.kts b/plugins/openpgp-api-lib/openpgp-api/build.gradle.kts index 85eff1833c1..56b841bbec2 100644 --- a/plugins/openpgp-api-lib/openpgp-api/build.gradle.kts +++ b/plugins/openpgp-api-lib/openpgp-api/build.gradle.kts @@ -20,6 +20,6 @@ dependencies { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/ui-utils/item-touch-helper/build.gradle.kts b/ui-utils/item-touch-helper/build.gradle.kts index 915136e727f..77a4b24e777 100644 --- a/ui-utils/item-touch-helper/build.gradle.kts +++ b/ui-utils/item-touch-helper/build.gradle.kts @@ -13,6 +13,6 @@ android { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/ui-utils/linear-layout-manager/build.gradle.kts b/ui-utils/linear-layout-manager/build.gradle.kts index 1c69d1a81e0..ce59dba57ca 100644 --- a/ui-utils/linear-layout-manager/build.gradle.kts +++ b/ui-utils/linear-layout-manager/build.gradle.kts @@ -13,6 +13,6 @@ android { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } diff --git a/ui-utils/toolbar-bottom-sheet/build.gradle.kts b/ui-utils/toolbar-bottom-sheet/build.gradle.kts index db8e7a220e4..9a680776d33 100644 --- a/ui-utils/toolbar-bottom-sheet/build.gradle.kts +++ b/ui-utils/toolbar-bottom-sheet/build.gradle.kts @@ -17,6 +17,6 @@ android { } codeCoverage { - branchCoverage.set(0) - lineCoverage.set(0) + branchCoverage = 0 + lineCoverage = 0 } From a6b58321a1a5f44fecd2a2f5b4e4a333824551ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wolf-Martell=20Montwe=CC=81?= Date: Tue, 27 Jan 2026 17:42:16 +0100 Subject: [PATCH 5/5] fix(coverage): change default code coverage to disabled instead of enabled --- .../plugin/quality/coverage/CodeCoverageExtension.kt | 2 +- .../plugin/quality/coverage/CodeCoveragePlugin.kt | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoverageExtension.kt b/build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoverageExtension.kt index 2807f41865a..45a433e24fa 100644 --- a/build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoverageExtension.kt +++ b/build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoverageExtension.kt @@ -24,7 +24,7 @@ interface CodeCoverageExtension { } internal fun CodeCoverageExtension.initialize() { - disabled.convention(false) + disabled.convention(true) branchCoverage.convention(DEFAULT_MIN_BRANCH_COVERAGE) lineCoverage.convention(DEFAULT_MIN_LINE_COVERAGE) } diff --git a/build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoveragePlugin.kt b/build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoveragePlugin.kt index ca18d5f8f87..bbb251931a7 100644 --- a/build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoveragePlugin.kt +++ b/build-plugin/plugin/src/main/kotlin/net/thunderbird/gradle/plugin/quality/coverage/CodeCoveragePlugin.kt @@ -21,11 +21,11 @@ import org.gradle.process.JavaForkOptions * * It sets up default coverage thresholds and allows for customization via the [CodeCoverageExtension]. * - * The plugin can be globally disabled using a Gradle property or environment variable: - * - Gradle property: `-PcodeCoverageDisabled=true` - * - Environment variable: `CODE_COVERAGE_DISABLED=true` + * The plugin is disabled by default. It can be globally enabled using a Gradle property or environment variable: + * - Gradle property: `-PcodeCoverageDisabled=false` + * - Environment variable: `CODE_COVERAGE_DISABLED=false` * - * Example usage in a build script: + * Example usage in a build script to enable it: * * ```kotlin * plugins { @@ -33,7 +33,7 @@ import org.gradle.process.JavaForkOptions * } * * codeCoverage { - * disabled.set(false) // Enable or disable coverage + * disabled.set(false) // Enable coverage * lineCoverage = 80 // Set line coverage threshold * branchCoverage = 70 // Set branch coverage threshold * } @@ -46,7 +46,7 @@ class CodeCoveragePlugin : Plugin { val gradleProperty = target.providers.gradleProperty("codeCoverageDisabled").map { it.toBoolean() } val environmentProperty = target.providers.environmentVariable("CODE_COVERAGE_DISABLED") .map { it.equals("true", ignoreCase = true) } - val disabledProvider = environmentProperty.orElse(gradleProperty).orElse(false) + val disabledProvider = environmentProperty.orElse(gradleProperty).orElse(true) extension.disabled.convention(disabledProvider) extension.initialize()