diff --git a/build-plugin/src/main/kotlin/AndroidExtension.kt b/build-plugin/src/main/kotlin/AndroidExtension.kt index 81395391ec0..b0a1e6d7312 100644 --- a/build-plugin/src/main/kotlin/AndroidExtension.kt +++ b/build-plugin/src/main/kotlin/AndroidExtension.kt @@ -28,12 +28,6 @@ internal fun CommonExtension<*, *, *, *, *, *>.configureSharedConfig(project: Pr checkReleaseBuilds = System.getenv("CI_CHECK_RELEASE_BUILDS")?.toBoolean() ?: true } - testOptions { - unitTests { - isIncludeAndroidResources = true - } - } - packaging { resources { excludes += listOf( diff --git a/build-plugin/src/main/kotlin/thunderbird.library.android.gradle.kts b/build-plugin/src/main/kotlin/thunderbird.library.android.gradle.kts index 75a1077b660..9e6a1a320a6 100644 --- a/build-plugin/src/main/kotlin/thunderbird.library.android.gradle.kts +++ b/build-plugin/src/main/kotlin/thunderbird.library.android.gradle.kts @@ -15,12 +15,6 @@ android { kotlinOptions { jvmTarget = ThunderbirdProjectConfig.Compiler.javaCompatibility.toString() } - - testOptions { - unitTests { - isIncludeAndroidResources = true - } - } } kotlin { diff --git a/core/ui/compose/common/build.gradle.kts b/core/ui/compose/common/build.gradle.kts index c64b04956f2..931e1048718 100644 --- a/core/ui/compose/common/build.gradle.kts +++ b/core/ui/compose/common/build.gradle.kts @@ -5,6 +5,12 @@ plugins { android { namespace = "app.k9mail.core.ui.compose.common" resourcePrefix = "core_ui_common_" + + testOptions { + unitTests { + isIncludeAndroidResources = true + } + } } dependencies { diff --git a/core/ui/compose/designsystem/build.gradle.kts b/core/ui/compose/designsystem/build.gradle.kts index 664748c56e1..5a4b42306a4 100644 --- a/core/ui/compose/designsystem/build.gradle.kts +++ b/core/ui/compose/designsystem/build.gradle.kts @@ -6,6 +6,12 @@ plugins { android { namespace = "app.k9mail.core.ui.compose.designsystem" resourcePrefix = "designsystem_" + + testOptions { + unitTests { + isIncludeAndroidResources = true + } + } } dependencies { diff --git a/feature/account/edit/build.gradle.kts b/feature/account/edit/build.gradle.kts index a51deedf66d..402269e278c 100644 --- a/feature/account/edit/build.gradle.kts +++ b/feature/account/edit/build.gradle.kts @@ -5,6 +5,12 @@ plugins { android { namespace = "app.k9mail.feature.account.edit" resourcePrefix = "account_edit_" + + testOptions { + unitTests { + isIncludeAndroidResources = true + } + } } dependencies { diff --git a/feature/account/oauth/build.gradle.kts b/feature/account/oauth/build.gradle.kts index 168cd2abcc1..4e2e32c1ed3 100644 --- a/feature/account/oauth/build.gradle.kts +++ b/feature/account/oauth/build.gradle.kts @@ -5,6 +5,12 @@ plugins { android { namespace = "app.k9mail.feature.account.oauth" resourcePrefix = "account_oauth_" + + testOptions { + unitTests { + isIncludeAndroidResources = true + } + } } dependencies { diff --git a/feature/account/server/settings/build.gradle.kts b/feature/account/server/settings/build.gradle.kts index c4cb69f8e4f..3e4df59c0f3 100644 --- a/feature/account/server/settings/build.gradle.kts +++ b/feature/account/server/settings/build.gradle.kts @@ -5,6 +5,12 @@ plugins { android { namespace = "app.k9mail.feature.account.server.settings" resourcePrefix = "account_server_settings_" + + testOptions { + unitTests { + isIncludeAndroidResources = true + } + } } dependencies { diff --git a/feature/account/server/validation/build.gradle.kts b/feature/account/server/validation/build.gradle.kts index 8cfb84a748d..43ab82ba6dd 100644 --- a/feature/account/server/validation/build.gradle.kts +++ b/feature/account/server/validation/build.gradle.kts @@ -5,6 +5,12 @@ plugins { android { namespace = "app.k9mail.feature.account.server.validation" resourcePrefix = "account_server_validation_" + + testOptions { + unitTests { + isIncludeAndroidResources = true + } + } } dependencies { diff --git a/feature/account/settings/impl/build.gradle.kts b/feature/account/settings/impl/build.gradle.kts index cf5c51d77f4..80e1e92e93d 100644 --- a/feature/account/settings/impl/build.gradle.kts +++ b/feature/account/settings/impl/build.gradle.kts @@ -5,6 +5,12 @@ plugins { android { namespace = "net.thunderbird.feature.account.settings" resourcePrefix = "account_settings_" + + testOptions { + unitTests { + isIncludeAndroidResources = true + } + } } dependencies { diff --git a/feature/account/setup/build.gradle.kts b/feature/account/setup/build.gradle.kts index 34377b6fb12..9e20c942c21 100644 --- a/feature/account/setup/build.gradle.kts +++ b/feature/account/setup/build.gradle.kts @@ -5,6 +5,12 @@ plugins { android { namespace = "app.k9mail.feature.account.setup" resourcePrefix = "account_setup_" + + testOptions { + unitTests { + isIncludeAndroidResources = true + } + } } dependencies { diff --git a/feature/funding/googleplay/build.gradle.kts b/feature/funding/googleplay/build.gradle.kts index b461f36d2dc..d6c7c1c7b62 100644 --- a/feature/funding/googleplay/build.gradle.kts +++ b/feature/funding/googleplay/build.gradle.kts @@ -5,6 +5,12 @@ plugins { android { namespace = "app.k9mail.feature.funding.googleplay" resourcePrefix = "funding_googleplay_" + + testOptions { + unitTests { + isIncludeAndroidResources = true + } + } } dependencies { diff --git a/feature/migration/qrcode/build.gradle.kts b/feature/migration/qrcode/build.gradle.kts index 9ffa9225da1..9e340da7f9d 100644 --- a/feature/migration/qrcode/build.gradle.kts +++ b/feature/migration/qrcode/build.gradle.kts @@ -5,6 +5,12 @@ plugins { android { namespace = "app.k9mail.feature.migration.qrcode" resourcePrefix = "migration_qrcode_" + + testOptions { + unitTests { + isIncludeAndroidResources = true + } + } } dependencies { diff --git a/feature/navigation/drawer/dropdown/build.gradle.kts b/feature/navigation/drawer/dropdown/build.gradle.kts index 279a0c53e06..066c8189edc 100644 --- a/feature/navigation/drawer/dropdown/build.gradle.kts +++ b/feature/navigation/drawer/dropdown/build.gradle.kts @@ -5,6 +5,12 @@ plugins { android { namespace = "net.thunderbird.feature.navigation.drawer.dropdown" resourcePrefix = "navigation_drawer_dropdown_" + + testOptions { + unitTests { + isIncludeAndroidResources = true + } + } } dependencies { diff --git a/feature/navigation/drawer/siderail/build.gradle.kts b/feature/navigation/drawer/siderail/build.gradle.kts index 347d1fe96af..f1921bc0ab2 100644 --- a/feature/navigation/drawer/siderail/build.gradle.kts +++ b/feature/navigation/drawer/siderail/build.gradle.kts @@ -5,6 +5,12 @@ plugins { android { namespace = "net.thunderbird.feature.navigation.drawer.siderail" resourcePrefix = "navigation_drawer_siderail_" + + testOptions { + unitTests { + isIncludeAndroidResources = true + } + } } dependencies { diff --git a/feature/notification/api/build.gradle.kts b/feature/notification/api/build.gradle.kts index ac29c46ca89..feff6ad040c 100644 --- a/feature/notification/api/build.gradle.kts +++ b/feature/notification/api/build.gradle.kts @@ -40,6 +40,7 @@ kotlin { android { namespace = "net.thunderbird.feature.notification.api" + testOptions { unitTests { isIncludeAndroidResources = true diff --git a/feature/onboarding/migration/thunderbird/build.gradle.kts b/feature/onboarding/migration/thunderbird/build.gradle.kts index 73111081034..7fdb1125e46 100644 --- a/feature/onboarding/migration/thunderbird/build.gradle.kts +++ b/feature/onboarding/migration/thunderbird/build.gradle.kts @@ -5,6 +5,12 @@ plugins { android { namespace = "app.k9mail.feature.onboarding.migration.thunderbird" resourcePrefix = "onboarding_migration_thunderbird_" + + testOptions { + unitTests { + isIncludeAndroidResources = true + } + } } dependencies { diff --git a/feature/widget/unread/build.gradle.kts b/feature/widget/unread/build.gradle.kts index 14bbcb5d8fb..eb6f97ec850 100644 --- a/feature/widget/unread/build.gradle.kts +++ b/feature/widget/unread/build.gradle.kts @@ -16,4 +16,10 @@ dependencies { android { namespace = "app.k9mail.feature.widget.unread" + + testOptions { + unitTests { + isIncludeAndroidResources = true + } + } } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 260ab153373..6c209a6b7a4 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -61,7 +61,7 @@ detektPluginCompose = "0.4.27" fastAdapter = "5.7.0" forkhandlesBom = "2.23.0.0" glide = "4.16.0" -gradle = "8.14.2" +gradle = "9.1.0" icu4j = "77.1" javaDiffUtils = "4.16" jcipAnnotations = "1.0" @@ -79,7 +79,7 @@ koinBom = "4.1.1" konsist = "0.17.3" kotlinBom = "2.2.20" # Needs to match the version used by Gradle, just check with `./gradlew --version` -kotlinGradleBom = "2.0.21" +kotlinGradleBom = "2.2.0" kotlinKsp = "2.2.20-2.0.4" kotlinxCoroutines = "1.10.2" kotlinxCollectionsImmutable = "0.4.0" diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 1b33c55baab..8bdaf60c75a 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 7705927e949..a35649f5fc2 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-all.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index 23d15a93670..adff685a034 100755 --- a/gradlew +++ b/gradlew @@ -1,7 +1,7 @@ #!/bin/sh # -# Copyright © 2015-2021 the original authors. +# Copyright © 2015 the original authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -114,7 +114,6 @@ case "$( uname )" in #( NONSTOP* ) nonstop=true ;; esac -CLASSPATH="\\\"\\\"" # Determine the Java command to use to start the JVM. @@ -172,7 +171,6 @@ fi # For Cygwin or MSYS, switch paths to Windows format before running java if "$cygwin" || "$msys" ; then APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) JAVACMD=$( cygpath --unix "$JAVACMD" ) @@ -212,7 +210,6 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ "$@" diff --git a/gradlew.bat b/gradlew.bat index db3a6ac207e..c4bdd3ab8e3 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -70,11 +70,10 @@ goto fail :execute @rem Setup the command line -set CLASSPATH= @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* :end @rem End local scope for the variables with windows NT shell diff --git a/legacy/core/build.gradle.kts b/legacy/core/build.gradle.kts index 49b290b5879..757f4c57a91 100644 --- a/legacy/core/build.gradle.kts +++ b/legacy/core/build.gradle.kts @@ -73,4 +73,10 @@ android { buildFeatures { buildConfig = true } + + testOptions { + unitTests { + isIncludeAndroidResources = true + } + } } diff --git a/legacy/storage/build.gradle.kts b/legacy/storage/build.gradle.kts index 52d9b9538c0..36fe2dbbda5 100644 --- a/legacy/storage/build.gradle.kts +++ b/legacy/storage/build.gradle.kts @@ -27,4 +27,10 @@ dependencies { android { namespace = "com.fsck.k9.storage" + + testOptions { + unitTests { + isIncludeAndroidResources = true + } + } } diff --git a/legacy/ui/legacy/build.gradle.kts b/legacy/ui/legacy/build.gradle.kts index 909775faade..fb9dafe5b4b 100644 --- a/legacy/ui/legacy/build.gradle.kts +++ b/legacy/ui/legacy/build.gradle.kts @@ -96,4 +96,10 @@ android { buildFeatures { buildConfig = true } + + testOptions { + unitTests { + isIncludeAndroidResources = true + } + } }