pull/595/head
Carter Jernigan 6 months ago committed by Carter Jernigan
parent 1b75ab4fd6
commit 45d90b7706
  1. 2
      app/build.gradle.kts
  2. 2
      app/src/androidTest/AndroidManifest.xml
  3. 3
      app/src/main/AndroidManifest.xml
  4. 145
      build-conventions-secant/gradle.lockfile
  5. 45
      build-conventions-secant/src/main/kotlin/secant.android-build-conventions.gradle.kts
  6. 145
      buildscript-gradle.lockfile
  7. 3
      crash-android-lib/build.gradle.kts
  8. 3
      crash-android-lib/src/androidTest/AndroidManifest.xml
  9. 3
      crash-android-lib/src/main/AndroidManifest.xml
  10. 2
      docs/Setup.md
  11. 2
      gradle.properties
  12. 2
      preference-impl-android-lib/build.gradle.kts
  13. 3
      preference-impl-android-lib/src/androidTest/AndroidManifest.xml
  14. 3
      preference-impl-android-lib/src/main/AndroidManifest.xml
  15. 1
      sdk-ext-lib/build.gradle.kts
  16. 3
      sdk-ext-lib/src/androidTest/AndroidManifest.xml
  17. 2
      sdk-ext-lib/src/main/AndroidManifest.xml
  18. 2
      sdk-ext-ui-lib/build.gradle.kts
  19. 3
      sdk-ext-ui-lib/src/androidTest/AndroidManifest.xml
  20. 2
      sdk-ext-ui-lib/src/main/AndroidManifest.xml
  21. 2
      spackle-android-lib/build.gradle.kts
  22. 3
      spackle-android-lib/src/androidTest/AndroidManifest.xml
  23. 3
      spackle-android-lib/src/main/AndroidManifest.xml
  24. 1
      test-lib/build.gradle.kts
  25. 3
      test-lib/src/main/AndroidManifest.xml
  26. 2
      ui-design-lib/build.gradle.kts
  27. 3
      ui-design-lib/src/androidTest/AndroidManifest.xml
  28. 3
      ui-design-lib/src/main/AndroidManifest.xml
  29. 2
      ui-integration-test-lib/build.gradle.kts
  30. 3
      ui-integration-test-lib/src/androidTest/AndroidManifest.xml
  31. 2
      ui-integration-test-lib/src/main/AndroidManifest.xml
  32. 2
      ui-lib/build.gradle.kts
  33. 3
      ui-lib/src/androidTest/AndroidManifest.xml
  34. 3
      ui-lib/src/main/AndroidManifest.xml

