blob: c0aea23f6b19375cdb29ace93a42992d163784df [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éraud0e0feef2018-02-13 16:32:06 +01008 defaultConfig {
Adrien Béraud97dcf022018-12-08 22:00:47 -05009 minSdkVersion 21
Adrien Béraud187217e2019-06-08 17:18:10 -040010 targetSdkVersion 29
Adrien Béraud321cd212019-08-23 21:50:11 -040011 versionCode 188
12 versionName "20190823-01"
Adrien Béraud0e0feef2018-02-13 16:32:06 +010013 }
14
15 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éraud0e0feef2018-02-13 16:32:06 +010022 buildTypes {
Adrien Béraudcad9db82018-04-21 21:00:41 -040023 debug {
24 minifyEnabled true
25 debuggable true
26 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
27 }
Adrien Béraud0e0feef2018-02-13 16:32:06 +010028 release {
29 minifyEnabled true
30 proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
31 }
32 }
33 flavorDimensions "push"
34 productFlavors {
35 noPush {
36 dimension "push"
37 }
38 withFirebase {
39 dimension "push"
40 }
41 }
42 signingConfigs {
43 config {
44 keyAlias 'ring'
45 storeFile file('../keystore.bin')
46 }
47 }
48 lintOptions {
49 disable 'MissingTranslation'
50 }
51 splits {
52 abi {
53 enable true
54 reset()
55 def sp = archs.split(',')
56 include(sp)
57 universalApk true
58 }
59 }
Adrien Béraud0f3ee3d2018-12-08 22:03:54 -050060 dataBinding {
61 enabled true
62 }
Adrien Béraud40db81b2019-04-21 10:29:47 -040063 compileOptions {
Adrien Béraud1ad47632019-06-02 18:53:55 -040064 sourceCompatibility = JavaVersion.VERSION_1_8
65 targetCompatibility = JavaVersion.VERSION_1_8
Adrien Béraud40db81b2019-04-21 10:29:47 -040066 }
Adrien Béraud0e0feef2018-02-13 16:32:06 +010067}
Romain Bertozzi2b2aa6f2016-04-28 11:18:57 -040068
Adrien Béraudb00ed3f2015-06-07 15:36:06 -040069dependencies {
Adrien Béraud382ca222019-08-08 22:27:27 -040070 def android_support_core_version = '1.0.2'
Adrien Béraud259f1222018-09-30 20:07:29 -040071 def android_support_version = '1.0.0'
72 def material_version = '1.0.0'
Adrien Béraud40db81b2019-04-21 10:29:47 -040073 def butterknife_version = '10.1.0'
74 def dagger_version = '2.22.1'
Pierre Duchemin511775d2018-02-15 16:11:38 -050075
Pierre Ducheminb5317682017-12-27 16:38:12 -050076 implementation fileTree(include: '*.jar', dir: 'libs')
77 implementation project(':libringclient')
Alexandre Lision5da46fa2017-08-09 10:25:50 -040078
Adrien Béraud382ca222019-08-08 22:27:27 -040079 implementation "androidx.core:core:$android_support_core_version"
80 implementation "androidx.appcompat:appcompat:$android_support_core_version"
81 implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
Adrien Béraud321c1f92018-09-15 19:56:36 -040082 implementation "androidx.legacy:legacy-support-core-utils:$android_support_version"
Adrien Béraud8bc95102018-08-25 22:34:51 -040083 implementation "androidx.cardview:cardview:$android_support_version"
Adrien Béraud321c1f92018-09-15 19:56:36 -040084 implementation "androidx.preference:preference:$android_support_version"
Adrien Béraud8bc95102018-08-25 22:34:51 -040085 implementation "androidx.recyclerview:recyclerview:$android_support_version"
Adrien Béraud4d6c0682019-08-24 21:47:19 -040086 implementation "androidx.leanback:leanback:1.1.0-alpha02"
87 implementation "androidx.leanback:leanback-preference:1.1.0-alpha02"
Adrien Béraud22ec8b82019-07-27 21:53:50 -040088 implementation 'androidx.media:media:1.1.0-rc01'
Adrien Béraud382ca222019-08-08 22:27:27 -040089 implementation "com.google.android.material:material:$material_version"
Alexandre Lision5da46fa2017-08-09 10:25:50 -040090
Romain Bertozzi64a66782016-08-02 12:10:38 -040091 // ORM
Adrien Béraud40db81b2019-04-21 10:29:47 -040092 implementation 'com.j256.ormlite:ormlite-android:5.1'
Alexandre Lision5da46fa2017-08-09 10:25:50 -040093
Romain Bertozzi64a66782016-08-02 12:10:38 -040094 // Barcode scanning
Adrien Béraudb966f8a2018-06-22 12:15:30 -040095 implementation 'com.journeyapps:zxing-android-embedded:3.6.0@aar'
Alexandre Lision5da46fa2017-08-09 10:25:50 -040096
Romain Bertozzi64a66782016-08-02 12:10:38 -040097 // Butterknife
Pierre Ducheminb5317682017-12-27 16:38:12 -050098 implementation "com.jakewharton:butterknife:$butterknife_version"
99 annotationProcessor "com.jakewharton:butterknife-compiler:$butterknife_version"
100
Pierre Ducheminbb833672018-03-09 16:18:33 -0500101 implementation 'com.rodolfonavalon:ShapeRippleLibrary:1.0.0'
Alexandre Lision5da46fa2017-08-09 10:25:50 -0400102
Thibault Wittemberg55030872016-11-08 10:55:54 -0500103 // Dagger dependency injection
Pierre Duchemin511775d2018-02-15 16:11:38 -0500104 implementation "com.google.dagger:dagger:$dagger_version"
Pierre Ducheminb5317682017-12-27 16:38:12 -0500105 annotationProcessor "com.google.dagger:dagger-compiler:$dagger_version"
Alexandre Lision5da46fa2017-08-09 10:25:50 -0400106
Hadrien De Sousa84ab2d22017-03-16 15:45:52 -0400107 // Glide
Adrien Béraud40db81b2019-04-21 10:29:47 -0400108 implementation 'com.github.bumptech.glide:glide:4.9.0'
109 annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
Hadrien De Sousa0dc83162017-11-10 16:15:18 -0500110
111 // RxAndroid
Adrien Béraud8bc95102018-08-25 22:34:51 -0400112 implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
Adrien Béraud0cfb6c82018-01-24 13:01:23 -0500113
Adrien Béraud6317cf22018-10-21 19:58:43 -0400114 implementation 'com.jsibbold:zoomage:1.2.0'
Adrien Béraud64538722018-03-15 17:34:00 -0400115
Adrien Béraudd85b9072019-07-17 21:42:35 -0400116 withFirebaseImplementation 'com.google.firebase:firebase-core:17.0.1'
Adrien Béraud6ba08e92019-06-28 22:00:04 -0400117 withFirebaseImplementation 'com.google.firebase:firebase-messaging:19.0.1'
Adrien Béraudb00ed3f2015-06-07 15:36:06 -0400118}
119
Adrien Béraud0e0feef2018-02-13 16:32:06 +0100120if (buildFirebase) {
121 println 'apply plugin ' + buildFirebase
Adrien Béraud0cfb6c82018-01-24 13:01:23 -0500122 apply plugin: 'com.google.gms.google-services'
Rayan Osseiran3d17fc72019-05-23 10:58:25 -0400123}