zcash-android-wallet-poc/zcash-android-wallet-app/app/build.gradle

119 lines
4.2 KiB
Groovy

// note: had to abandon the 'plugins' syntax because the navigation graph editor appears to have a bug where it adds kotlin-android and kotlin-android extensions "automatically" when it doesn't detect them. This would constantly break the build. TODO: file a bug on this at b.android.com
// the main side effect is that plugins have to include their classpath in the parent script, rather than just specifying the 'version' in the plugins dsl
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
apply plugin: 'deploygate'
apply plugin: 'com.github.ben-manes.versions'
apply plugin: 'com.google.gms.google-services'
android {
compileSdkVersion buildConfig.compileSdkVersion
defaultConfig {
applicationId "cash.z.android.wallet"
minSdkVersion buildConfig.minSdkVersion
targetSdkVersion buildConfig.targetSdkVersion
versionCode 17 // todo: change this to 1_00_04 format, once we graduate beyond zero for the major version number because leading zeros indicate on octal number.
versionName "0.3.5-alpha"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
multiDexEnabled true
}
dataBinding {
enabled true
}
flavorDimensions 'network'
productFlavors {
// product flavor names cannot start with the word "test" because they would clash with other targets
ztestnet {
dimension 'network'
applicationId 'cash.z.android.wallet.testnet'
matchingFallbacks = ['debug']
}
zmainnet {
dimension 'network'
applicationId 'cash.z.android.wallet.mainnet'
matchingFallbacks = ['release']
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
mock {
initWith debug
matchingFallbacks = ['debug', 'release']
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
lintOptions {
lintConfig file("zcash-lint-options.xml")
}
}
dependencies {
// Android
implementation deps.androidx.appcompat
implementation deps.androidx.constraintLayout
implementation deps.androidx.core
implementation deps.androidx.coreKtx
implementation deps.androidx.navigation.fragment
implementation deps.androidx.navigation.fragmentKtx
implementation deps.androidx.navigation.ui
implementation deps.androidx.navigation.uiKtx
implementation deps.material
implementation deps.androidx.multidex
// Kotlin
implementation deps.kotlin.stdlib
implementation deps.kotlin.reflect
implementation deps.kotlin.coroutines.core
implementation deps.kotlin.coroutines.android
// Zcash
implementation deps.zcash.walletSdk
implementation project(path: ':qrecycler')
// TODO: get the AAR to provide these
implementation "io.grpc:grpc-okhttp:1.17.1"
implementation "io.grpc:grpc-protobuf-lite:1.17.1"
implementation "io.grpc:grpc-stub:1.17.1"
implementation 'javax.annotation:javax.annotation-api:1.2'
implementation "androidx.room:room-runtime:2.0.0"
implementation "androidx.room:room-common:2.0.0"
kapt "androidx.room:room-compiler:2.0.0"
// Dagger
implementation deps.dagger.android.support
kapt deps.dagger.android.processor
kapt deps.dagger.compiler
// Other
implementation deps.speeddial
implementation deps.lottie
debugImplementation deps.stetho
mockImplementation deps.stetho
testImplementation 'org.mockito:mockito-junit-jupiter:2.24.0'
testImplementation 'com.nhaarman.mockitokotlin2:mockito-kotlin:2.1.0'
testImplementation "org.junit.jupiter:junit-jupiter-api:5.4.0"
testImplementation "org.junit.jupiter:junit-jupiter-engine:5.4.0"
testImplementation "org.junit.jupiter:junit-jupiter-migrationsupport:5.4.0"
androidTestImplementation deps.androidx.test.runner
androidTestImplementation deps.androidx.test.espresso
}