From 07aa9346b71feada06b003e9b55782505b19045b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Rychnovsk=C3=BD?= Date: Fri, 1 Sep 2023 08:48:54 +0200 Subject: [PATCH] [#1194][#1195] Compose + AGP dependency update Changelog --- CHANGELOG.md | 9 +- build-conventions/gradle.lockfile | 94 ++++++++++--------- .../zcash-sdk.android-conventions.gradle.kts | 4 +- .../demos/getbalance/GetBalanceFragment.kt | 9 -- .../ListTransactionsFragment.kt | 9 -- .../sdk/demoapp/demos/send/SendFragment.kt | 9 -- gradle.properties | 16 ++-- 7 files changed, 66 insertions(+), 84 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b1cbfe6..b2319925 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,14 @@ # Change Log ## Unreleased -- Gradle 8.3 + +### Changed +- Updated dependencies: + - Gradle 8.3 + - AGP 8.1.1 + - Kotlin 1.9.10 + - Compose + - etc. ## 1.20.0-beta01 - The SDK internally migrated from `BackendExt` rust backend extension functions to more type-safe `TypesafeBackend`. diff --git a/build-conventions/gradle.lockfile b/build-conventions/gradle.lockfile index 9c4accad..4ffaf998 100644 --- a/build-conventions/gradle.lockfile +++ b/build-conventions/gradle.lockfile @@ -1,47 +1,49 @@ # This is a Gradle generated file for dependency locking. # Manual edits can break the build and are not advised. # This file is expected to be part of source control. -androidx.databinding:databinding-common:8.0.2=runtimeClasspath -androidx.databinding:databinding-compiler-common:8.0.2=runtimeClasspath -com.android.databinding:baseLibrary:8.0.2=runtimeClasspath -com.android.tools.analytics-library:crash:31.0.2=runtimeClasspath -com.android.tools.analytics-library:protos:31.0.2=runtimeClasspath -com.android.tools.analytics-library:shared:31.0.2=runtimeClasspath -com.android.tools.analytics-library:tracker:31.0.2=runtimeClasspath +androidx.databinding:databinding-common:8.1.1=runtimeClasspath +androidx.databinding:databinding-compiler-common:8.1.1=runtimeClasspath +com.android.databinding:baseLibrary:8.1.1=runtimeClasspath +com.android.tools.analytics-library:crash:31.1.1=runtimeClasspath +com.android.tools.analytics-library:protos:31.1.1=runtimeClasspath +com.android.tools.analytics-library:shared:31.1.1=runtimeClasspath +com.android.tools.analytics-library:tracker:31.1.1=runtimeClasspath com.android.tools.build.jetifier:jetifier-core:1.0.0-beta10=runtimeClasspath com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta10=runtimeClasspath -com.android.tools.build:aapt2-proto:8.0.2-9289358=runtimeClasspath -com.android.tools.build:aaptcompiler:8.0.2=runtimeClasspath -com.android.tools.build:apksig:8.0.2=compileClasspath,runtimeClasspath -com.android.tools.build:apkzlib:8.0.2=compileClasspath,runtimeClasspath -com.android.tools.build:builder-model:8.0.2=compileClasspath,runtimeClasspath -com.android.tools.build:builder-test-api:8.0.2=runtimeClasspath -com.android.tools.build:builder:8.0.2=compileClasspath,runtimeClasspath -com.android.tools.build:bundletool:1.13.2=runtimeClasspath -com.android.tools.build:gradle-api:8.0.2=compileClasspath,runtimeClasspath -com.android.tools.build:gradle-settings-api:8.0.2=runtimeClasspath -com.android.tools.build:gradle:8.0.2=compileClasspath,runtimeClasspath -com.android.tools.build:manifest-merger:31.0.2=compileClasspath,runtimeClasspath +com.android.tools.build:aapt2-proto:8.1.1-10154469=runtimeClasspath +com.android.tools.build:aaptcompiler:8.1.1=runtimeClasspath +com.android.tools.build:apksig:8.1.1=compileClasspath,runtimeClasspath +com.android.tools.build:apkzlib:8.1.1=compileClasspath,runtimeClasspath +com.android.tools.build:builder-model:8.1.1=compileClasspath,runtimeClasspath +com.android.tools.build:builder-test-api:8.1.1=runtimeClasspath +com.android.tools.build:builder:8.1.1=compileClasspath,runtimeClasspath +com.android.tools.build:bundletool:1.14.0=runtimeClasspath +com.android.tools.build:gradle-api:8.1.1=compileClasspath,runtimeClasspath +com.android.tools.build:gradle-settings-api:8.1.1=runtimeClasspath +com.android.tools.build:gradle:8.1.1=compileClasspath,runtimeClasspath +com.android.tools.build:manifest-merger:31.1.1=compileClasspath,runtimeClasspath com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=runtimeClasspath -com.android.tools.ddms:ddmlib:31.0.2=runtimeClasspath -com.android.tools.layoutlib:layoutlib-api:31.0.2=runtimeClasspath -com.android.tools.lint:lint-model:31.0.2=runtimeClasspath -com.android.tools.lint:lint-typedef-remover:31.0.2=runtimeClasspath -com.android.tools.utp:android-device-provider-ddmlib-proto:31.0.2=runtimeClasspath -com.android.tools.utp:android-device-provider-gradle-proto:31.0.2=runtimeClasspath -com.android.tools.utp:android-test-plugin-host-additional-test-output-proto:31.0.2=runtimeClasspath -com.android.tools.utp:android-test-plugin-host-coverage-proto:31.0.2=runtimeClasspath -com.android.tools.utp:android-test-plugin-host-logcat-proto:31.0.2=runtimeClasspath -com.android.tools.utp:android-test-plugin-host-retention-proto:31.0.2=runtimeClasspath -com.android.tools.utp:android-test-plugin-result-listener-gradle-proto:31.0.2=runtimeClasspath -com.android.tools:annotations:31.0.2=runtimeClasspath -com.android.tools:common:31.0.2=runtimeClasspath -com.android.tools:dvlib:31.0.2=runtimeClasspath -com.android.tools:repository:31.0.2=runtimeClasspath -com.android.tools:sdk-common:31.0.2=runtimeClasspath -com.android.tools:sdklib:31.0.2=runtimeClasspath -com.android:signflinger:8.0.2=runtimeClasspath -com.android:zipflinger:8.0.2=compileClasspath,runtimeClasspath +com.android.tools.ddms:ddmlib:31.1.1=runtimeClasspath +com.android.tools.layoutlib:layoutlib-api:31.1.1=runtimeClasspath +com.android.tools.lint:lint-model:31.1.1=runtimeClasspath +com.android.tools.lint:lint-typedef-remover:31.1.1=runtimeClasspath +com.android.tools.utp:android-device-provider-ddmlib-proto:31.1.1=runtimeClasspath +com.android.tools.utp:android-device-provider-gradle-proto:31.1.1=runtimeClasspath +com.android.tools.utp:android-test-plugin-host-additional-test-output-proto:31.1.1=runtimeClasspath +com.android.tools.utp:android-test-plugin-host-apk-installer-proto:31.1.1=runtimeClasspath +com.android.tools.utp:android-test-plugin-host-coverage-proto:31.1.1=runtimeClasspath +com.android.tools.utp:android-test-plugin-host-emulator-control-proto:31.1.1=runtimeClasspath +com.android.tools.utp:android-test-plugin-host-logcat-proto:31.1.1=runtimeClasspath +com.android.tools.utp:android-test-plugin-host-retention-proto:31.1.1=runtimeClasspath +com.android.tools.utp:android-test-plugin-result-listener-gradle-proto:31.1.1=runtimeClasspath +com.android.tools:annotations:31.1.1=runtimeClasspath +com.android.tools:common:31.1.1=runtimeClasspath +com.android.tools:dvlib:31.1.1=runtimeClasspath +com.android.tools:repository:31.1.1=runtimeClasspath +com.android.tools:sdk-common:31.1.1=runtimeClasspath +com.android.tools:sdklib:31.1.1=runtimeClasspath +com.android:signflinger:8.1.1=runtimeClasspath +com.android:zipflinger:8.1.1=compileClasspath,runtimeClasspath com.google.android:annotations:4.1.1.4=runtimeClasspath com.google.api.grpc:proto-google-common-protos:2.0.1=runtimeClasspath com.google.auto.value:auto-value-annotations:1.6.2=runtimeClasspath @@ -49,10 +51,10 @@ com.google.code.findbugs:jsr305:3.0.2=runtimeClasspath com.google.code.gson:gson:2.8.9=runtimeClasspath com.google.crypto.tink:tink:1.7.0=runtimeClasspath com.google.dagger:dagger:2.28.3=runtimeClasspath -com.google.errorprone:error_prone_annotations:2.10.0=runtimeClasspath +com.google.errorprone:error_prone_annotations:2.11.0=runtimeClasspath com.google.flatbuffers:flatbuffers-java:1.12.0=runtimeClasspath com.google.guava:failureaccess:1.0.1=runtimeClasspath -com.google.guava:guava:31.0.1-jre=runtimeClasspath +com.google.guava:guava:31.1-jre=runtimeClasspath com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=runtimeClasspath com.google.j2objc:j2objc-annotations:1.3=runtimeClasspath com.google.jimfs:jimfs:1.1=runtimeClasspath @@ -97,7 +99,7 @@ net.java.dev.jna:jna-platform:5.6.0=runtimeClasspath net.java.dev.jna:jna:5.6.0=runtimeClasspath net.sf.jopt-simple:jopt-simple:4.9=runtimeClasspath net.sf.kxml:kxml2:2.3.0=runtimeClasspath -org.apache.commons:commons-compress:1.20=runtimeClasspath +org.apache.commons:commons-compress:1.21=runtimeClasspath org.apache.httpcomponents:httpclient:4.5.13=runtimeClasspath org.apache.httpcomponents:httpcore:4.4.15=runtimeClasspath org.apache.httpcomponents:httpmime:4.5.6=runtimeClasspath @@ -130,7 +132,7 @@ org.jetbrains.kotlin:kotlin-klib-commonizer-api:1.9.10=runtimeClasspath org.jetbrains.kotlin:kotlin-native-utils:1.9.10=compileClasspath,runtimeClasspath org.jetbrains.kotlin:kotlin-project-model:1.9.10=compileClasspath,runtimeClasspath org.jetbrains.kotlin:kotlin-reflect:1.6.10=kotlinCompilerClasspath -org.jetbrains.kotlin:kotlin-reflect:1.7.10=runtimeClasspath +org.jetbrains.kotlin:kotlin-reflect:1.8.20-RC2=runtimeClasspath org.jetbrains.kotlin:kotlin-reflect:1.9.0=compileClasspath org.jetbrains.kotlin:kotlin-sam-with-receiver-compiler-plugin-embeddable:1.9.0=kotlinCompilerPluginClasspathMain org.jetbrains.kotlin:kotlin-script-runtime:1.9.0=kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain @@ -142,13 +144,13 @@ org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.9.0=kotlinCompi org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.9.10=runtimeClasspath org.jetbrains.kotlin:kotlin-scripting-jvm:1.9.0=kotlinCompilerPluginClasspathMain org.jetbrains.kotlin:kotlin-scripting-jvm:1.9.10=runtimeClasspath -org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10=runtimeClasspath +org.jetbrains.kotlin:kotlin-stdlib-common:1.8.20-RC2=runtimeClasspath org.jetbrains.kotlin:kotlin-stdlib-common:1.9.0=compileClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain -org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.10=runtimeClasspath +org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.20-RC2=runtimeClasspath org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.0=compileClasspath -org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10=runtimeClasspath +org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.20-RC2=runtimeClasspath org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.0=compileClasspath -org.jetbrains.kotlin:kotlin-stdlib:1.7.10=runtimeClasspath +org.jetbrains.kotlin:kotlin-stdlib:1.8.20-RC2=runtimeClasspath org.jetbrains.kotlin:kotlin-stdlib:1.9.0=compileClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain org.jetbrains.kotlin:kotlin-tooling-core:1.9.10=compileClasspath,runtimeClasspath org.jetbrains.kotlin:kotlin-util-io:1.9.10=compileClasspath,runtimeClasspath diff --git a/build-conventions/src/main/kotlin/zcash-sdk.android-conventions.gradle.kts b/build-conventions/src/main/kotlin/zcash-sdk.android-conventions.gradle.kts index fc1b5172..391757a8 100644 --- a/build-conventions/src/main/kotlin/zcash-sdk.android-conventions.gradle.kts +++ b/build-conventions/src/main/kotlin/zcash-sdk.android-conventions.gradle.kts @@ -176,7 +176,7 @@ fun com.android.build.gradle.BaseExtension.configureBaseExtension() { ) } - if (this is CommonExtension<*, *, *, *>) { + if (this is CommonExtension<*, *, *, *, *>) { kotlinOptions { jvmTarget = project.property("ANDROID_JVM_TARGET").toString() allWarningsAsErrors = project.property("ZCASH_IS_TREAT_WARNINGS_AS_ERRORS").toString().toBoolean() @@ -185,6 +185,6 @@ fun com.android.build.gradle.BaseExtension.configureBaseExtension() { } } -fun CommonExtension<*, *, *, *>.kotlinOptions(block: KotlinJvmOptions.() -> Unit) { +fun CommonExtension<*, *, *, *, *>.kotlinOptions(block: KotlinJvmOptions.() -> Unit) { (this as ExtensionAware).extensions.configure("kotlinOptions", block) } diff --git a/demo-app/src/main/java/cash/z/ecc/android/sdk/demoapp/demos/getbalance/GetBalanceFragment.kt b/demo-app/src/main/java/cash/z/ecc/android/sdk/demoapp/demos/getbalance/GetBalanceFragment.kt index 66fedc13..cc6e6129 100644 --- a/demo-app/src/main/java/cash/z/ecc/android/sdk/demoapp/demos/getbalance/GetBalanceFragment.kt +++ b/demo-app/src/main/java/cash/z/ecc/android/sdk/demoapp/demos/getbalance/GetBalanceFragment.kt @@ -2,7 +2,6 @@ package cash.z.ecc.android.sdk.demoapp.demos.getbalance import android.os.Bundle import android.view.LayoutInflater -import android.view.Menu import android.view.View import androidx.lifecycle.Lifecycle import androidx.lifecycle.lifecycleScope @@ -12,7 +11,6 @@ import cash.z.ecc.android.bip39.toSeed import cash.z.ecc.android.sdk.Synchronizer import cash.z.ecc.android.sdk.block.CompactBlockProcessor import cash.z.ecc.android.sdk.demoapp.BaseDemoFragment -import cash.z.ecc.android.sdk.demoapp.R import cash.z.ecc.android.sdk.demoapp.databinding.FragmentGetBalanceBinding import cash.z.ecc.android.sdk.demoapp.ext.requireApplicationContext import cash.z.ecc.android.sdk.demoapp.util.SyncBlockchainBenchmarkTrace @@ -44,13 +42,6 @@ class GetBalanceFragment : BaseDemoFragment() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) reportTraceEvent(SyncBlockchainBenchmarkTrace.Event.BALANCE_SCREEN_START) - setHasOptionsMenu(true) - } - - override fun onPrepareOptionsMenu(menu: Menu) { - super.onPrepareOptionsMenu(menu) - // We rather hide options menu actions while actively using the Synchronizer - menu.setGroupVisible(R.id.main_menu_group, false) } override fun onDestroy() { diff --git a/demo-app/src/main/java/cash/z/ecc/android/sdk/demoapp/demos/listtransactions/ListTransactionsFragment.kt b/demo-app/src/main/java/cash/z/ecc/android/sdk/demoapp/demos/listtransactions/ListTransactionsFragment.kt index a00832af..9f607fce 100644 --- a/demo-app/src/main/java/cash/z/ecc/android/sdk/demoapp/demos/listtransactions/ListTransactionsFragment.kt +++ b/demo-app/src/main/java/cash/z/ecc/android/sdk/demoapp/demos/listtransactions/ListTransactionsFragment.kt @@ -2,7 +2,6 @@ package cash.z.ecc.android.sdk.demoapp.demos.listtransactions import android.os.Bundle import android.view.LayoutInflater -import android.view.Menu import android.view.View import androidx.lifecycle.Lifecycle import androidx.lifecycle.lifecycleScope @@ -11,7 +10,6 @@ import androidx.recyclerview.widget.LinearLayoutManager import cash.z.ecc.android.sdk.Synchronizer import cash.z.ecc.android.sdk.block.CompactBlockProcessor import cash.z.ecc.android.sdk.demoapp.BaseDemoFragment -import cash.z.ecc.android.sdk.demoapp.R import cash.z.ecc.android.sdk.demoapp.databinding.FragmentListTransactionsBinding import cash.z.ecc.android.sdk.internal.Twig import cash.z.ecc.android.sdk.model.PercentDecimal @@ -122,7 +120,6 @@ class ListTransactionsFragment : BaseDemoFragment() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - setHasOptionsMenu(true) } override fun onCreateView( @@ -211,12 +208,6 @@ class SendFragment : BaseDemoFragment() { monitorChanges() } - override fun onPrepareOptionsMenu(menu: Menu) { - super.onPrepareOptionsMenu(menu) - // We rather hide options menu actions while actively using the Synchronizer - menu.setGroupVisible(R.id.main_menu_group, false) - } - // // BaseDemoFragment overrides // diff --git a/gradle.properties b/gradle.properties index 849eb018..51c1a18e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -76,16 +76,16 @@ IS_DEBUGGABLE_WHILE_BENCHMARKING=false # Versions ANDROID_MIN_SDK_VERSION=27 ANDROID_TARGET_SDK_VERSION=33 -ANDROID_COMPILE_SDK_VERSION=33 +ANDROID_COMPILE_SDK_VERSION=34 # TODO[#317]: Update NDK to 24.0.7856742 # TODO[#317]: https://github.com/zcash/zcash-android-wallet-sdk/issues/317 # When changing this, be sure to update .github/actions/setup/action.yml ANDROID_NDK_VERSION=22.1.7171670 -ANDROID_GRADLE_PLUGIN_VERSION=8.0.2 +ANDROID_GRADLE_PLUGIN_VERSION=8.1.1 DETEKT_VERSION=1.23.0 -DETEKT_COMPOSE_RULES_VERSION=0.1.10 +DETEKT_COMPOSE_RULES_VERSION=0.2.1 DOKKA_VERSION=1.8.20 EMULATOR_WTF_GRADLE_PLUGIN_VERSION=0.12.2 FLANK_VERSION=23.04.0 @@ -102,17 +102,17 @@ ANDROIDX_ACTIVITY_VERSION=1.7.2 ANDROIDX_ANNOTATION_VERSION=1.6.0 ANDROIDX_APPCOMPAT_VERSION=1.6.1 ANDROIDX_COMPOSE_COMPILER_VERSION=1.5.3 -ANDROIDX_COMPOSE_MATERIAL3_VERSION=1.1.0 -ANDROIDX_COMPOSE_VERSION=1.4.3 -ANDROIDX_COMPOSE_MATERIAL_ICONS_VERSION=1.4.3 +ANDROIDX_COMPOSE_MATERIAL3_VERSION=1.1.1 +ANDROIDX_COMPOSE_VERSION=1.5.0 +ANDROIDX_COMPOSE_MATERIAL_ICONS_VERSION=1.5.0 ANDROIDX_CONSTRAINT_LAYOUT_VERSION=2.1.4 ANDROIDX_CORE_VERSION=1.9.0 ANDROIDX_DATABASE_VERSION=2.3.1 ANDROIDX_ESPRESSO_VERSION=3.5.1 ANDROIDX_LIFECYCLE_VERSION=2.6.1 ANDROIDX_MULTIDEX_VERSION=2.0.1 -ANDROIDX_NAVIGATION_VERSION=2.5.3 -ANDROIDX_NAVIGATION_COMPOSE_VERSION=2.5.3 +ANDROIDX_NAVIGATION_VERSION=2.7.1 +ANDROIDX_NAVIGATION_COMPOSE_VERSION=2.7.1 ANDROIDX_NAVIGATION_FRAGMENT_VERSION=2.4.2 ANDROIDX_PROFILE_INSTALLER_VERSION=1.3.1 ANDROIDX_ROOM_VERSION=2.5.1