# Speed up builds. Keep these flags here for quick debugging of issues. org.gradle.caching=true org.gradle.configureondemand=false # We use increased amount of heap size here to bypass the OOM exception while building the project with ./gradlew # build as described in https://github.com/Electric-Coin-Company/kotlin-bip39/issues/201 org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=2g org.gradle.parallel=true org.gradle.vfs.watch=true kotlin.mpp.stability.nowarn=true android.builder.sdkDownload=true android.nonTransitiveRClass=true android.useAndroidX=true # Enable Kotlin metadata version check for script compilation org.gradle.kotlin.dsl.skipMetadataVersionCheck=false # Kotlin compiler warnings can be considered errors, failing the build. ZCASH_IS_TREAT_WARNINGS_AS_ERRORS=true # Optionally configure coverage for Kotlin modules (e.g. with Kover) IS_KOTLIN_TEST_COVERAGE_ENABLED=true # Optionally configure Android instumentation test coverage. # The app module will crash at launch when coverage is enabled, so coverage is only enabled explicitly for tests. # generation of instrumentation coverage is flaky, particularly when running ui-lib:connectedCheck # TODO: [#705] Instrumentation coverage generation fails when run locally # TODO: [#705] https://github.com/Electric-Coin-Company/zashi-android/issues/705 IS_ANDROID_INSTRUMENTATION_TEST_COVERAGE_ENABLED=false # Optionally configure test orchestrator. # It is disabled by default, because it causes tests to take about 2x longer to run. IS_USE_TEST_ORCHESTRATOR=false # Optionally enable crashes for strict mode violations in debug builds. # It is disabled by default, because it can be annoying when debugging. Gets turned on by CI jobs that need it. IS_CRASH_ON_STRICT_MODE_VIOLATION=false IS_ENABLE_COMPOSE_COMPILER_METRICS=true IS_ENABLE_COMPOSE_COMPILER_REPORTS=true # Either provide a path to a Firebase Test Lab service key (best for CI) # OR # login with `./gradlew flankAuth` and provide the project name (best for local development) ZCASH_FIREBASE_TEST_LAB_API_KEY_PATH= ZCASH_FIREBASE_TEST_LAB_PROJECT= # Optionally disable minification IS_MINIFY_ENABLED=true # Optionally change the NDK debug symbols generation level # Supported values are: # - none (default, no native debug metadata will be packaged) # - symbol_table (only the symbol tables will be packaged) # - full (the debug info and symbol tables will be packaged) # The result will be placed in app/build/outputs/native-debug-symbols/variant-name/native-debug-symbols.zip NDK_DEBUG_SYMBOL_LEVEL=symbol_table # If ZCASH_GOOGLE_PLAY_SERVICE_KEY_FILE_PATH is set and the deployment task is triggered, then # VERSION_CODE is effectively ignored. VERSION_NAME is suffixed with the version code. # If not using automated Google Play deployment, then these serve as the actual version numbers. ZCASH_VERSION_CODE=1 ZCASH_VERSION_NAME=2.0.3 # Set these fields, as you need them (e.g. with values "Zcash X" and "co.electriccoin.zcash.x") # to distinguish a different release build that can be installed alongside the official version # available on Google Play. This is useful for testing, or for a forked version of the app. ZCASH_RELEASE_APP_NAME=Zashi ZCASH_RELEASE_PACKAGE_NAME=co.electriccoin.zcash ZCASH_DEBUG_APP_NAME_SUFFIX="Debug" ZCASH_FOSS_APP_NAME_SUFFIX="Foss" # Recommended protection of screens with sensitive data. # It is enabled by default to protect the developers from revealing their wallet secrets by mistake. IS_SECURE_SCREEN_PROTECTION_ACTIVE=true # Set whether the screen rotation is enabled or the screen orientation is locked in the portrait mode. IS_SCREEN_ROTATION_ENABLED=false # Set the Coinbase app project ID to test the Coinbase Onramp integrations locally. Keep it empty as our CI actions # set it up. ZCASH_COINBASE_APP_ID= # Set the flexa publishable key to setup local integration. Replaced by CI action. ZCASH_FLEXA_KEY= # Set keystore details to enable build signing. Typically these # are overridden via ~/.gradle/gradle.properties to allow secure injection. # Debug keystore is useful if using Google Maps or Firebase, which require API keys to be linked # to a signing key. Without a debug keystore, the default Android debug keystore will be used. # Without a release signing configuration, the release output will not be signed. ZCASH_DEBUG_KEYSTORE_PATH= ZCASH_RELEASE_KEYSTORE_PATH= ZCASH_RELEASE_KEYSTORE_PASSWORD= ZCASH_RELEASE_KEY_ALIAS= ZCASH_RELEASE_KEY_ALIAS_PASSWORD= # Switch this property to true only if you need to sign the release build with a debug key. It can # be useful, for example, for running benchmark tests against a release build of the app signed with # the default debug key configuration. IS_SIGN_RELEASE_BUILD_WITH_DEBUG_KEY=false # Switch this property to true only if you need the release build to be debuggable. It can be helpful, for example, # for logging or debugging minified release app build. IS_RELEASE_BUILD_DEBUGGABLE=false # Set the Google Play Service Account email address to enable deployment # Note that this property is not currently used due to #1033 # TODO [#1033]: Use token-based authorization on Google Play for automated deployment # TODO [#1033]: https://github.com/Electric-Coin-Company/zashi-android/issues/1033 ZCASH_GOOGLE_PLAY_SERVICE_ACCOUNT= # Also, set the Google Play Service Key path to enable deployment. It's a path to the private key file (only used for # Service Account auth). # Note that this property is not currently used due to #1033 # TODO [#1033]: Use token-based authorization on Google Play for automated deployment # TODO [#1033]: https://github.com/Electric-Coin-Company/zashi-android/issues/1033 ZCASH_GOOGLE_PLAY_SERVICE_KEY_FILE_PATH= # Set the Google Play Service Account key to authorize on Google Play ZCASH_GOOGLE_PLAY_SERVICE_ACCOUNT_KEY= # Set the Google Play Publisher API key to authorize the publisher on Google Play API ZCASH_GOOGLE_PLAY_PUBLISHER_API_KEY= # Can be one of {internal, alpha}. There are more of them {beta, production}, which are not supported for security # reasons. Internal will deploy into the Internal and Alpha into the Closed testing tracks on Google Play. ZCASH_GOOGLE_PLAY_DEPLOY_TRACK=internal # Can be one of {draft, completed}. # Draft can be used to generate a version number for the next release, but does not ultimately create a release on # Google Play. Completed commits the build on Google Play, creating a new release. ZCASH_GOOGLE_PLAY_DEPLOY_STATUS=draft ZCASH_EMULATOR_WTF_API_KEY= # Optional absolute path to a Zcash SDK checkout. # When blank, it pulls the SDK from Maven. # When set, it uses the path for a Gradle included build. Path can either be absolute or relative to the root of this app's Gradle project. SDK_INCLUDED_BUILD_PATH= # When blank, it pulls the BIP-39 library from Maven. # When set, it uses the path for a Gradle included build. Path can either be absolute or relative to the root of this app's Gradle project. BIP_39_INCLUDED_BUILD_PATH= # Versions ANDROID_MIN_SDK_VERSION=27 ANDROID_TARGET_SDK_VERSION=35 ANDROID_COMPILE_SDK_VERSION=35 ANDROID_NDK_VERSION=27.0.12077973 ANDROID_GRADLE_PLUGIN_VERSION=8.9.0 DETEKT_VERSION=1.23.8 DETEKT_COMPOSE_RULES_VERSION=0.4.22 EMULATOR_WTF_GRADLE_PLUGIN_VERSION=0.18.1 FIREBASE_CRASHLYTICS_BUILD_TOOLS_VERSION=3.0.3 FLANK_VERSION=23.10.1 FULLADLE_VERSION=0.17.5 GOOGLE_PLAY_SERVICES_GRADLE_PLUGIN_VERSION=4.4.2 GRADLE_VERSIONS_PLUGIN_VERSION=0.52.0 JGIT_VERSION=7.1.0.202411261347-r KTLINT_VERSION=1.5.0 KOIN_VERSION=4.0.2 ACCOMPANIST_PERMISSIONS_VERSION=0.37.2 ANDROIDX_ACTIVITY_VERSION=1.10.1 ANDROIDX_ANNOTATION_VERSION=1.9.1 ANDROIDX_BIOMETRIC_VERSION=1.4.0-alpha02 ANDROIDX_CAMERA_VERSION=1.4.1 ANDROIDX_COMPOSE_COMPILER_VERSION=1.5.15 ANDROIDX_COMPOSE_MATERIAL3_VERSION=1.3.1 ANDROIDX_COMPOSE_MATERIAL_ICONS_VERSION=1.7.8 ANDROIDX_COMPOSE_VERSION=1.7.8 ANDROIDX_CONSTRAINTLAYOUT_VERSION=1.1.1 ANDROIDX_CORE_VERSION=1.15.0 ANDROIDX_ESPRESSO_VERSION=3.6.1 ANDROIDX_LIFECYCLE_VERSION=2.8.7 ANDROIDX_FRAGMENT_VERSION=1.8.6 # WARNING: Higher version of this dependency causes crash in Flexa Login screen ANDROIDX_NAVIGATION_COMPOSE_VERSION=2.8.4 ANDROIDX_PROFILE_INSTALLER_VERSION=1.4.1 ANDROIDX_SECURITY_CRYPTO_VERSION=1.1.0-alpha06 ANDROIDX_SPLASH_SCREEN_VERSION=1.2.0-beta01 ANDROIDX_TEST_JUNIT_VERSION=1.2.1 ANDROIDX_TEST_ORCHESTRATOR_VERSION=1.5.1 ANDROIDX_TEST_CORE_VERSION=1.6.1 ANDROIDX_TEST_MACROBENCHMARK_VERSION=1.3.3 ANDROIDX_TEST_RUNNER_VERSION=1.6.2 ANDROIDX_STARTUP_VERSION=1.2.0 ANDROIDX_TEST_SERVICE_VERSION=1.5.0 ANDROIDX_UI_AUTOMATOR_VERSION=2.4.0-alpha01 ANDROIDX_WORK_MANAGER_VERSION=2.10.0 ANDROIDX_BROWSER_VERSION=1.8.0 CORE_LIBRARY_DESUGARING_VERSION=2.1.5 FIREBASE_BOM_VERSION_MATCHER=33.10.0 FLEXA_VERSION=1.0.12 ## Warn: The latest version 1.33.1 suffers with: Unable to load class 'io.grpc.InternalGlobalInterceptors' GOOGLE_AUTH_LIB_JAVA_VERSION=1.24.1 JACOCO_VERSION=0.8.12 KEYSTONE_VERSION=0.7.10 KOTLIN_VERSION=2.1.10 KOTLINX_COROUTINES_VERSION=1.10.1 KOTLINX_DATETIME_VERSION=0.6.2 KOTLINX_IMMUTABLE_COLLECTIONS_VERSION=0.3.8 KOTLINX_SERIALIZABLE_JSON_VERSION=1.8.0 KOVER_VERSION=0.9.1 LOTTIE_VERSION=6.6.3 MARKDOWN_VERSION=0.7.3 MLKIT_SCANNING_VERSION=17.3.0 PLAY_PUBLISHER_API_VERSION=v3-rev20250227-2.0.0 SHIMMER_VERSION=1.3.2 TINK_VERSION=1.16.0 ZCASH_ANDROID_WALLET_PLUGINS_VERSION=1.0.0 ZXING_VERSION=3.5.3 ZIP_321_VERSION = 0.0.6 # WARNING: Ensure a non-snapshot version is used before releasing to production ZCASH_BIP39_VERSION=1.0.9 # WARNING: Ensure a non-snapshot version is used before releasing to production ZCASH_SDK_VERSION=2.2.13-SNAPSHOT # Toolchain is the Java version used to build the application, which is separate from the # Java version used to run the application. JVM_TOOLCHAIN=17 # This shouldn't be changed, as Android doesn't support targets beyond Java 8 KOTLIN_JVM_TARGET=8 ANDROID_JVM_TARGET=1.8