144 lines
5.8 KiB
Groovy
144 lines
5.8 KiB
Groovy
apply plugin: 'com.android.application'
|
|
apply plugin: 'kotlin-android'
|
|
apply plugin: 'kotlin-android-extensions'
|
|
apply plugin: 'kotlin-kapt'
|
|
apply plugin: "androidx.navigation.safeargs.kotlin"
|
|
apply plugin: 'com.google.gms.google-services'
|
|
apply plugin: 'com.google.firebase.crashlytics'
|
|
|
|
// Needed for Kotlin's @Parcelize annotation
|
|
androidExtensions {
|
|
experimental = true
|
|
}
|
|
|
|
android {
|
|
compileSdkVersion 29
|
|
defaultConfig {
|
|
applicationId "cy.agorise.bitsybitshareswallet"
|
|
minSdkVersion 21
|
|
targetSdkVersion 29
|
|
versionCode 14
|
|
versionName "0.17.1-beta"
|
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
|
|
javaCompileOptions {
|
|
annotationProcessorOptions {
|
|
arguments = ["room.schemaLocation":
|
|
"$projectDir/schemas".toString()]
|
|
}
|
|
}
|
|
sourceSets {
|
|
androidTest.assets.srcDirs += files("$projectDir/schemas".toString())
|
|
}
|
|
}
|
|
buildTypes {
|
|
debug {
|
|
minifyEnabled false
|
|
resValue("string", "PORT_NUMBER", "8082")
|
|
}
|
|
release {
|
|
minifyEnabled true
|
|
shrinkResources true
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
}
|
|
}
|
|
android.packagingOptions {
|
|
exclude 'lib/x86_64/darwin/libscrypt.dylib'
|
|
exclude 'lib/x86_64/freebsd/libscrypt.so'
|
|
exclude 'lib/x86_64/linux/libscrypt.so'
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
}
|
|
kotlinOptions {
|
|
jvmTarget = "1.8"
|
|
}
|
|
// Gradle automatically adds 'android.test.runner' as a dependency.
|
|
useLibrary 'android.test.runner'
|
|
useLibrary 'android.test.base'
|
|
useLibrary 'android.test.mock'
|
|
|
|
}
|
|
|
|
dependencies {
|
|
def lifecycle_version = "2.2.0"
|
|
def room_version = "2.2.6"
|
|
def rx_bindings_version = '3.0.0'
|
|
|
|
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
|
implementation project(':graphenejlib:graphenej')
|
|
implementation project(':PDFJet')
|
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
|
// AndroidX
|
|
implementation 'androidx.appcompat:appcompat:1.2.0'
|
|
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
|
|
// Google
|
|
implementation 'com.google.zxing:core:3.4.0'
|
|
implementation 'com.google.code.gson:gson:2.8.5'
|
|
implementation 'com.google.android.material:material:1.1.0-alpha04'
|
|
implementation 'com.google.android.gms:play-services-maps:17.0.0'
|
|
implementation 'com.google.maps.android:android-maps-utils:0.5'
|
|
// AAC Lifecycle
|
|
implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
|
|
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version" // viewModelScope
|
|
implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version"
|
|
// AAC Room
|
|
implementation "androidx.room:room-runtime:$room_version"
|
|
implementation "androidx.room:room-rxjava2:$room_version" // RxJava support for Room
|
|
implementation "androidx.room:room-ktx:$room_version" // Coroutines support for Room
|
|
kapt "androidx.room:room-compiler:$room_version"
|
|
// AAC Navigation
|
|
implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
|
|
implementation "androidx.navigation:navigation-ui-ktx:$nav_version"
|
|
// Kotlin Coroutines
|
|
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$version_coroutine"
|
|
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$version_coroutine"
|
|
// RxBindings
|
|
implementation "com.jakewharton.rxbinding3:rxbinding:$rx_bindings_version"
|
|
implementation "com.jakewharton.rxbinding3:rxbinding-material:$rx_bindings_version" // Material Components widgets
|
|
implementation "com.jakewharton.rxbinding3:rxbinding-appcompat:$rx_bindings_version" // AndroidX appcompat widgets
|
|
// Retrofit & OkHttp
|
|
implementation 'com.squareup.okhttp3:okhttp:4.2.0'
|
|
implementation 'com.squareup.retrofit2:retrofit:2.6.1'
|
|
implementation 'com.squareup.retrofit2:converter-gson:2.6.1'
|
|
implementation 'com.squareup.okhttp3:logging-interceptor:4.2.0'
|
|
implementation 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'
|
|
//Firebase
|
|
implementation 'com.google.firebase:firebase-analytics:18.0.0'
|
|
implementation 'com.google.firebase:firebase-crashlytics:17.3.0'
|
|
// CSV generation
|
|
implementation 'com.opencsv:opencsv:3.7'
|
|
// Others
|
|
api 'com.google.guava:guava:27.0.1-android'
|
|
implementation 'org.bitcoinj:bitcoinj-core:0.14.3'
|
|
implementation 'com.moldedbits.r2d2:r2d2:1.0.1'
|
|
implementation 'me.dm7.barcodescanner:zxing:1.9.13'
|
|
implementation 'com.afollestad.material-dialogs:core:3.1.1'
|
|
implementation 'com.andrognito.patternlockview:patternlockview:1.0.0'
|
|
// Android Debug Database
|
|
debugImplementation 'com.amitshekhar.android:debug-db:1.0.6'
|
|
|
|
// Testing libs
|
|
testImplementation 'junit:junit:4.12'
|
|
androidTestImplementation 'androidx.test:core:1.3.0'
|
|
|
|
androidTestImplementation "androidx.arch.core:core-testing:$lifecycle_version"
|
|
androidTestImplementation "androidx.room:room-testing:$room_version"
|
|
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
|
|
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
|
|
androidTestImplementation 'com.jraska.livedata:testing-ktx:1.0.0'
|
|
}
|
|
|
|
// Added to avoid the compilation problem due to a duplicate ListenableFuture library
|
|
afterEvaluate {
|
|
configurations.all {
|
|
def group = 'com.google.guava', name = 'guava', version = '27.0.1-android'
|
|
resolutionStrategy.eachDependency { details ->
|
|
if (requested.group == group && requested.name == name) {
|
|
details.useTarget group: details.requested.group, name: name, version: version
|
|
}
|
|
}
|
|
}
|
|
}
|