From 0873ae73e104cca7bad381e205fc239bce1818eb Mon Sep 17 00:00:00 2001 From: Carter Jernigan Date: Mon, 19 Sep 2022 08:06:15 -0400 Subject: [PATCH] [#711] Android Gradle Plugin 7.3 --- build-conventions/gradle.lockfile | 145 ++++++++---------- .../zcash-sdk.android-conventions.gradle.kts | 25 +++ darkside-test-lib/build.gradle.kts | 2 + .../src/androidTest/AndroidManifest.xml | 3 +- .../src/main/AndroidManifest.xml | 3 +- demo-app/build.gradle.kts | 2 + demo-app/src/main/AndroidManifest.xml | 3 +- docs/Setup.md | 2 + gradle.properties | 2 +- sdk-lib/build.gradle.kts | 2 + sdk-lib/src/androidTest/AndroidManifest.xml | 3 +- sdk-lib/src/main/AndroidManifest.xml | 3 +- 12 files changed, 105 insertions(+), 90 deletions(-) diff --git a/build-conventions/gradle.lockfile b/build-conventions/gradle.lockfile index 11b99c8a..19d220fc 100644 --- a/build-conventions/gradle.lockfile +++ b/build-conventions/gradle.lockfile @@ -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 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 10770b31..84d9c4fa 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 @@ -1,4 +1,5 @@ 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") { @@ -51,6 +52,7 @@ pluginManager.withPlugin("com.android.library") { } } +@Suppress("LongMethod") fun com.android.build.gradle.BaseExtension.configureBaseExtension() { compileSdkVersion(project.property("ANDROID_COMPILE_SDK_VERSION").toString().toInt()) ndkVersion = project.property("ANDROID_NDK_VERSION").toString() @@ -85,6 +87,29 @@ 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 = project.properties["ANDROID_MIN_SDK_VERSION"] + .toString().toInt().coerceAtLeast(MANAGED_DEVICES_MIN_SDK) + val testDeviceMaxSdkVersion = project.properties["ANDROID_TARGET_SDK_VERSION"].toString().toInt() + + devices { + create("pixel2Min") { + device = "Pixel 2" + apiLevel = testDeviceMinSdkVersion + systemImageSource = "aosp" + } + create("pixel2Target") { + device = "Pixel 2" + apiLevel = testDeviceMaxSdkVersion + systemImageSource = "aosp" + } + } + } } if (this is CommonExtension<*, *, *, *>) { diff --git a/darkside-test-lib/build.gradle.kts b/darkside-test-lib/build.gradle.kts index bbff1b1a..f91994c7 100644 --- a/darkside-test-lib/build.gradle.kts +++ b/darkside-test-lib/build.gradle.kts @@ -6,6 +6,8 @@ plugins { } android { + namespace = "cash.z.ecc.android.sdk.darkside" + defaultConfig { //targetSdk = 30 //Integer.parseInt(project.property("targetSdkVersion")) multiDexEnabled = true diff --git a/darkside-test-lib/src/androidTest/AndroidManifest.xml b/darkside-test-lib/src/androidTest/AndroidManifest.xml index c6357e0e..a2a699c4 100644 --- a/darkside-test-lib/src/androidTest/AndroidManifest.xml +++ b/darkside-test-lib/src/androidTest/AndroidManifest.xml @@ -1,7 +1,6 @@ + xmlns:android="http://schemas.android.com/apk/res/android"> diff --git a/darkside-test-lib/src/main/AndroidManifest.xml b/darkside-test-lib/src/main/AndroidManifest.xml index b68a4b42..92573553 100644 --- a/darkside-test-lib/src/main/AndroidManifest.xml +++ b/darkside-test-lib/src/main/AndroidManifest.xml @@ -1,7 +1,6 @@ + xmlns:android="http://schemas.android.com/apk/res/android"> diff --git a/demo-app/build.gradle.kts b/demo-app/build.gradle.kts index 6914ddd5..b9c0fd2d 100644 --- a/demo-app/build.gradle.kts +++ b/demo-app/build.gradle.kts @@ -8,6 +8,8 @@ plugins { } android { + namespace = "cash.z.ecc.android.sdk.demoapp" + defaultConfig { applicationId = "cash.z.ecc.android.sdk.demoapp" minSdk = 19 diff --git a/demo-app/src/main/AndroidManifest.xml b/demo-app/src/main/AndroidManifest.xml index d2f37c8c..1c99debc 100644 --- a/demo-app/src/main/AndroidManifest.xml +++ b/demo-app/src/main/AndroidManifest.xml @@ -1,7 +1,6 @@ + xmlns:android="http://schemas.android.com/apk/res/android"> + xmlns:android="http://schemas.android.com/apk/res/android"> diff --git a/sdk-lib/src/main/AndroidManifest.xml b/sdk-lib/src/main/AndroidManifest.xml index 3ef6dabc..fdfe51af 100644 --- a/sdk-lib/src/main/AndroidManifest.xml +++ b/sdk-lib/src/main/AndroidManifest.xml @@ -1,5 +1,4 @@ - +