diff --git a/app-wearos/build.gradle b/app-wearos/build.gradle index 13e7a0d60..767264b7a 100644 --- a/app-wearos/build.gradle +++ b/app-wearos/build.gradle @@ -1,6 +1,5 @@ plugins { alias(libs.plugins.android.application) - alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.compose) alias(libs.plugins.ktlint) } @@ -9,6 +8,7 @@ apply from: "../playFlavor.gradle" android { namespace "de.danoeh.antennapod.wearos" + enableKotlin true defaultConfig { applicationId "de.danoeh.antennapod" @@ -45,10 +45,6 @@ android { compose true } - kotlinOptions { - jvmTarget = "21" - } - lint { disable "UnusedResources" } diff --git a/app/build.gradle b/app/build.gradle index f0231b5d0..d11bcece4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -133,6 +133,8 @@ dependencies { androidTestImplementation libs.androidx.test.runner androidTestImplementation libs.androidx.test.rules androidTestImplementation libs.androidx.test.ext.junit + androidTestImplementation libs.hamcrest + androidTestImplementation libs.hamcrest.library } if (project.hasProperty("antennaPodPlayPublisherCredentials")) { diff --git a/common.gradle b/common.gradle index b5db25d05..122be0c2f 100644 --- a/common.gradle +++ b/common.gradle @@ -1,5 +1,6 @@ android { compileSdk 36 + enableKotlin false defaultConfig { minSdk 23 @@ -18,7 +19,7 @@ android { buildTypes { release { - proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard.cfg" + proguardFiles getDefaultProguardFile("proguard-android-optimize.txt"), "proguard.cfg" resValue "string", "app_name", "AntennaPod" } debug { @@ -65,6 +66,7 @@ android { buildFeatures { viewBinding true buildConfig true + resValues true } } diff --git a/gradle.properties b/gradle.properties index 19058640c..cd062ccf5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,4 @@ -android.useAndroidX=true -org.gradle.jvmargs=-Xmx4096m +android.newDsl=false +android.onlyEnableUnitTestForTheTestedBuildType=false android.nonTransitiveRClass=false +org.gradle.jvmargs=-Xmx4096m diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 6b791271a..895300d04 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,5 @@ [versions] -agp = "8.11.0" +agp = "9.0.1" kotlin = "2.3.20" media3 = "1.9.0" wear-compose = "1.6.0" @@ -76,13 +76,15 @@ nanohttpd = { module = "com.nanohttpd:nanohttpd", version = "2.1.1" } awaitility = { module = "org.awaitility:awaitility", version = "3.1.6" } junit = { module = "junit:junit", version = "4.13" } robolectric = { module = "org.robolectric:robolectric", version = "4.16" } -mockito-core = { module = "org.mockito:mockito-core", version = "5.15.2" } +mockito-core = { module = "org.mockito:mockito-core", version = "5.20.0" } +hamcrest = { module = "org.hamcrest:hamcrest", version = "2.2" } +hamcrest-library = { module = "org.hamcrest:hamcrest-library", version = "2.2" } [plugins] android-application = { id = "com.android.application", version.ref = "agp" } android-library = { id = "com.android.library", version.ref = "agp" } kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } -spotbugs = { id = "com.github.spotbugs", version = "4.8.0" } +spotbugs = { id = "com.github.spotbugs", version = "6.4.8" } ktlint = { id = "org.jlleitschuh.gradle.ktlint", version = "12.3.0" } -triplet-play = { id = "com.github.triplet.play", version = "3.9.0" } +triplet-play = { id = "com.github.triplet.play", version = "4.0.0" } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index d64cd4917..9bbc975c7 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 68f6c2ca1..37f78a6af 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,6 @@ -#Sun Aug 17 17:07:23 CEST 2025 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index 1aa94a426..faf93008b 100755 --- a/gradlew +++ b/gradlew @@ -15,6 +15,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +# SPDX-License-Identifier: Apache-2.0 +# ############################################################################## # @@ -55,7 +57,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -84,7 +86,7 @@ done # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -203,7 +205,7 @@ fi DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Collect all arguments for the java command: -# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, # and any embedded shellness will be escaped. # * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be # treated as '${Hostname}' itself on the command line. diff --git a/gradlew.bat b/gradlew.bat index 7101f8e46..9b42019c7 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -13,6 +13,8 @@ @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem @if "%DEBUG%"=="" @echo off @rem ########################################################################## diff --git a/net/download/service-interface/build.gradle b/net/download/service-interface/build.gradle index 3a79e19ca..696d8eae0 100644 --- a/net/download/service-interface/build.gradle +++ b/net/download/service-interface/build.gradle @@ -1,6 +1,5 @@ plugins { alias(libs.plugins.android.library) - id("java-test-fixtures") } apply from: "../../../common.gradle" apply from: "../../../playFlavor.gradle" diff --git a/net/download/service/build.gradle b/net/download/service/build.gradle index 9599f65ad..0803e7e6c 100644 --- a/net/download/service/build.gradle +++ b/net/download/service/build.gradle @@ -1,6 +1,5 @@ plugins { alias(libs.plugins.android.library) - id("java-test-fixtures") } apply from: "../../../common.gradle" apply from: "../../../playFlavor.gradle"