-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
169 lines (146 loc) · 7.47 KB
/
build.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
buildscript {
ext.buildConfig = [
'compileSdk' : 28,
'minSdk' : 21,
'targetSdk' : 28,
'applicationId' : 'com.varol.lastfm',
'versionClassifier': null,
'isSnapshot' : false,
'version' : [
'major': 0,
'minor': 1,
'patch': 0,
],
]
ext.versions = [
'kotlin' : '1.3.41',
'kotlinCoroutines': '1.0.0',
'okhttp' : '3.11.0',
'retrofit' : '2.4.0',
'kotshi' : '1.0.4',
'dagger' : '2.16',
'moshi' : '1.7.0',
'chuck' : '1.1.0',
'glide' : '4.8.0',
]
ext.deps = [
'kotlin' : [
'stdlib' : [
'common': "org.jetbrains.kotlin:kotlin-stdlib-common:${versions.kotlin}",
'jdk' : "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${versions.kotlin}",
],
'coroutines': [
'core' : "org.jetbrains.kotlinx:kotlinx-coroutines-core-common:${versions.kotlinCoroutines}",
'jdk' : "org.jetbrains.kotlinx:kotlinx-coroutines-core:${versions.kotlinCoroutines}",
'android': "org.jetbrains.kotlinx:kotlinx-coroutines-android:${versions.kotlinCoroutines}",
],
],
'androidx' : [
'annotations' : 'androidx.annotation:annotation:1.0.0',
'appCompat' : 'androidx.appcompat:appcompat:1.0.0',
'constraintLayout': 'androidx.constraintlayout:constraintlayout:1.1.3',
'core' : 'androidx.core:core-ktx:1.0.0',
'recyclerView' : 'androidx.recyclerview:recyclerview:1.0.0',
'cardView' : 'androidx.cardview:cardview:1.0.0',
'supportLibrary' : 'androidx.legacy:legacy-support-v4:1.0.0',
'lifeCycle' : 'androidx.lifecycle:lifecycle-extensions:2.0.0-rc01',
'liveData' : 'androidx.lifecycle:lifecycle-livedata:2.0.0-rc01',
],
'dataBindingCompiler': 'androidx.databinding:databinding-compiler:3.2.1',
'material' : 'com.google.android.material:material:1.0.0-rc01',
'okhttp' : [
'client' : "com.squareup.okhttp3:okhttp:${versions.okhttp}",
'logging' : "com.squareup.okhttp3:logging-interceptor:${versions.okhttp}",
'mockWebServer': "com.squareup.okhttp3:mockwebserver:${versions.okhttp}",
],
'firebase' : [
'core': 'com.google.firebase:firebase-core:16.0.4',
],
'retrofit' : [
'client' : "com.squareup.retrofit2:retrofit:${versions.retrofit}",
'adapterKotlinCoroutines' : 'com.jakewharton.retrofit:retrofit2-kotlin-coroutines-adapter:0.9.2',
'converterKotlinxSerialization': 'com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:0.2.0',
'rxJavaAdapter' : 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0',
"convertorGson" : "com.squareup.retrofit2:converter-gson:${versions.retrofit}",
'converterMoshi' : "com.squareup.retrofit2:converter-moshi:${versions.retrofit}",
],
'gson' : 'com.google.code.gson:gson:2.8.5',
'kotshi' : [
'api' : "se.ansman.kotshi:api:${versions.kotshi}",
'compiler': "se.ansman.kotshi:compiler:${versions.kotshi}",
],
'dagger' : [
'runtime' : "com.google.dagger:dagger:${versions.dagger}",
'compiler' : "com.google.dagger:dagger-compiler:${versions.dagger}",
'androidRuntime' : "com.google.dagger:dagger-android:${versions.dagger}",
'androidCompiler': "com.google.dagger:dagger-android-processor:${versions.dagger}",
],
'okio' : 'com.squareup.okio:okio:2.0.0',
'moshi' : [
'kotlin' : "com.squareup.moshi:moshi-kotlin:${versions.dagger}",
'adapters': "com.squareup.moshi:moshi-adapters:${versions.dagger}",
],
'timber' : 'com.jakewharton.timber:timber:4.7.1',
'junit' : 'junit:junit:4.12',
'exoPlayer' : 'com.google.android.exoplayer:exoplayer:2.8.4',
'koin' : [
'base' : 'org.koin:koin-android:1.0.1',
'scope' : 'org.koin:koin-androidx-scope:1.0.1',
'viewModel': 'org.koin:koin-androidx-viewmodel:1.0.1',
],
'chuckOkHttp' : [
'debug' : "com.readystatesoftware.chuck:library:${versions.chuck}",
'release': "com.readystatesoftware.chuck:library-no-op:${versions.chuck}",
],
'rx' : [
'java' : 'io.reactivex.rxjava2:rxjava:2.1.8',
'android': 'io.reactivex.rxjava2:rxandroid:2.1.0',
],
'room' : [
'base' : 'android.arch.persistence.room:runtime:1.1.1',
'compiler': 'android.arch.persistence.room:compiler:1.1.1',
'rxJava' : 'android.arch.persistence.room:rxjava2:1.1.1',
],
'glide' : [
'main' : "com.github.bumptech.glide:glide:${versions.glide}",
'compiler': "com.github.bumptech.glide:compiler:${versions.glide}",
],
'navigationBar' : 'devlight.io:navigationtabbar:1.2.5',
]
repositories {
mavenCentral()
google()
maven { url "https://kotlin.bintray.com/kotlinx" }
maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
maven { url 'https://maven.fabric.io/public' }
gradlePluginPortal()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.0-rc02'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${versions.kotlin}"
//noinspection GradleDynamicVersion
classpath 'io.fabric.tools:gradle:1.+'
}
}
allprojects {
repositories {
mavenCentral()
google()
maven { url "https://kotlin.bintray.com/kotlinx" }
maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
jcenter()
}
}
private Integer generateVersionCode() {
return buildConfig.minSdk * 10000000 + buildConfig.version.major * 10000 + buildConfig.version.minor * 100 + buildConfig.version.patch
}
private String generateVersionName() {
String versionName = "${buildConfig.version.major}.${buildConfig.version.minor}.${buildConfig.version.patch}"
if (buildConfig.versionClassifier == null && buildConfig.isSnapshot) {
buildConfig.versionClassifier = "SNAPSHOT"
}
if (buildConfig.versionClassifier != null) {
versionName += "-" + buildConfig.versionClassifier
}
return versionName
}