You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

209 lines
12 KiB

enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
pluginManagement {
repositories {
val isRepoRestrictionEnabled = true
mavenCentral {
if (isRepoRestrictionEnabled) {
content {
includeGroup("wtf.emulator")
}
}
}
gradlePluginPortal()
google()
}
plugins {
val androidGradlePluginVersion = extra["ANDROID_GRADLE_PLUGIN_VERSION"].toString()
val detektVersion = extra["DETEKT_VERSION"].toString()
val dokkaVersion = extra["DOKKA_VERSION"].toString()
val emulatorWtfGradlePluginVersion = extra["EMULATOR_WTF_GRADLE_PLUGIN_VERSION"].toString()
val fulladleVersion = extra["FULLADLE_VERSION"].toString()
val gradleVersionsPluginVersion = extra["GRADLE_VERSIONS_PLUGIN_VERSION"].toString()
val kotlinVersion = extra["KOTLIN_VERSION"].toString()
val kspVersion = extra["KSP_VERSION"].toString()
val mavenPublishPluginVersion = extra["MAVEN_PUBLISH_GRADLE_PLUGIN"].toString()
val protobufVersion = extra["PROTOBUF_GRADLE_PLUGIN_VERSION"].toString()
id("com.android.application") version (androidGradlePluginVersion) apply (false)
id("com.android.library") version (androidGradlePluginVersion) apply (false)
id("com.github.ben-manes.versions") version (gradleVersionsPluginVersion) apply (false)
id("com.google.devtools.ksp") version(kspVersion) apply (false)
id("com.google.protobuf") version (protobufVersion) apply (false)
id("com.osacky.fulladle") version (fulladleVersion) apply (false)
id("com.vanniktech.maven.publish.base") version(mavenPublishPluginVersion) apply (false)
id("io.gitlab.arturbosch.detekt") version (detektVersion) apply (false)
id("org.jetbrains.dokka") version (dokkaVersion) apply (false)
id("org.jetbrains.kotlin.android") version (kotlinVersion) apply (false)
id("org.jetbrains.kotlin.plugin.allopen") version (kotlinVersion) apply (false)
id("wtf.emulator.gradle") version (emulatorWtfGradlePluginVersion) apply (false)
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
val isRepoRestrictionEnabled = true
google()
mavenCentral()
maven("https://jitpack.io")
maven("https://maven.pkg.jetbrains.space/public/p/kotlinx-html/maven")
maven("https://maven.emulator.wtf/releases/") {
if (isRepoRestrictionEnabled) {
content {
includeGroup("wtf.emulator")
}
}
}
}
@Suppress("UnstableApiUsage", "MaxLineLength")
versionCatalogs {
create("libs") {
val androidGradlePluginVersion = extra["ANDROID_GRADLE_PLUGIN_VERSION"].toString()
val androidxAnnotationVersion = extra["ANDROIDX_ANNOTATION_VERSION"].toString()
val androidxAppcompatVersion = extra["ANDROIDX_APPCOMPAT_VERSION"].toString()
val androidxConstraintLayoutVersion = extra["ANDROIDX_CONSTRAINT_LAYOUT_VERSION"].toString()
val androidxCoreVersion = extra["ANDROIDX_CORE_VERSION"].toString()
val androidxEspressoVersion = extra["ANDROIDX_ESPRESSO_VERSION"].toString()
val androidxLifecycleVersion = extra["ANDROIDX_LIFECYCLE_VERSION"].toString()
val androidxMultidexVersion = extra["ANDROIDX_MULTIDEX_VERSION"].toString()
val androidxNavigationVersion = extra["ANDROIDX_NAVIGATION_VERSION"].toString()
val androidxPagingVersion = extra["ANDROIDX_PAGING_VERSION"].toString()
val androidxRoomVersion = extra["ANDROIDX_ROOM_VERSION"].toString()
val androidxTestJunitVersion = extra["ANDROIDX_TEST_JUNIT_VERSION"].toString()
val androidxTestOrchestratorVersion = extra["ANDROIDX_ESPRESSO_VERSION"].toString()
val androidxTestVersion = extra["ANDROIDX_TEST_VERSION"].toString()
val androidxUiAutomatorVersion = extra["ANDROIDX_UI_AUTOMATOR_VERSION"].toString()
val bip39Version = extra["BIP39_VERSION"].toString()
val coroutinesOkhttpVersion = extra["COROUTINES_OKHTTP"].toString()
val flankVersion = extra["FLANK_VERSION"].toString()
val googleMaterialVersion = extra["GOOGLE_MATERIAL_VERSION"].toString()
val grpcVersion = extra["GRPC_VERSION"].toString()
val gsonVersion = extra["GSON_VERSION"].toString()
val guavaVersion = extra["GUAVA_VERSION"].toString()
val javaVersion = extra["ANDROID_JVM_TARGET"].toString()
val javaxAnnotationVersion = extra["JAVAX_ANNOTATION_VERSION"].toString()
val junitVersion = extra["JUNIT_VERSION"].toString()
val kotlinVersion = extra["KOTLIN_VERSION"].toString()
val kotlinxCoroutinesVersion = extra["KOTLINX_COROUTINES_VERSION"].toString()
val mavenPublishGradlePluginVersion = extra["MAVEN_PUBLISH_GRADLE_PLUGIN"].toString()
val mockitoKotlinVersion = extra["MOCKITO_KOTLIN_VERSION"].toString()
val mockitoVersion = extra["MOCKITO_VERSION"].toString()
val okhttpVersion = extra["OKHTTP_VERSION"].toString()
val okioVersion = extra["OKIO_VERSION"].toString()
val protocVersion = extra["PROTOC_VERSION"].toString()
val rustGradlePluginVersion = extra["RUST_GRADLE_PLUGIN_VERSION"].toString()
val zcashWalletPluginVersion = extra["ZCASH_WALLET_PLUGINS_VERSION"].toString()
// Standalone versions
version("flank", flankVersion)
version("grpc", grpcVersion)
version("java", javaVersion)
version("kotlin", kotlinVersion)
version("protoc", protocVersion)
// Aliases
// Gradle plugins
library("gradle-plugin-android", "com.android.tools.build:gradle:$androidGradlePluginVersion")
library("gradle-plugin-navigation", "androidx.navigation:navigation-safe-args-gradle-plugin:$androidxNavigationVersion")
library("gradle-plugin-publish", "com.vanniktech:gradle-maven-publish-plugin:$mavenPublishGradlePluginVersion")
library("gradle-plugin-rust", "org.mozilla.rust-android-gradle:plugin:$rustGradlePluginVersion")
// Special cases used by the grpc gradle plugin
library("grpc-protoc", "io.grpc:protoc-gen-grpc-java:$grpcVersion")
library("protoc", "com.google.protobuf:protoc:$protocVersion")
// Libraries
library("androidx-annotation", "androidx.annotation:annotation:$androidxAnnotationVersion")
library("androidx-appcompat", "androidx.appcompat:appcompat:$androidxAppcompatVersion")
library("androidx-constraintlayout", "androidx.constraintlayout:constraintlayout:$androidxConstraintLayoutVersion")
library("androidx-core", "androidx.core:core-ktx:$androidxCoreVersion")
library("androidx-lifecycle-common", "androidx.lifecycle:lifecycle-common-java8:$androidxLifecycleVersion")
library("androidx-lifecycle-runtime", "androidx.lifecycle:lifecycle-runtime-ktx:$androidxLifecycleVersion")
library("androidx-multidex", "androidx.multidex:multidex:$androidxMultidexVersion")
library("androidx-navigation-fragment", "androidx.navigation:navigation-fragment-ktx:$androidxNavigationVersion")
library("androidx-navigation-ui", "androidx.navigation:navigation-ui-ktx:$androidxNavigationVersion")
library("androidx-paging", "androidx.paging:paging-runtime-ktx:$androidxPagingVersion")
library("androidx-room-compiler", "androidx.room:room-compiler:$androidxRoomVersion")
library("androidx-room-core", "androidx.room:room-ktx:$androidxRoomVersion")
library("bip39", "cash.z.ecc.android:kotlin-bip39:$bip39Version")
library("grpc-android", "io.grpc:grpc-android:$grpcVersion")
library("grpc-okhttp", "io.grpc:grpc-okhttp:$grpcVersion")
library("grpc-protobuf", "io.grpc:grpc-protobuf-lite:$grpcVersion")
library("grpc-stub", "io.grpc:grpc-stub:$grpcVersion")
library("gson", "com.google.code.gson:gson:$gsonVersion")
library("guava", "com.google.guava:guava:$guavaVersion")
library("javax-annotation", "javax.annotation:javax.annotation-api:$javaxAnnotationVersion")
library("kotlin-reflect", "org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion")
library("kotlin-stdlib", "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion")
library("kotlinx-coroutines-android", "org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlinxCoroutinesVersion")
library("kotlinx-coroutines-core", "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlinxCoroutinesVersion")
library("material", "com.google.android.material:material:$googleMaterialVersion")
library("okhttp", "com.squareup.okhttp3:okhttp:$okhttpVersion")
library("okio", "com.squareup.okio:okio:$okioVersion")
library("zcashwalletplgn", "com.github.zcash:zcash-android-wallet-plugins:$zcashWalletPluginVersion")
// Test libraries
library("androidx-espresso-contrib", "androidx.test.espresso:espresso-contrib:$androidxEspressoVersion")
library("androidx-espresso-core", "androidx.test.espresso:espresso-core:$androidxEspressoVersion")
library("androidx-espresso-intents", "androidx.test.espresso:espresso-intents:$androidxEspressoVersion")
library("androidx-test-core", "androidx.test:core:$androidxTestVersion")
library("androidx-test-junit", "androidx.test.ext:junit:$androidxTestJunitVersion")
library("androidx-test-runner", "androidx.test:runner:$androidxTestVersion")
library("androidx-testOrchestrator", "androidx.test:orchestrator:$androidxTestOrchestratorVersion")
library("androidx-uiAutomator", "androidx.test.uiautomator:uiautomator-v18:$androidxUiAutomatorVersion")
library("coroutines-okhttp", "ru.gildor.coroutines:kotlin-coroutines-okhttp:$coroutinesOkhttpVersion")
library("grpc-testing", "io.grpc:grpc-testing:$grpcVersion")
library("junit-api", "org.junit.jupiter:junit-jupiter-api:$junitVersion")
library("junit-engine", "org.junit.jupiter:junit-jupiter-engine:$junitVersion")
library("junit-migration", "org.junit.jupiter:junit-jupiter-migrationsupport:$junitVersion")
library("kotlin-test", "org.jetbrains.kotlin:kotlin-test:$kotlinVersion")
library("kotlinx-coroutines-test", "org.jetbrains.kotlinx:kotlinx-coroutines-test:$kotlinxCoroutinesVersion")
library("mockito-android", "org.mockito:mockito-android:$mockitoVersion")
library("mockito-junit", "org.mockito:mockito-junit-jupiter:$mockitoVersion")
library("mockito-kotlin", "com.nhaarman.mockitokotlin2:mockito-kotlin:$mockitoKotlinVersion")
// Bundles
bundle(
"androidx-test",
listOf(
"androidx-espresso-core",
"androidx-espresso-intents",
"androidx-test-junit",
"androidx-test-core"
)
)
bundle(
"grpc",
listOf(
"grpc-okhttp",
"grpc-android",
"grpc-protobuf",
"grpc-stub"
)
)
bundle(
"junit",
listOf(
"junit-api",
"junit-engine",
"junit-migration",
)
)
}
}
}
rootProject.name = "zcash-android-sdk"
includeBuild("build-conventions")
include("darkside-test-lib")
include("sdk-lib")
include("demo-app")