@ -16,6 +16,8 @@ val isOrchestratorEnabled = true
val testnetNetworkName = "Testnet"
android {
namespace = "co.electriccoin.zcash.app"
defaultConfig {
applicationId = packageName

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest package="co.electriccoin.zcash.app.test">
<manifest>
</manifest>

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="co.electriccoin.zcash.app">
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application
android:name="co.electriccoin.zcash.app.ZcashApplication"

@ -1,69 +1,62 @@
# 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:7.2.2=runtimeClasspath
androidx.databinding:databinding-compiler-common:7.2.2=runtimeClasspath
com.android.databinding:baseLibrary:7.2.2=runtimeClasspath
com.android.tools.analytics-library:crash:30.2.2=runtimeClasspath
com.android.tools.analytics-library:protos:30.2.2=runtimeClasspath
com.android.tools.analytics-library:shared:30.2.2=runtimeClasspath
com.android.tools.analytics-library:tracker:30.2.2=runtimeClasspath
com.android.tools.build.jetifier:jetifier-core:1.0.0-beta09=runtimeClasspath
com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta09=runtimeClasspath
com.android.tools.build:aapt2-proto:7.2.2-7984345=runtimeClasspath
com.android.tools.build:aaptcompiler:7.2.2=runtimeClasspath
com.android.tools.build:apksig:7.2.2=compileClasspath,runtimeClasspath
com.android.tools.build:apkzlib:7.2.2=compileClasspath,runtimeClasspath
com.android.tools.build:builder-model:7.2.2=compileClasspath,runtimeClasspath
com.android.tools.build:builder-test-api:7.2.2=runtimeClasspath
com.android.tools.build:builder:7.2.2=compileClasspath,runtimeClasspath
com.android.tools.build:bundletool:1.8.2=runtimeClasspath
com.android.tools.build:gradle-api:7.2.2=compileClasspath,runtimeClasspath
com.android.tools.build:gradle:7.2.2=compileClasspath,runtimeClasspath
com.android.tools.build:manifest-merger:30.2.2=compileClasspath,runtimeClasspath
androidx.databinding:databinding-common:7.3.0=runtimeClasspath
androidx.databinding:databinding-compiler-common:7.3.0=runtimeClasspath
com.android.databinding:baseLibrary:7.3.0=runtimeClasspath
com.android.tools.analytics-library:crash:30.3.0=runtimeClasspath
com.android.tools.analytics-library:protos:30.3.0=runtimeClasspath
com.android.tools.analytics-library:shared:30.3.0=runtimeClasspath
com.android.tools.analytics-library:tracker:30.3.0=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:7.3.0-8691043=runtimeClasspath
com.android.tools.build:aaptcompiler:7.3.0=runtimeClasspath
com.android.tools.build:apksig:7.3.0=compileClasspath,runtimeClasspath
com.android.tools.build:apkzlib:7.3.0=compileClasspath,runtimeClasspath
com.android.tools.build:builder-model:7.3.0=compileClasspath,runtimeClasspath
com.android.tools.build:builder-test-api:7.3.0=runtimeClasspath
com.android.tools.build:builder:7.3.0=compileClasspath,runtimeClasspath
com.android.tools.build:bundletool:1.9.0=runtimeClasspath
com.android.tools.build:gradle-api:7.3.0=compileClasspath,runtimeClasspath
com.android.tools.build:gradle:7.3.0=compileClasspath,runtimeClasspath
com.android.tools.build:manifest-merger:30.3.0=compileClasspath,runtimeClasspath
com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=runtimeClasspath
com.android.tools.ddms:ddmlib:30.2.2=runtimeClasspath
com.android.tools.layoutlib:layoutlib-api:30.2.2=runtimeClasspath
com.android.tools.lint:lint-model:30.2.2=runtimeClasspath
com.android.tools.lint:lint-typedef-remover:30.2.2=runtimeClasspath
com.android.tools.utp:android-device-provider-ddmlib-proto:30.2.2=runtimeClasspath
com.android.tools.utp:android-device-provider-gradle-proto:30.2.2=runtimeClasspath
com.android.tools.utp:android-test-plugin-host-additional-test-output-proto:30.2.2=runtimeClasspath
com.android.tools.utp:android-test-plugin-host-coverage-proto:30.2.2=runtimeClasspath
com.android.tools.utp:android-test-plugin-host-retention-proto:30.2.2=runtimeClasspath
com.android.tools.utp:android-test-plugin-result-listener-gradle-proto:30.2.2=runtimeClasspath
com.android.tools:annotations:30.2.2=runtimeClasspath
com.android.tools:common:30.2.2=runtimeClasspath
com.android.tools:dvlib:30.2.2=runtimeClasspath
com.android.tools:repository:30.2.2=runtimeClasspath
com.android.tools:sdk-common:30.2.2=runtimeClasspath
com.android.tools:sdklib:30.2.2=runtimeClasspath
com.android:signflinger:7.2.2=runtimeClasspath
com.android:zipflinger:7.2.2=compileClasspath,runtimeClasspath
com.fasterxml.jackson.core:jackson-annotations:2.11.1=runtimeClasspath
com.fasterxml.jackson.core:jackson-core:2.11.1=runtimeClasspath
com.fasterxml.jackson.core:jackson-databind:2.11.1=runtimeClasspath
com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.11.1=runtimeClasspath
com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.11.1=runtimeClasspath
com.fasterxml.jackson.module:jackson-module-kotlin:2.11.1=runtimeClasspath
com.fasterxml.woodstox:woodstox-core:6.2.1=runtimeClasspath
com.android.tools.ddms:ddmlib:30.3.0=runtimeClasspath
com.android.tools.layoutlib:layoutlib-api:30.3.0=runtimeClasspath
com.android.tools.lint:lint-model:30.3.0=runtimeClasspath
com.android.tools.lint:lint-typedef-remover:30.3.0=runtimeClasspath
com.android.tools.utp:android-device-provider-ddmlib-proto:30.3.0=runtimeClasspath
com.android.tools.utp:android-device-provider-gradle-proto:30.3.0=runtimeClasspath
com.android.tools.utp:android-test-plugin-host-additional-test-output-proto:30.3.0=runtimeClasspath
com.android.tools.utp:android-test-plugin-host-coverage-proto:30.3.0=runtimeClasspath
com.android.tools.utp:android-test-plugin-host-retention-proto:30.3.0=runtimeClasspath
com.android.tools.utp:android-test-plugin-result-listener-gradle-proto:30.3.0=runtimeClasspath
com.android.tools:annotations:30.3.0=runtimeClasspath
com.android.tools:common:30.3.0=runtimeClasspath
com.android.tools:dvlib:30.3.0=runtimeClasspath
com.android.tools:repository:30.3.0=runtimeClasspath
com.android.tools:sdk-common:30.3.0=runtimeClasspath
com.android.tools:sdklib:30.3.0=runtimeClasspath
com.android:signflinger:7.3.0=runtimeClasspath
com.android:zipflinger:7.3.0=compileClasspath,runtimeClasspath
com.github.gundy:semver4j:0.16.4=runtimeClasspath
com.google.android:annotations:4.1.1.4=runtimeClasspath
com.google.api.grpc:proto-google-common-protos:1.12.0=runtimeClasspath
com.google.api.grpc:proto-google-common-protos:2.0.1=runtimeClasspath
com.google.auto.value:auto-value-annotations:1.6.2=runtimeClasspath
com.google.code.findbugs:jsr305:3.0.2=runtimeClasspath
com.google.code.gson:gson:2.8.9=runtimeClasspath
com.google.crypto.tink:tink:1.3.0-rc2=runtimeClasspath
com.google.dagger:dagger:2.28.3=runtimeClasspath
com.google.errorprone:error_prone_annotations:2.3.4=runtimeClasspath
com.google.errorprone:error_prone_annotations:2.4.0=runtimeClasspath
com.google.flatbuffers:flatbuffers-java:1.12.0=runtimeClasspath
com.google.guava:failureaccess:1.0.1=runtimeClasspath
com.google.guava:guava:30.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
com.google.protobuf:protobuf-java-util:3.10.0=runtimeClasspath
com.google.protobuf:protobuf-java:3.10.0=runtimeClasspath
com.google.protobuf:protobuf-java-util:3.17.2=runtimeClasspath
com.google.protobuf:protobuf-java:3.17.2=runtimeClasspath
com.google.testing.platform:core-proto:0.0.8-alpha07=runtimeClasspath
com.googlecode.json-simple:json-simple:1.1=runtimeClasspath
com.googlecode.juniversalchardet:juniversalchardet:1.0.3=runtimeClasspath
@ -77,47 +70,45 @@ commons-codec:commons-codec:1.11=runtimeClasspath
commons-io:commons-io:2.4=runtimeClasspath
commons-logging:commons-logging:1.2=runtimeClasspath
de.undercouch:gradle-download-task:4.1.1=runtimeClasspath
io.grpc:grpc-api:1.21.1=runtimeClasspath
io.grpc:grpc-context:1.21.1=runtimeClasspath
io.grpc:grpc-core:1.21.1=runtimeClasspath
io.grpc:grpc-netty:1.21.1=runtimeClasspath
io.grpc:grpc-protobuf-lite:1.21.1=runtimeClasspath
io.grpc:grpc-protobuf:1.21.1=runtimeClasspath
io.grpc:grpc-stub:1.21.1=runtimeClasspath
io.netty:netty-buffer:4.1.34.Final=runtimeClasspath
io.netty:netty-codec-http2:4.1.34.Final=runtimeClasspath
io.netty:netty-codec-http:4.1.34.Final=runtimeClasspath
io.netty:netty-codec-socks:4.1.34.Final=runtimeClasspath
io.netty:netty-codec:4.1.34.Final=runtimeClasspath
io.netty:netty-common:4.1.34.Final=runtimeClasspath
io.netty:netty-handler-proxy:4.1.34.Final=runtimeClasspath
io.netty:netty-handler:4.1.34.Final=runtimeClasspath
io.netty:netty-resolver:4.1.34.Final=runtimeClasspath
io.netty:netty-transport:4.1.34.Final=runtimeClasspath
io.opencensus:opencensus-api:0.21.0=runtimeClasspath
io.opencensus:opencensus-contrib-grpc-metrics:0.21.0=runtimeClasspath
io.grpc:grpc-api:1.39.0=runtimeClasspath
io.grpc:grpc-context:1.39.0=runtimeClasspath
io.grpc:grpc-core:1.39.0=runtimeClasspath
io.grpc:grpc-netty:1.39.0=runtimeClasspath
io.grpc:grpc-protobuf-lite:1.39.0=runtimeClasspath
io.grpc:grpc-protobuf:1.39.0=runtimeClasspath
io.grpc:grpc-stub:1.39.0=runtimeClasspath
io.netty:netty-buffer:4.1.52.Final=runtimeClasspath
io.netty:netty-codec-http2:4.1.52.Final=runtimeClasspath
io.netty:netty-codec-http:4.1.52.Final=runtimeClasspath
io.netty:netty-codec-socks:4.1.52.Final=runtimeClasspath
io.netty:netty-codec:4.1.52.Final=runtimeClasspath
io.netty:netty-common:4.1.52.Final=runtimeClasspath
io.netty:netty-handler-proxy:4.1.52.Final=runtimeClasspath
io.netty:netty-handler:4.1.52.Final=runtimeClasspath
io.netty:netty-resolver:4.1.52.Final=runtimeClasspath
io.netty:netty-transport:4.1.52.Final=runtimeClasspath
io.perfmark:perfmark-api:0.23.0=runtimeClasspath
it.unimi.dsi:fastutil:8.4.0=runtimeClasspath
jakarta.activation:jakarta.activation-api:1.2.1=runtimeClasspath
jakarta.xml.bind:jakarta.xml.bind-api:2.3.2=runtimeClasspath
javax.annotation:javax.annotation-api:1.3.2=runtimeClasspath
javax.inject:javax.inject:1=runtimeClasspath
net.java.dev.jna:jna-platform:5.6.0=runtimeClasspath
net.java.dev.jna:jna:5.6.0=kotlinCompilerClasspath,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.httpcomponents:httpclient:4.5.9=runtimeClasspath
org.apache.httpcomponents:httpcore:4.4.11=runtimeClasspath
org.apache.httpcomponents:httpclient:4.5.13=runtimeClasspath
org.apache.httpcomponents:httpcore:4.4.13=runtimeClasspath
org.apache.httpcomponents:httpmime:4.5.6=runtimeClasspath
org.bitbucket.b_c:jose4j:0.7.0=runtimeClasspath
org.bouncycastle:bcpkix-jdk15on:1.56=runtimeClasspath
org.bouncycastle:bcprov-jdk15on:1.56=runtimeClasspath
org.bouncycastle:bcpkix-jdk15on:1.67=runtimeClasspath
org.bouncycastle:bcprov-jdk15on:1.67=runtimeClasspath
org.checkerframework:checker-qual:3.5.0=runtimeClasspath
org.codehaus.mojo:animal-sniffer-annotations:1.17=runtimeClasspath
org.codehaus.woodstox:stax2-api:4.2.1=runtimeClasspath
org.codehaus.mojo:animal-sniffer-annotations:1.19=runtimeClasspath
org.glassfish.jaxb:jaxb-runtime:2.3.2=runtimeClasspath
org.glassfish.jaxb:txw2:2.3.2=runtimeClasspath
org.jdom:jdom2:2.0.6=runtimeClasspath
org.jetbrains.dokka:dokka-core:1.4.32=runtimeClasspath
org.jetbrains.intellij.deps:trove4j:1.0.20200330=kotlinCompilerClasspath,runtimeClasspath
org.jetbrains.kotlin:kotlin-android-extensions:1.7.10=runtimeClasspath
org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.7.10=runtimeClasspath
@ -165,12 +156,8 @@ org.jetbrains.kotlin:kotlin-util-io:1.6.21=kotlinCompilerPluginClasspathMain
org.jetbrains.kotlin:kotlin-util-io:1.7.10=compileClasspath,runtimeClasspath
org.jetbrains.kotlin:kotlin-util-klib:1.7.10=runtimeClasspath
org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.5.0=runtimeClasspath
org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.1=runtimeClasspath
org.jetbrains:annotations:13.0=compileClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,runtimeClasspath
org.jetbrains:markdown-jvm:0.2.1=runtimeClasspath
org.jetbrains:markdown:0.2.1=runtimeClasspath
org.json:json:20180813=runtimeClasspath
org.jsoup:jsoup:1.13.1=runtimeClasspath
org.jvnet.staxex:stax-ex:1.8.1=runtimeClasspath
org.ow2.asm:asm-analysis:9.1=runtimeClasspath
org.ow2.asm:asm-commons:9.1=runtimeClasspath

@ -1,9 +1,10 @@
import com.android.build.api.dsl.CommonExtension
import com.android.build.api.dsl.ManagedVirtualDevice
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions
pluginManager.withPlugin("com.android.application") {
project.the<com.android.build.gradle.AppExtension>().apply {
configureBaseExtension()
configureBaseExtension(isLibrary = false)
defaultConfig {
minSdk = project.property("ANDROID_APP_MIN_SDK_VERSION").toString().toInt()
@ -26,7 +27,7 @@ pluginManager.withPlugin("com.android.application") {
pluginManager.withPlugin("com.android.library") {
project.the<com.android.build.gradle.LibraryExtension>().apply {
configureBaseExtension()
configureBaseExtension(isLibrary = true)
defaultConfig {
minSdk = project.property("ANDROID_LIB_MIN_SDK_VERSION").toString().toInt()
@ -51,7 +52,8 @@ pluginManager.withPlugin("com.android.library") {
}
}
fun com.android.build.gradle.BaseExtension.configureBaseExtension() {
@Suppress("LongMethod")
fun com.android.build.gradle.BaseExtension.configureBaseExtension(isLibrary: Boolean) {
compileSdkVersion(project.property("ANDROID_COMPILE_SDK_VERSION").toString().toInt())
ndkVersion = project.property("ANDROID_NDK_VERSION").toString()
@ -85,6 +87,41 @@ fun com.android.build.gradle.BaseExtension.configureBaseExtension() {
if (project.property("IS_USE_TEST_ORCHESTRATOR").toString().toBoolean()) {
execution = "ANDROIDX_TEST_ORCHESTRATOR"
}
@Suppress("UnstableApiUsage")
managedDevices {
@Suppress("MagicNumber", "PropertyName", "VariableNaming")
val MANAGED_DEVICES_MIN_SDK = 27
val testDeviceMinSdkVersion = run {
val buildMinSdk = if (isLibrary) {
project.properties["ANDROID_LIB_MIN_SDK_VERSION"].toString().toInt()
} else {
project.properties["ANDROID_APP_MIN_SDK_VERSION"].toString().toInt()
}
buildMinSdk.coerceAtLeast(MANAGED_DEVICES_MIN_SDK)
}
val testDeviceMaxSdkVersion = project.properties["ANDROID_TARGET_SDK_VERSION"].toString().toInt()
devices {
create<ManagedVirtualDevice>("pixel2Min") {
device = "Pixel 2"
apiLevel = testDeviceMinSdkVersion
systemImageSource = "google"
}
create<ManagedVirtualDevice>("pixel2Target") {
device = "Pixel 2"
apiLevel = testDeviceMaxSdkVersion
systemImageSource = "google"
}
}
groups {
create("defaultDevices") {
targetDevices.addAll(devices.toList())
}
}
}
}
packagingOptions {
@ -117,4 +154,4 @@ fun com.android.build.gradle.BaseExtension.configureBaseExtension() {
fun CommonExtension<*, *, *, *>.kotlinOptions(block: KotlinJvmOptions.() -> Unit) {
(this as ExtensionAware).extensions.configure("kotlinOptions", block)
}
}

@ -1,71 +1,64 @@
# 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:7.2.2=classpath
androidx.databinding:databinding-compiler-common:7.2.2=classpath
com.android.databinding:baseLibrary:7.2.2=classpath
com.android.tools.analytics-library:crash:30.2.2=classpath
com.android.tools.analytics-library:protos:30.2.2=classpath
com.android.tools.analytics-library:shared:30.2.2=classpath
com.android.tools.analytics-library:tracker:30.2.2=classpath
com.android.tools.build.jetifier:jetifier-core:1.0.0-beta09=classpath
com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta09=classpath
com.android.tools.build:aapt2-proto:7.2.2-7984345=classpath
com.android.tools.build:aaptcompiler:7.2.2=classpath
com.android.tools.build:apksig:7.2.2=classpath
com.android.tools.build:apkzlib:7.2.2=classpath
com.android.tools.build:builder-model:7.2.2=classpath
com.android.tools.build:builder-test-api:7.2.2=classpath
com.android.tools.build:builder:7.2.2=classpath
com.android.tools.build:bundletool:1.8.2=classpath
com.android.tools.build:gradle-api:7.2.2=classpath
com.android.tools.build:gradle:7.2.2=classpath
com.android.tools.build:manifest-merger:30.2.2=classpath
androidx.databinding:databinding-common:7.3.0=classpath
androidx.databinding:databinding-compiler-common:7.3.0=classpath
com.android.databinding:baseLibrary:7.3.0=classpath
com.android.tools.analytics-library:crash:30.3.0=classpath
com.android.tools.analytics-library:protos:30.3.0=classpath
com.android.tools.analytics-library:shared:30.3.0=classpath
com.android.tools.analytics-library:tracker:30.3.0=classpath
com.android.tools.build.jetifier:jetifier-core:1.0.0-beta10=classpath
com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta10=classpath
com.android.tools.build:aapt2-proto:7.3.0-8691043=classpath
com.android.tools.build:aaptcompiler:7.3.0=classpath
com.android.tools.build:apksig:7.3.0=classpath
com.android.tools.build:apkzlib:7.3.0=classpath
com.android.tools.build:builder-model:7.3.0=classpath
com.android.tools.build:builder-test-api:7.3.0=classpath
com.android.tools.build:builder:7.3.0=classpath
com.android.tools.build:bundletool:1.9.0=classpath
com.android.tools.build:gradle-api:7.3.0=classpath
com.android.tools.build:gradle:7.3.0=classpath
com.android.tools.build:manifest-merger:30.3.0=classpath
com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=classpath
com.android.tools.ddms:ddmlib:30.2.2=classpath
com.android.tools.layoutlib:layoutlib-api:30.2.2=classpath
com.android.tools.lint:lint-model:30.2.2=classpath
com.android.tools.lint:lint-typedef-remover:30.2.2=classpath
com.android.tools.utp:android-device-provider-ddmlib-proto:30.2.2=classpath
com.android.tools.utp:android-device-provider-gradle-proto:30.2.2=classpath
com.android.tools.utp:android-test-plugin-host-additional-test-output-proto:30.2.2=classpath
com.android.tools.utp:android-test-plugin-host-coverage-proto:30.2.2=classpath
com.android.tools.utp:android-test-plugin-host-retention-proto:30.2.2=classpath
com.android.tools.utp:android-test-plugin-result-listener-gradle-proto:30.2.2=classpath
com.android.tools:annotations:30.2.2=classpath
com.android.tools:common:30.2.2=classpath
com.android.tools:dvlib:30.2.2=classpath
com.android.tools:repository:30.2.2=classpath
com.android.tools:sdk-common:30.2.2=classpath
com.android.tools:sdklib:30.2.2=classpath
com.android:signflinger:7.2.2=classpath
com.android:zipflinger:7.2.2=classpath
com.fasterxml.jackson.core:jackson-annotations:2.11.1=classpath
com.fasterxml.jackson.core:jackson-core:2.11.1=classpath
com.fasterxml.jackson.core:jackson-databind:2.11.1=classpath
com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.11.1=classpath
com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.11.1=classpath
com.fasterxml.jackson.module:jackson-module-kotlin:2.11.1=classpath
com.fasterxml.woodstox:woodstox-core:6.2.1=classpath
com.android.tools.ddms:ddmlib:30.3.0=classpath
com.android.tools.layoutlib:layoutlib-api:30.3.0=classpath
com.android.tools.lint:lint-model:30.3.0=classpath
com.android.tools.lint:lint-typedef-remover:30.3.0=classpath
com.android.tools.utp:android-device-provider-ddmlib-proto:30.3.0=classpath
com.android.tools.utp:android-device-provider-gradle-proto:30.3.0=classpath
com.android.tools.utp:android-test-plugin-host-additional-test-output-proto:30.3.0=classpath
com.android.tools.utp:android-test-plugin-host-coverage-proto:30.3.0=classpath
com.android.tools.utp:android-test-plugin-host-retention-proto:30.3.0=classpath
com.android.tools.utp:android-test-plugin-result-listener-gradle-proto:30.3.0=classpath
com.android.tools:annotations:30.3.0=classpath
com.android.tools:common:30.3.0=classpath
com.android.tools:dvlib:30.3.0=classpath
com.android.tools:repository:30.3.0=classpath
com.android.tools:sdk-common:30.3.0=classpath
com.android.tools:sdklib:30.3.0=classpath
com.android:signflinger:7.3.0=classpath
com.android:zipflinger:7.3.0=classpath
com.github.ben-manes.versions:com.github.ben-manes.versions.gradle.plugin:0.42.0=classpath,classpathCopy,classpathCopy2
com.github.ben-manes:gradle-versions-plugin:0.42.0=classpath
com.github.gundy:semver4j:0.16.4=classpath
com.google.android:annotations:4.1.1.4=classpath
com.google.api.grpc:proto-google-common-protos:1.12.0=classpath
com.google.api.grpc:proto-google-common-protos:2.0.1=classpath
com.google.auto.value:auto-value-annotations:1.6.2=classpath
com.google.code.findbugs:jsr305:3.0.2=classpath
com.google.code.gson:gson:2.8.9=classpath
com.google.crypto.tink:tink:1.3.0-rc2=classpath
com.google.dagger:dagger:2.28.3=classpath
com.google.errorprone:error_prone_annotations:2.3.4=classpath
com.google.errorprone:error_prone_annotations:2.4.0=classpath
com.google.flatbuffers:flatbuffers-java:1.12.0=classpath
com.google.guava:failureaccess:1.0.1=classpath
com.google.guava:guava:30.1-jre=classpath
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=classpath
com.google.j2objc:j2objc-annotations:1.3=classpath
com.google.jimfs:jimfs:1.1=classpath
com.google.protobuf:protobuf-java-util:3.10.0=classpath
com.google.protobuf:protobuf-java:3.10.0=classpath
com.google.protobuf:protobuf-java-util:3.17.2=classpath
com.google.protobuf:protobuf-java:3.17.2=classpath
com.google.testing.platform:core-proto:0.0.8-alpha07=classpath
com.googlecode.json-simple:json-simple:1.1=classpath
com.googlecode.juniversalchardet:juniversalchardet:1.0.3=classpath
@ -89,47 +82,45 @@ io.gitlab.arturbosch.detekt:detekt-gradle-plugin:1.21.0=classpath
io.gitlab.arturbosch.detekt:io.gitlab.arturbosch.detekt.gradle.plugin:1.19.0=classpathCopy
io.gitlab.arturbosch.detekt:io.gitlab.arturbosch.detekt.gradle.plugin:1.20.0=classpathCopy2
io.gitlab.arturbosch.detekt:io.gitlab.arturbosch.detekt.gradle.plugin:1.21.0=classpath
io.grpc:grpc-api:1.21.1=classpath
io.grpc:grpc-context:1.21.1=classpath
io.grpc:grpc-core:1.21.1=classpath
io.grpc:grpc-netty:1.21.1=classpath
io.grpc:grpc-protobuf-lite:1.21.1=classpath
io.grpc:grpc-protobuf:1.21.1=classpath
io.grpc:grpc-stub:1.21.1=classpath
io.netty:netty-buffer:4.1.34.Final=classpath
io.netty:netty-codec-http2:4.1.34.Final=classpath
io.netty:netty-codec-http:4.1.34.Final=classpath
io.netty:netty-codec-socks:4.1.34.Final=classpath
io.netty:netty-codec:4.1.34.Final=classpath
io.netty:netty-common:4.1.34.Final=classpath
io.netty:netty-handler-proxy:4.1.34.Final=classpath
io.netty:netty-handler:4.1.34.Final=classpath
io.netty:netty-resolver:4.1.34.Final=classpath
io.netty:netty-transport:4.1.34.Final=classpath
io.opencensus:opencensus-api:0.21.0=classpath
io.opencensus:opencensus-contrib-grpc-metrics:0.21.0=classpath
io.grpc:grpc-api:1.39.0=classpath
io.grpc:grpc-context:1.39.0=classpath
io.grpc:grpc-core:1.39.0=classpath
io.grpc:grpc-netty:1.39.0=classpath
io.grpc:grpc-protobuf-lite:1.39.0=classpath
io.grpc:grpc-protobuf:1.39.0=classpath
io.grpc:grpc-stub:1.39.0=classpath
io.netty:netty-buffer:4.1.52.Final=classpath
io.netty:netty-codec-http2:4.1.52.Final=classpath
io.netty:netty-codec-http:4.1.52.Final=classpath
io.netty:netty-codec-socks:4.1.52.Final=classpath
io.netty:netty-codec:4.1.52.Final=classpath
io.netty:netty-common:4.1.52.Final=classpath
io.netty:netty-handler-proxy:4.1.52.Final=classpath
io.netty:netty-handler:4.1.52.Final=classpath
io.netty:netty-resolver:4.1.52.Final=classpath
io.netty:netty-transport:4.1.52.Final=classpath
io.perfmark:perfmark-api:0.23.0=classpath
it.unimi.dsi:fastutil:8.4.0=classpath
jakarta.activation:jakarta.activation-api:1.2.1=classpath
jakarta.xml.bind:jakarta.xml.bind-api:2.3.2=classpath
javax.annotation:javax.annotation-api:1.3.2=classpath
javax.inject:javax.inject:1=classpath
net.java.dev.jna:jna-platform:5.6.0=classpath
net.java.dev.jna:jna:5.6.0=classpath
net.sf.jopt-simple:jopt-simple:4.9=classpath
net.sf.kxml:kxml2:2.3.0=classpath
org.apache.commons:commons-compress:1.20=classpath
org.apache.httpcomponents:httpclient:4.5.9=classpath
org.apache.httpcomponents:httpcore:4.4.11=classpath
org.apache.httpcomponents:httpclient:4.5.13=classpath
org.apache.httpcomponents:httpcore:4.4.13=classpath
org.apache.httpcomponents:httpmime:4.5.6=classpath
org.bitbucket.b_c:jose4j:0.7.0=classpath
org.bouncycastle:bcpkix-jdk15on:1.56=classpath
org.bouncycastle:bcprov-jdk15on:1.56=classpath
org.bouncycastle:bcpkix-jdk15on:1.67=classpath
org.bouncycastle:bcprov-jdk15on:1.67=classpath
org.checkerframework:checker-qual:3.5.0=classpath
org.codehaus.mojo:animal-sniffer-annotations:1.17=classpath
org.codehaus.woodstox:stax2-api:4.2.1=classpath
org.codehaus.mojo:animal-sniffer-annotations:1.19=classpath
org.glassfish.jaxb:jaxb-runtime:2.3.2=classpath
org.glassfish.jaxb:txw2:2.3.2=classpath
org.jdom:jdom2:2.0.6=classpath
org.jetbrains.dokka:dokka-core:1.4.32=classpath
org.jetbrains.intellij.deps:trove4j:1.0.20200330=classpath
org.jetbrains.kotlin:kotlin-android-extensions:1.7.10=classpath
org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.7.10=classpath
@ -160,17 +151,13 @@ org.jetbrains.kotlin:kotlin-util-io:1.7.10=classpath
org.jetbrains.kotlin:kotlin-util-klib:1.7.10=classpath
org.jetbrains.kotlinx.kover:org.jetbrains.kotlinx.kover.gradle.plugin:0.5.1=classpath
org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.5.0=classpath
org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.1=classpath
org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.1.0=classpath
org.jetbrains.kotlinx:kotlinx-serialization-core:1.1.0=classpath
org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.1.0=classpath
org.jetbrains.kotlinx:kotlinx-serialization-json:1.1.0=classpath
org.jetbrains.kotlinx:kover:0.5.1=classpath
org.jetbrains:annotations:13.0=classpath
org.jetbrains:markdown-jvm:0.2.1=classpath
org.jetbrains:markdown:0.2.1=classpath
org.json:json:20180813=classpath
org.jsoup:jsoup:1.13.1=classpath
org.jvnet.staxex:stax-ex:1.8.1=classpath
org.ow2.asm:asm-analysis:9.1=classpath
org.ow2.asm:asm-commons:9.1=classpath

@ -10,6 +10,9 @@ plugins {
// Specifically this is needed due to checks on the UncaughtExceptionHandler tests
android {
namespace = "co.electriccoin.zcash.crash.android"
testNamespace = "co.electriccoin.zcash.crash.test"
defaultConfig {
testInstrumentationRunnerArguments["clearPackageData"] = "true"
}

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="co.electriccoin.zcash.crash.test">
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application/>

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="co.electriccoin.zcash.crash.android">
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application>

@ -86,6 +86,8 @@ A few notes on running instrumentation tests on the app module:
- Screenshots are generated automatically and copied to (/app/build/reports/androidTests/connected/zcash_screenshots)[../app/build/reports/androidTests/connected/zcash_screenshots]
- Running the Android tests on the app module will erase the data stored by the app. This is because Test Orchestrator is required to reset app state to successfully perform integration tests.
Gradle Managed Devices are also configured with our build scripts. We have found best results running tests one module at a time, rather than trying to run them all at once. For example: `./gradlew :ui-lib:pixel2TargetDebugAndroidTest` will run the UI tests on a Pixel 2 sized device using our target API version.
## Gradle Properties
A variety of Gradle properties can be used to configure the build. Most of these properties are optional and help with advanced configuration. If you're just doing local development or making a small pull request contribution, you likely do not need to worry about these.

@ -94,7 +94,7 @@ ANDROID_COMPILE_SDK_VERSION=33
ANDROID_NDK_VERSION=23.0.7599858
ANDROID_GRADLE_PLUGIN_VERSION=7.2.2
ANDROID_GRADLE_PLUGIN_VERSION=7.3.0
DETEKT_VERSION=1.21.0
EMULATOR_WTF_GRADLE_PLUGIN_VERSION=0.0.10
FLANK_VERSION=21.09.0

@ -11,6 +11,8 @@ plugins {
val isOrchestratorEnabled = true
android {
namespace = "co.electriccoin.zcash.preference"
if (isOrchestratorEnabled) {
defaultConfig {
testInstrumentationRunnerArguments["clearPackageData"] = "true"

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="co.electriccoin.zcash.preference">
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application android:label="zcash-preference-test" />

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="co.electriccoin.zcash.preference">
xmlns:android="http://schemas.android.com/apk/res/android">
<application/>

@ -7,6 +7,7 @@ plugins {
}
android {
namespace = "cash.z.ecc.sdk.ext"
}
dependencies {

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest package="cash.z.ecc.sdk.ext"
xmlns:android="http://schemas.android.com/apk/res/android">
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application
android:label="sdk-ext-test"/>

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest package="cash.z.ecc.sdk.ext">
<manifest>
<application />

@ -7,6 +7,8 @@ plugins {
}
android {
namespace = "cash.z.ecc.sdk.ext.ui"
testNamespace = "cash.z.ecc.sdk.ext.ui.test"
resourcePrefix = "co_electriccoin_zcash_"
compileOptions {

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest package="cash.z.ecc.sdk.ext"
xmlns:android="http://schemas.android.com/apk/res/android">
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application
android:label="sdk-ext-ui-test"/>

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest package="cash.z.ecc.sdk.ext.ui">
<manifest>
<application />

@ -7,6 +7,8 @@ plugins {
}
android {
namespace = "co.electriccoin.zcash.spackle"
testNamespace = "co.electriccoin.zcash.spackle.test"
// Force orchestrator to be used for this module, because we need the process name to be purged between tests
defaultConfig {
testInstrumentationRunnerArguments["clearPackageData"] = "true"

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="co.electriccoin.zcash.preference">
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application android:label="zcash-preference-test" />

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="co.electriccoin.zcash.spackle">
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application>
<provider

@ -5,6 +5,7 @@ plugins {
}
android {
namespace = "co.electriccoin.zcash.test"
resourcePrefix = "co_electriccoin_zcash_"
}

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="co.electriccoin.zcash.test">
xmlns:android="http://schemas.android.com/apk/res/android">
<permission android:name="android.permission.WAKE_LOCK"/>

@ -5,6 +5,8 @@ plugins {
}
android {
namespace = "co.electriccoin.zcash.ui.design"
buildFeatures {
compose = true
}

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="co.electriccoin.zcash.ui.design">
xmlns:android="http://schemas.android.com/apk/res/android">
<application
android:label="zcash-ui-design-test"/>

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="co.electriccoin.zcash.ui.design">
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application />

@ -10,6 +10,8 @@ plugins {
val isOrchestratorEnabled = true
android {
namespace = "co.electriccoin.zcash.ui.integration"
defaultConfig {
if (isOrchestratorEnabled) {
testInstrumentationRunnerArguments["clearPackageData"] = "true"

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="co.electriccoin.zcash.ui.integration.test">
xmlns:android="http://schemas.android.com/apk/res/android">
<application
android:label="zcash-ui-integration-test">

@ -1,3 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest package="co.electriccoin.zcash.ui.integration" />
<manifest />

@ -7,6 +7,8 @@ plugins {
}
android {
namespace = "co.electriccoin.zcash.ui"
defaultConfig {
testInstrumentationRunner = "co.electriccoin.zcash.test.ZcashUiTestRunner"
}

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="co.electriccoin.zcash.ui.test">
xmlns:android="http://schemas.android.com/apk/res/android">
<application
android:label="zcash-ui-test" >

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="co.electriccoin.zcash.ui">
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.CAMERA" />

Loading…
Cancel
Save