blob: 66ab6e51be1b795e7644794089ce2744094c4aa5 [file] [log] [blame]
Adrien Béraudb00ed3f2015-06-07 15:36:06 -04001apply plugin: 'com.android.application'
2
Pierre Ducheminb5317682017-12-27 16:38:12 -05003def android_support_version = "27.0.2"
4def butterknife_version = "8.8.1"
5def dagger_version = "2.12"
Adrien Béraud0cfb6c82018-01-24 13:01:23 -05006def useFirebase = rootProject.useFirebase
Romain Bertozzi2b2aa6f2016-04-28 11:18:57 -04007
Adrien Béraudb00ed3f2015-06-07 15:36:06 -04008dependencies {
Pierre Ducheminb5317682017-12-27 16:38:12 -05009 implementation fileTree(include: '*.jar', dir: 'libs')
10 implementation project(':libringclient')
Alexandre Lision5da46fa2017-08-09 10:25:50 -040011
Pierre Ducheminb5317682017-12-27 16:38:12 -050012 implementation "com.android.support:support-v13:$android_support_version"
13 implementation "com.android.support:design:$android_support_version"
14 implementation "com.android.support:cardview-v7:$android_support_version"
15 implementation "com.android.support:preference-v14:$android_support_version"
16 implementation "com.android.support:recyclerview-v7:$android_support_version"
17 implementation "com.android.support:appcompat-v7:$android_support_version"
18 implementation "com.android.support:leanback-v17:$android_support_version"
Pierre Duchemin8b715f82018-01-09 11:53:40 -050019 implementation "com.android.support:preference-leanback-v17:$android_support_version"
Alexandre Lision5da46fa2017-08-09 10:25:50 -040020
Romain Bertozzi64a66782016-08-02 12:10:38 -040021 // ORM
Pierre Ducheminb5317682017-12-27 16:38:12 -050022 implementation 'com.j256.ormlite:ormlite-android:4.48'
Alexandre Lision5da46fa2017-08-09 10:25:50 -040023
Romain Bertozzi64a66782016-08-02 12:10:38 -040024 // Barcode scanning
Pierre Ducheminb5317682017-12-27 16:38:12 -050025 implementation 'com.journeyapps:zxing-android-embedded:3.5.0@aar'
Alexandre Lision5da46fa2017-08-09 10:25:50 -040026
Romain Bertozzi64a66782016-08-02 12:10:38 -040027 // Butterknife
Pierre Ducheminb5317682017-12-27 16:38:12 -050028 implementation "com.jakewharton:butterknife:$butterknife_version"
29 annotationProcessor "com.jakewharton:butterknife-compiler:$butterknife_version"
30
31 implementation 'com.skyfishjy.ripplebackground:library:1.0.1'
Alexandre Lision5da46fa2017-08-09 10:25:50 -040032
Thibault Wittemberg55030872016-11-08 10:55:54 -050033 // Dagger dependency injection
Pierre Ducheminb5317682017-12-27 16:38:12 -050034 compile "com.google.dagger:dagger:$dagger_version"
35 annotationProcessor "com.google.dagger:dagger-compiler:$dagger_version"
Thibault Wittemberg55030872016-11-08 10:55:54 -050036 provided 'javax.annotation:jsr250-api:1.0'
Alexandre Lision5da46fa2017-08-09 10:25:50 -040037
Hadrien De Sousa84ab2d22017-03-16 15:45:52 -040038 // Glide
Pierre Ducheminb5317682017-12-27 16:38:12 -050039 implementation 'com.github.bumptech.glide:glide:3.8.0'
Hadrien De Sousa0dc83162017-11-10 16:15:18 -050040
41 // RxAndroid
Pierre Ducheminb5317682017-12-27 16:38:12 -050042 implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
Adrien Béraud0cfb6c82018-01-24 13:01:23 -050043
44 if (useFirebase) {
45 compile 'com.google.firebase:firebase-messaging:11.8.0'
46 }
47
Adrien Béraudb00ed3f2015-06-07 15:36:06 -040048}
49
50android {
Adrien Béraud4bb26e02018-01-13 21:08:59 -050051 compileSdkVersion 27
52 buildToolsVersion "26.0.3"
Adrien Béraudf79762c2016-08-29 18:04:33 -040053
54 defaultConfig {
Alexandre Lisionfed74d72017-08-09 10:59:40 -040055 minSdkVersion 18
Adrien Béraud4bb26e02018-01-13 21:08:59 -050056 targetSdkVersion 27
Pierre Duchemina5529292017-12-18 17:25:54 -050057 vectorDrawables.useSupportLibrary = true
Adrien Béraudf79762c2016-08-29 18:04:33 -040058 }
59
Adrien Béraudb00ed3f2015-06-07 15:36:06 -040060 sourceSets {
61 main {
Adrien Béraud0cfb6c82018-01-24 13:01:23 -050062 java.srcDirs = ['src/main/java']
63 if (useFirebase) {
64 java.srcDirs += 'src/main/javaFirebase'
65 }
Adrien Béraudb00ed3f2015-06-07 15:36:06 -040066 aidl.srcDirs = ['src/main/java']
67 jniLibs.srcDir 'src/main/libs'
68 jni.srcDirs = []
69 }
70
71 // Move the tests to tests/java, tests/res, etc...
72 instrumentTest.setRoot('tests')
73
74 // Move the build types to build-types/<type>
75 // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
76 // This moves them out of them default location under src/<type>/... which would
77 // conflict with src/ being used by the main source set.
78 // Adding new build types or product flavors should be accompanied
79 // by a similar customization.
80 debug.setRoot('build-types/debug')
81 release.setRoot('build-types/release')
82 }
Adrien Béraudb179bab2015-10-08 12:04:22 -040083 compileOptions {
Pierre Duchemin45707ca2018-01-15 15:05:23 -050084 sourceCompatibility JavaVersion.VERSION_1_8
85 targetCompatibility JavaVersion.VERSION_1_8
Adrien Béraudb179bab2015-10-08 12:04:22 -040086 }
Adrien Béraud12b8ddc2015-11-19 14:09:33 -050087 buildTypes {
88 release {
89 minifyEnabled true
Adrien Béraudcf2225d2015-11-21 20:54:14 -050090 proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
Adrien Béraud12b8ddc2015-11-19 14:09:33 -050091 }
92 }
93 signingConfigs {
94 config {
95 keyAlias 'ring'
96 storeFile file('../keystore.bin')
97 }
98 }
99 lintOptions {
100 disable 'MissingTranslation'
101 }
Romain Bertozzi197c8c82016-04-04 14:18:11 -0400102 splits {
103 abi {
104 enable true
105 reset()
106 def sp = archs.split(',')
107 include(sp)
108 universalApk true
Thibault Wittemberg66a00222016-11-07 17:08:47 -0500109 }
Romain Bertozzi197c8c82016-04-04 14:18:11 -0400110 }
Romain Bertozzi197c8c82016-04-04 14:18:11 -0400111}
Adrien Béraud0cfb6c82018-01-24 13:01:23 -0500112
113if (useFirebase) {
114 apply plugin: 'com.google.gms.google-services'
115}