blob: 8b2a6069883857a74f580cc842dfa29a340c6946 [file] [log] [blame]
Adrien Béraudb00ed3f2015-06-07 15:36:06 -04001apply plugin: 'com.android.application'
2
Pierre Duchemincaac0392018-06-06 12:18:25 -04003def buildFirebase = project.hasProperty('buildFirebase') || getGradle().getStartParameter().getTaskRequests().toString().contains('Firebase')
Adrien Béraud0e0feef2018-02-13 16:32:06 +01004
5android {
Adrien Béraud187217e2019-06-08 17:18:10 -04006 compileSdkVersion 29
Adrien Béraud382ca222019-08-08 22:27:27 -04007 buildToolsVersion '29.0.2'
Adrien Béraud77cfcae2020-01-22 23:46:42 -05008 ndkVersion "21.0.6113669"
Adrien Béraud0e0feef2018-02-13 16:32:06 +01009 defaultConfig {
Adrien Béraud97dcf022018-12-08 22:00:47 -050010 minSdkVersion 21
Adrien Béraud187217e2019-06-08 17:18:10 -040011 targetSdkVersion 29
Adrien Béraud9a32d112020-01-18 14:10:07 -050012 versionCode 211
13 versionName "20200118-01"
Adrien Béraud0e0feef2018-02-13 16:32:06 +010014 }
Adrien Béraud0e0feef2018-02-13 16:32:06 +010015 sourceSets {
16 main {
17 aidl.srcDirs = ['src/main/java']
18 jniLibs.srcDir 'src/main/libs'
19 jni.srcDirs = []
20 }
Adrien Béraud0e0feef2018-02-13 16:32:06 +010021 }
Adrien Béraudbcf122a2019-11-15 15:01:42 -050022
Adrien Béraud0e0feef2018-02-13 16:32:06 +010023 buildTypes {
Adrien Béraudcad9db82018-04-21 21:00:41 -040024 debug {
25 minifyEnabled true
26 debuggable true
27 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
28 }
Adrien Béraud0e0feef2018-02-13 16:32:06 +010029 release {
30 minifyEnabled true
31 proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
32 }
33 }
34 flavorDimensions "push"
35 productFlavors {
36 noPush {
37 dimension "push"
38 }
39 withFirebase {
40 dimension "push"
41 }
42 }
43 signingConfigs {
44 config {
45 keyAlias 'ring'
46 storeFile file('../keystore.bin')
47 }
48 }
49 lintOptions {
50 disable 'MissingTranslation'
51 }
52 splits {
53 abi {
54 enable true
55 reset()
56 def sp = archs.split(',')
57 include(sp)
58 universalApk true
59 }
60 }
Adrien Béraud0f3ee3d2018-12-08 22:03:54 -050061 dataBinding {
62 enabled true
63 }
Adrien Béraud40db81b2019-04-21 10:29:47 -040064 compileOptions {
Adrien Béraud1ad47632019-06-02 18:53:55 -040065 sourceCompatibility = JavaVersion.VERSION_1_8
66 targetCompatibility = JavaVersion.VERSION_1_8
Adrien Béraud40db81b2019-04-21 10:29:47 -040067 }
Adrien Béraud0e0feef2018-02-13 16:32:06 +010068}
Romain Bertozzi2b2aa6f2016-04-28 11:18:57 -040069
Adrien Béraudb00ed3f2015-06-07 15:36:06 -040070dependencies {
Adrien Béraud91f88742019-09-09 00:46:46 -040071 def android_support_core_version = '1.1.0'
Adrien Béraud259f1222018-09-30 20:07:29 -040072 def android_support_version = '1.0.0'
Adrien Béraud77cfcae2020-01-22 23:46:42 -050073 def material_version = '1.1.0-rc02'
74 def butterknife_version = '10.2.1'
Adrien Béraude5a68fa2019-10-15 17:10:14 -040075 def dagger_version = '2.24'
Pierre Duchemin511775d2018-02-15 16:11:38 -050076
Pierre Ducheminb5317682017-12-27 16:38:12 -050077 implementation fileTree(include: '*.jar', dir: 'libs')
78 implementation project(':libringclient')
Alexandre Lision5da46fa2017-08-09 10:25:50 -040079
Adrien Béraud79d0e312019-11-28 13:29:20 -050080 implementation "androidx.core:core:1.2.0-rc01"
Adrien Béraud382ca222019-08-08 22:27:27 -040081 implementation "androidx.appcompat:appcompat:$android_support_core_version"
Adrien Béraude4f901a2019-10-25 17:26:30 -040082 implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
Adrien Béraud321c1f92018-09-15 19:56:36 -040083 implementation "androidx.legacy:legacy-support-core-utils:$android_support_version"
Adrien Béraud8bc95102018-08-25 22:34:51 -040084 implementation "androidx.cardview:cardview:$android_support_version"
Adrien Béraud91f88742019-09-09 00:46:46 -040085 implementation "androidx.preference:preference:$android_support_core_version"
Adrien Béraud79d0e312019-11-28 13:29:20 -050086 implementation "androidx.recyclerview:recyclerview:$android_support_core_version"
Adrien Béraud99cdc452019-12-20 01:21:11 -050087 implementation "androidx.leanback:leanback:1.1.0-alpha03"
88 implementation "androidx.leanback:leanback-preference:1.1.0-alpha03"
Adrien Béraud91f88742019-09-09 00:46:46 -040089 implementation "androidx.media:media:$android_support_core_version"
Adrien Béraud382ca222019-08-08 22:27:27 -040090 implementation "com.google.android.material:material:$material_version"
Adrien Béraude4f901a2019-10-25 17:26:30 -040091 implementation 'com.google.android:flexbox:1.1.1'
Alexandre Lision5da46fa2017-08-09 10:25:50 -040092
Romain Bertozzi64a66782016-08-02 12:10:38 -040093 // ORM
Adrien Béraud40db81b2019-04-21 10:29:47 -040094 implementation 'com.j256.ormlite:ormlite-android:5.1'
Alexandre Lision5da46fa2017-08-09 10:25:50 -040095
Romain Bertozzi64a66782016-08-02 12:10:38 -040096 // Barcode scanning
Adrien Béraude5a68fa2019-10-15 17:10:14 -040097 implementation ('com.journeyapps:zxing-android-embedded:4.0.2@aar') { transitive = false }
98 implementation 'com.google.zxing:core:3.3.3'
Alexandre Lision5da46fa2017-08-09 10:25:50 -040099
Romain Bertozzi64a66782016-08-02 12:10:38 -0400100 // Butterknife
Pierre Ducheminb5317682017-12-27 16:38:12 -0500101 implementation "com.jakewharton:butterknife:$butterknife_version"
102 annotationProcessor "com.jakewharton:butterknife-compiler:$butterknife_version"
103
Andreas Traczykaec59b72019-12-17 12:18:16 -0500104 // RxBindings
105 implementation 'com.jakewharton.rxbinding3:rxbinding:3.1.0'
106
Pierre Ducheminbb833672018-03-09 16:18:33 -0500107 implementation 'com.rodolfonavalon:ShapeRippleLibrary:1.0.0'
Alexandre Lision5da46fa2017-08-09 10:25:50 -0400108
Thibault Wittemberg55030872016-11-08 10:55:54 -0500109 // Dagger dependency injection
Pierre Duchemin511775d2018-02-15 16:11:38 -0500110 implementation "com.google.dagger:dagger:$dagger_version"
Pierre Ducheminb5317682017-12-27 16:38:12 -0500111 annotationProcessor "com.google.dagger:dagger-compiler:$dagger_version"
Alexandre Lision5da46fa2017-08-09 10:25:50 -0400112
Hadrien De Sousa84ab2d22017-03-16 15:45:52 -0400113 // Glide
Adrien Béraude5a68fa2019-10-15 17:10:14 -0400114 implementation 'com.github.bumptech.glide:glide:4.10.0'
115 annotationProcessor 'com.github.bumptech.glide:compiler:4.10.0'
Hadrien De Sousa0dc83162017-11-10 16:15:18 -0500116
117 // RxAndroid
Adrien Béraud859aff72019-12-25 19:31:46 +0100118 implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
Adrien Béraud0cfb6c82018-01-24 13:01:23 -0500119
Adrien Béraud6317cf22018-10-21 19:58:43 -0400120 implementation 'com.jsibbold:zoomage:1.2.0'
Adrien Béraud64538722018-03-15 17:34:00 -0400121
Adrien Béraudd96044b2019-12-18 14:10:37 -0500122 withFirebaseImplementation('com.google.firebase:firebase-messaging:20.1.0') {
Sébastien Blin257a9942019-09-06 08:45:24 -0400123 exclude group: 'com.google.firebase', module: 'firebase-core'
124 exclude group: 'com.google.firebase', module: 'firebase-analytics'
125 exclude group: 'com.google.firebase', module: 'firebase-measurement-connector'
126 }
Adrien Béraudb00ed3f2015-06-07 15:36:06 -0400127}
128
Adrien Béraud0e0feef2018-02-13 16:32:06 +0100129if (buildFirebase) {
130 println 'apply plugin ' + buildFirebase
Adrien Béraud0cfb6c82018-01-24 13:01:23 -0500131 apply plugin: 'com.google.gms.google-services'
Rayan Osseiran3d17fc72019-05-23 10:58:25 -0400132}