generated from allefsousa/Android-Boilerplate-Basic
-
Notifications
You must be signed in to change notification settings - Fork 0
/
dependencies.gradle
198 lines (177 loc) · 10.9 KB
/
dependencies.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
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
ext {
minSDK = 19
targetSDK = 29
compileSDK = 29
buildTools = '29.0.2'
buildTools = '29.0.0'
kotlin_version = '1.3.50'
lifecycle_version = "2.0.0"
lottie = "3.0.7"
appCompat = "1.1.0"
androidCore = "1.2.0"
constraintLayout = "2.0.0-beta2"
androidMaterial = "1.2.0-alpha05"
androidLegacy = "1.0.0"
koin = "2.0.1"
nav_version = '2.1.0-beta02'
retrofit_version = '2.5.0'
okhttp_version = '3.12.0'
okhttp_version_loggin = '3.12.0'
gson_version = '2.3.0'
logging_version = '3.4.1'
lifecycle_version = "2.0.0"
glide = '4.9.0'
transitions = '1.0.1'
rxAndroid = '2.1.1'
rxJava = '2.1.1'
rxKotlin = '2.4.0'
rxBinding = '3.1.0'
rxAdapter = '2.3.0'
timber = '2.3.0'
multidex_version = '2.0.1'
//Test
mockitoCore = '2.25.1'
junit_version = '4.12'
truth_version = '1.0'
runner_version = '1.2.0'
espresso_version = '3.2.0'
rules_version = '1.2.0'
runnerVersion = "1.2.0"
androidx_junit_version = "1.1.1"
kointeste = "2.0.1"
mockk = "1.9.1"
mockitokotlin = "2.1.0"
mockwebserver = "3.4.1"
testng = "6.9.6"
def modules = [
data : ':data',
domain: ':domain'
]
///
/// Module Dependencies
///
def supportAnnotationsExclude = {
exclude group: 'com.android.support', module: 'support-annotations'
}
def foundationDependencies = [
kotlin : [group: 'org.jetbrains.kotlin', name: 'kotlin-stdlib-jdk7', version: kotlin_version],
appCompat : [group: 'androidx.appcompat', name: 'appcompat', version: appCompat],
core : [group: 'androidx.core', name: 'core-ktx', version: androidCore],
materialDesign : [group: 'com.google.android.material', name: 'material', version: androidMaterial],
constraintLayout : [group: 'androidx.constraintlayout', name: 'constraintlayout', version: constraintLayout],
androidLegacy : [group: 'androidx.legacy', name: 'legacy-support-v4', version: androidLegacy],
lifecycleViewModel : [group: 'androidx.lifecycle', name: 'lifecycle-viewmodel-ktx', version: lifecycle_version],
lifecycleExtensions: [group: 'androidx.lifecycle', name: 'lifecycle-extensions', version: lifecycle_version],
lottie : [group: 'com.airbnb.android', name: 'lottie', version: lottie],
koin : [group: 'org.koin', name: 'koin-android', version: koin],
navfragment : [group: 'androidx.navigation', name: 'navigation-fragment-ktx', version: nav_version],
navUI : [group: 'androidx.navigation', name: 'navigation-ui-ktx', version: nav_version],
transitions : [group: 'androidx.transition', name: 'transition', version: transitions],
timber : [group: 'com.jakewharton.timber', name: 'timber', version: timber],
multidex : [group: 'androidx.multidex', name: 'multidex', version: multidex_version],
]
def androidNetworking = [
retrofit : [group: 'com.squareup.retrofit2', name: 'retrofit', version: retrofit_version],
gsonRetrofit : [group: 'com.squareup.retrofit2', name: 'converter-gson', version: gson_version],
okHttp : [group: 'com.squareup.okhttp3', name: 'okhttp', version: okhttp_version],
okHttpLogging: [group: 'com.squareup.okhttp3', name: 'logging-interceptor', version: okhttp_version_loggin],
rxAndroid : [group: 'io.reactivex.rxjava2', name: 'rxandroid', version: rxAndroid],
rxJava : [group: 'io.reactivex.rxjava2', name: 'rxjava', version: rxJava],
rxkotlin : [group: 'io.reactivex.rxjava2', name: 'rxkotlin', version: rxKotlin],
rxBinding : [group: 'com.jakewharton.rxbinding3', name: 'rxbinding', version: rxBinding],
retrofitRx : [group: 'com.squareup.retrofit2', name: 'adapter-rxjava2', version: rxAdapter]
]
def imageDownloading = [
glide : [group: 'com.github.bumptech.glide', name: 'glide', version: glide],
glideAnnotation: [group: 'com.github.bumptech.glide', name: 'compiler', version: glide],
]
def testDependencies = [
lifecycleTesting: [group: 'androidx.arch.core', name: 'core-testing', version: lifecycle_version],
runner : [group: 'androidx.test', name: 'runner', version: runnerVersion],
espresso : [group: 'androidx.test.espresso', name: 'espresso-core', version: espresso_version],
junit : [group: 'junit', name: 'junit', version: junit_version],
testRules : [group: 'androidx.test', name: 'rules', version: rules_version],
espressoIdling : [group: 'androidx.test.espresso', name: 'espresso-idling-resource', version: espresso_version],
junitExt : [group: 'androidx.test.ext', name: 'junit', version: androidx_junit_version],
espressoIntent : [group: 'androidx.test.espresso', name: 'espresso-intents', version: espresso_version],
espressoWeb : [group: 'androidx.test.espresso', name: 'espresso-web', version: espresso_version],
truth : [group: 'com.google.truth', name: 'truth', version: truth_version],
koinTest : [group: 'org.koin', name: 'koin-test', version: kointeste],
mockTest : [group: 'io.mockk', name: 'mockk', version: mockk],
mockitoKotlin : [group: 'com.nhaarman.mockitokotlin2', name: 'mockito-kotlin', version: mockitokotlin],
mockWebServer : [group: 'com.squareup.okhttp3', name: 'mockwebserver', version: mockwebserver],
testing : [group: 'org.testng', name: 'testng', version: testng],
mockitoCore : [group: 'org.mockito', name: 'mockito-core', version: mockitoCore],
]
appNetworkingModule = [
[configuration: "implementation", dependency: androidNetworking.retrofit],
[configuration: "implementation", dependency: androidNetworking.gsonRetrofit],
[configuration: "implementation", dependency: androidNetworking.okHttpLogging],
[configuration: "implementation", dependency: androidNetworking.rxAndroid],
[configuration: "implementation", dependency: androidNetworking.rxJava],
[configuration: "implementation", dependency: androidNetworking.rxkotlin],
[configuration: "implementation", dependency: androidNetworking.rxBinding],
[configuration: "implementation", dependency: androidNetworking.retrofitRx],
]
appFoundationModule = [
[configuration: "implementation", dependency: foundationDependencies.kotlin],
[configuration: "implementation", dependency: foundationDependencies.appCompat],
[configuration: "implementation", dependency: foundationDependencies.core],
[configuration: "implementation", dependency: foundationDependencies.materialDesign],
[configuration: "implementation", dependency: foundationDependencies.constraintLayout],
[configuration: "implementation", dependency: foundationDependencies.androidLegacy],
[configuration: "implementation", dependency: foundationDependencies.lifecycleViewModel],
[configuration: "implementation", dependency: foundationDependencies.lifecycleExtensions],
[configuration: "implementation", dependency: foundationDependencies.lottie],
[configuration: "implementation", dependency: foundationDependencies.koin],
[configuration: "implementation", dependency: foundationDependencies.navfragment],
[configuration: "implementation", dependency: foundationDependencies.navUI],
[configuration: "implementation", dependency: foundationDependencies.transitions],
[configuration: "implementation", dependency: foundationDependencies.timber],
[configuration: "implementation", dependency: foundationDependencies.multidex],
/**
* Image Downloading
*/
[configuration: "implementation", dependency: imageDownloading.glide],
[configuration: "annotationProcessor", dependency: imageDownloading.glideAnnotation],
]
appTestingModule = [
[configuration: "androidTestImplementation", dependency: testDependencies.espresso,
options : supportAnnotationsExclude],
[configuration: "testImplementation", dependency: testDependencies.junit,
options : supportAnnotationsExclude],
[configuration: "testImplementation", dependency: testDependencies.lifecycleTesting,
options : supportAnnotationsExclude],
[configuration: "androidTestImplementation", dependency: testDependencies.runner,
options : supportAnnotationsExclude],
[configuration: "androidTestImplementation", dependency: testDependencies.testRules,
options : supportAnnotationsExclude],
[configuration: "implementation", dependency: testDependencies.espressoIdling,
options : supportAnnotationsExclude],
[configuration: "androidTestImplementation", dependency: testDependencies.junitExt,
options : supportAnnotationsExclude],
[configuration: "androidTestImplementation", dependency: testDependencies.espressoIntent,
options : supportAnnotationsExclude],
[configuration: "androidTestImplementation", dependency: testDependencies.espressoWeb,
options : supportAnnotationsExclude],
[configuration: "testImplementation", dependency: testDependencies.truth,
options : supportAnnotationsExclude],
[configuration: "androidTestImplementation", dependency: testDependencies.mockWebServer,
options : supportAnnotationsExclude],
[configuration: "testImplementation", dependency: testDependencies.koinTest,
options : supportAnnotationsExclude],
[configuration: "testImplementation", dependency: testDependencies.mockTest,
options : supportAnnotationsExclude],
[configuration: "testImplementation", dependency: testDependencies.mockitoKotlin,
options : supportAnnotationsExclude],
[configuration: "testImplementation", dependency: testDependencies.testing,
options : supportAnnotationsExclude],
[configuration: "testImplementation", dependency: testDependencies.mockitoCore,
options : supportAnnotationsExclude],
]
appModuleDependencies = [
// // Modules
// [configuration: "compile", dependency: project(modules.data)],
// [configuration: "compile", dependency: project(modules.domain)],
]
}