diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bc7cce6..877917b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -105,7 +105,7 @@ jobs: echo "$((major * 10000 + minor * 100 + patch))" > versionCode.txt - name: Create GitHub Release - uses: softprops/action-gh-release@v2 + uses: softprops/action-gh-release@v3 with: tag_name: ${{ steps.version.outputs.new_tag }} files: | diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index dbbdff7..31fc65c 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -84,7 +84,7 @@ jobs: sudo udevadm trigger --name-match=kvm - name: Cache AVD snapshot - uses: actions/cache@v4 + uses: actions/cache@v5 id: avd-cache with: path: | diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 40b4f68..85dc0e1 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -233,6 +233,10 @@ configurations.all { val group = requested.group val name = requested.name when { + // coroutines-test 1.11.0 calls APIs added in coroutines-core 1.11.0; force the + // core to match so instrumented tests don't see a stale version from transitive deps. + group == "org.jetbrains.kotlinx" && name.startsWith("kotlinx-coroutines-") -> + useVersion(libs.versions.coroutinesTest.get()) group == "io.netty" -> useVersion("4.1.129.Final") group == "com.google.protobuf" && name == "protobuf-kotlin" -> useVersion("3.25.5") group == "com.google.protobuf" && name == "protobuf-java" -> useVersion("3.25.5") diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index bdc5a61..7e6e949 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,24 +1,24 @@ [versions] -gradlePlayPublisher = "3.12.1" +gradlePlayPublisher = "3.13.0" agp = "8.13.2" coreKtx = "1.18.0" junit = "4.13.2" junitVersion = "1.3.0" espressoCore = "3.7.0" -mockk = "1.13.12" -coroutinesTest = "1.9.0" +mockk = "1.14.9" +coroutinesTest = "1.11.0" lifecycleRuntimeKtx = "2.10.0" activityCompose = "1.13.0" -kotlin = "2.3.10" +kotlin = "2.3.21" composeBom = "2024.12.01" roomKtx = "2.8.4" -ksp = "2.3.7" -serialization = "1.10.0" +ksp = "2.3.8" +serialization = "1.11.0" navigationCompose = "2.9.8" zxing = "3.5.4" -cameraX = "1.5.3" -jsoup = "1.22.1" -ktor = "3.4.1" +cameraX = "1.6.1" +jsoup = "1.22.2" +ktor = "3.4.2" coil = "2.7.0" [libraries] diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index d997cfc..b1b8ef5 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 8e61ef1..4b271a6 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,8 +1,10 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionSha256Sum=2ab2958f2a1e51120c326cad6f385153bb11ee93b3c216c5fccebfdfbb7ec6cb -distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip +distributionSha256Sum=553c78f50dafcd54d65b9a444649057857469edf836431389695608536d6b746 +distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.0-bin.zip networkTimeout=10000 +retries=0 +retryBackOffMs=500 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index 739907d..b9bb139 100755 --- a/gradlew +++ b/gradlew @@ -57,7 +57,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/2d6327017519d23b96af35865dc997fcb544fb40/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/3d91ce3b8caaf77ad09f381f43615b715b53f72c/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/. diff --git a/gradlew.bat b/gradlew.bat index e509b2d..aa5f10b 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -23,8 +23,8 @@ @rem @rem ########################################################################## -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal +@rem Set local scope for the variables, and ensure extensions are enabled +setlocal EnableExtensions set DIRNAME=%~dp0 if "%DIRNAME%"=="" set DIRNAME=. @@ -51,7 +51,7 @@ echo. 1>&2 echo Please set the JAVA_HOME variable in your environment to match the 1>&2 echo location of your Java installation. 1>&2 -goto fail +"%COMSPEC%" /c exit 1 :findJavaFromJavaHome set JAVA_HOME=%JAVA_HOME:"=% @@ -65,7 +65,7 @@ echo. 1>&2 echo Please set the JAVA_HOME variable in your environment to match the 1>&2 echo location of your Java installation. 1>&2 -goto fail +"%COMSPEC%" /c exit 1 :execute @rem Setup the command line @@ -73,21 +73,10 @@ goto fail @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* +@rem endlocal doesn't take effect until after the line is parsed and variables are expanded +@rem which allows us to clear the local environment before executing the java command +endlocal & "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* & call :exitWithErrorLevel -:end -@rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega +:exitWithErrorLevel +@rem Use "%COMSPEC%" /c exit to allow operators to work properly in scripts +"%COMSPEC%" /c exit %ERRORLEVEL%