11ext {
2- minSDK = 16
3- targetSDK = 28
4- compileSDK = 28
2+ minSDK = 19
3+ targetSDK = 29
4+ compileSDK = 29
5+ buildTools = ' 29.0.2'
56
67 buildTools = ' 29.0.0'
7- jacoco = ' 0.8.1'
8- kotlin_version = ' 1.3.41'
8+ kotlin_version = ' 1.3.50'
99 lifecycle_version = " 2.0.0"
10- anko_version = " 0.10.8"
1110 lottie = " 3.0.7"
12- appCompat = " 1.0.2 "
13- androidCore = " 1.0.2 "
14- constraintLayout = " 1.1.3 "
15- androidMaterial = " 1.1 .0-alpha06 "
11+ appCompat = " 1.1.0 "
12+ androidCore = " 1.2.0 "
13+ constraintLayout = " 2.0.0-beta2 "
14+ androidMaterial = " 1.2 .0-alpha05 "
1615 androidLegacy = " 1.0.0"
17- junitVersion = " 4.12"
18- firebaseCore = " 17.0.0"
19- espressoVersion = " 3.2.0"
20- runnerVersion = " 1.2.0"
21- koin = " 1.0.2"
16+ koin = " 2.0.1"
2217 nav_version = ' 2.1.0-beta02'
2318 retrofit_version = ' 2.5.0'
2419 okhttp_version = ' 3.12.0'
2520 okhttp_version_loggin = ' 3.12.0'
2621 gson_version = ' 2.3.0'
2722 logging_version = ' 3.4.1'
2823 lifecycle_version = " 2.0.0"
24+ glide = ' 4.9.0'
25+ transitions = ' 1.0.1'
26+ rxAndroid = ' 2.1.1'
27+ rxJava = ' 2.1.1'
28+ rxKotlin = ' 2.4.0'
29+ rxBinding = ' 3.1.0'
30+ rxAdapter = ' 2.3.0'
31+ timber = ' 2.3.0'
32+ multidex_version = ' 2.0.1'
33+
34+
35+ // Test
36+ mockitoCore = ' 2.25.1'
37+ junit_version = ' 4.12'
38+ truth_version = ' 1.0'
39+ runner_version = ' 1.2.0'
40+ espresso_version = ' 3.2.0'
41+ rules_version = ' 1.2.0'
42+ runnerVersion = " 1.2.0"
43+ androidx_junit_version = " 1.1.1"
44+ kointeste = " 2.0.1"
45+ mockk = " 1.9.1"
46+ mockitokotlin = " 2.1.0"
47+ mockwebserver = " 3.4.1"
48+ testng = " 6.9.6"
2949
30- dependencies = [
31- kotlin : " org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version " ,
32- appCompat : " androidx.appcompat:appcompat:$appCompat " ,
33- core : " androidx.core:core-ktx:$androidCore " ,
34- materialDesign : " com.google.android.material:material:$androidMaterial " ,
35- constraintLayout : " androidx.constraintlayout:constraintlayout:$constraintLayout " ,
36- androidLegacy : " androidx.legacy:legacy-support-v4:$androidLegacy " ,
37- junit : " junit:junit:$junitVersion " ,
38- lifecycleViewModel : " androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version " ,
39- lifecycleExtensions : " androidx.lifecycle:lifecycle-extensions:$lifecycle_version " ,
40- ankoCommons : " org.jetbrains.anko:anko-commons:$anko_version " ,
41- firebaseCore : " com.google.firebase:firebase-core:$firebaseCore " ,
42- lottie : " com.airbnb.android:lottie:$lottie " ,
43- koin : " org.koin:koin-android:$koin " ,
44- navFragment : " androidx.navigation:navigation-fragment-ktx:$nav_version " ,
45- navUI : " androidx.navigation:navigation-ui-ktx:$nav_version " ,
46- rxandroid : " io.reactivex.rxjava2:rxandroid:2.1.1" ,
47- rxjava : " io.reactivex.rxjava2:rxjava:2.1.1" ,
48- rxkotlin : " io.reactivex.rxjava2:rxkotlin:2.4.0" ,
49- retrofitRx : " com.squareup.retrofit2:adapter-rxjava2:2.3.0" ,
50- // ANDROID-NETWORKING
51-
52- retrofit :" com.squareup.retrofit2:retrofit:$retrofit_version " ,
53- gson :" com.squareup.retrofit2:converter-gson:$gson_version " ,
54- okHttp :" com.squareup.okhttp3:okhttp:$okhttp_version " ,
55- okLogging :" com.squareup.okhttp3:logging-interceptor:$okhttp_version_loggin " ,
56- liveDataViewModel :" androidx.lifecycle:lifecycle-extensions:$lifecycle_version "
50+
51+ def modules = [
52+ data : ' :data' ,
53+ domain : ' :domain'
5754 ]
5855
59- testDependecies = [
60- lifecycleTesting : " androidx.arch.core:core-testing:$lifecycle_version " ,
61- runner : " androidx.test:runner:$runnerVersion " ,
62- espresso : " androidx.test.espresso:espresso-core:$espressoVersion " ,
56+ // /
57+ // / Module Dependencies
58+ // /
59+
60+ def supportAnnotationsExclude = {
61+ exclude group : ' com.android.support' , module : ' support-annotations'
62+ }
63+
64+
65+ def foundationDependencies = [
66+ kotlin : [group : ' org.jetbrains.kotlin' , name : ' kotlin-stdlib-jdk7' , version : kotlin_version],
67+ appCompat : [group : ' androidx.appcompat' , name : ' appcompat' , version : appCompat],
68+ core : [group : ' androidx.core' , name : ' core-ktx' , version : androidCore],
69+ materialDesign : [group : ' com.google.android.material' , name : ' material' , version : androidMaterial],
70+ constraintLayout : [group : ' androidx.constraintlayout' , name : ' constraintlayout' , version : constraintLayout],
71+ androidLegacy : [group : ' androidx.legacy' , name : ' legacy-support-v4' , version : androidLegacy],
72+ lifecycleViewModel : [group : ' androidx.lifecycle' , name : ' lifecycle-viewmodel-ktx' , version : lifecycle_version],
73+ lifecycleExtensions : [group : ' androidx.lifecycle' , name : ' lifecycle-extensions' , version : lifecycle_version],
74+ lottie : [group : ' com.airbnb.android' , name : ' lottie' , version : lottie],
75+ koin : [group : ' org.koin' , name : ' koin-android' , version : koin],
76+ navfragment : [group : ' androidx.navigation' , name : ' navigation-fragment-ktx' , version : nav_version],
77+ navUI : [group : ' androidx.navigation' , name : ' navigation-ui-ktx' , version : nav_version],
78+ transitions : [group : ' androidx.transition' , name : ' transition' , version : transitions],
79+ timber : [group : ' com.jakewharton.timber' , name : ' timber' , version : timber],
80+ multidex : [group : ' androidx.multidex' , name : ' multidex' , version : multidex_version],
81+
82+
6383 ]
6484
85+ def androidNetworking = [
86+ retrofit : [group : ' com.squareup.retrofit2' , name : ' retrofit' , version : retrofit_version],
87+ gsonRetrofit : [group : ' com.squareup.retrofit2' , name : ' converter-gson' , version : gson_version],
88+ okHttp : [group : ' com.squareup.okhttp3' , name : ' okhttp' , version : okhttp_version],
89+ okHttpLogging : [group : ' com.squareup.okhttp3' , name : ' logging-interceptor' , version : okhttp_version_loggin],
90+ rxAndroid : [group : ' io.reactivex.rxjava2' , name : ' rxandroid' , version : rxAndroid],
91+ rxJava : [group : ' io.reactivex.rxjava2' , name : ' rxjava' , version : rxJava],
92+ rxkotlin : [group : ' io.reactivex.rxjava2' , name : ' rxkotlin' , version : rxKotlin],
93+ rxBinding : [group : ' com.jakewharton.rxbinding3' , name : ' rxbinding' , version : rxBinding],
94+ retrofitRx : [group : ' com.squareup.retrofit2' , name : ' adapter-rxjava2' , version : rxAdapter]
95+ ]
96+ def imageDownloading = [
97+ glide : [group : ' com.github.bumptech.glide' , name : ' glide' , version : glide],
98+ glideAnnotation : [group : ' com.github.bumptech.glide' , name : ' compiler' , version : glide],
99+
100+ ]
65101
102+ def testDependencies = [
103+ lifecycleTesting : [group : ' androidx.arch.core' , name : ' core-testing' , version : lifecycle_version],
104+ runner : [group : ' androidx.test' , name : ' runner' , version : runnerVersion],
105+ espresso : [group : ' androidx.test.espresso' , name : ' espresso-core' , version : espresso_version],
106+ junit : [group : ' junit' , name : ' junit' , version : junit_version],
107+ testRules : [group : ' androidx.test' , name : ' rules' , version : rules_version],
108+ espressoIdling : [group : ' androidx.test.espresso' , name : ' espresso-idling-resource' , version : espresso_version],
109+ junitExt : [group : ' androidx.test.ext' , name : ' junit' , version : androidx_junit_version],
110+ espressoIntent : [group : ' androidx.test.espresso' , name : ' espresso-intents' , version : espresso_version],
111+ espressoWeb : [group : ' androidx.test.espresso' , name : ' espresso-web' , version : espresso_version],
112+ truth : [group : ' com.google.truth' , name : ' truth' , version : truth_version],
113+ koinTest : [group : ' org.koin' , name : ' koin-test' , version : kointeste],
114+ mockTest : [group : ' io.mockk' , name : ' mockk' , version : mockk],
115+ mockitoKotlin : [group : ' com.nhaarman.mockitokotlin2' , name : ' mockito-kotlin' , version : mockitokotlin],
116+ mockWebServer : [group : ' com.squareup.okhttp3' , name : ' mockwebserver' , version : mockwebserver],
117+ testing : [group : ' org.testng' , name : ' testng' , version : testng],
118+ mockitoCore : [group : ' org.mockito' , name : ' mockito-core' , version : mockitoCore],
119+
120+ ]
121+
122+ appNetworkingModule = [
123+ [configuration : " implementation" , dependency : androidNetworking. retrofit],
124+ [configuration : " implementation" , dependency : androidNetworking. gsonRetrofit],
125+ [configuration : " implementation" , dependency : androidNetworking. okHttpLogging],
126+ [configuration : " implementation" , dependency : androidNetworking. rxAndroid],
127+ [configuration : " implementation" , dependency : androidNetworking. rxJava],
128+ [configuration : " implementation" , dependency : androidNetworking. rxkotlin],
129+ [configuration : " implementation" , dependency : androidNetworking. rxBinding],
130+ [configuration : " implementation" , dependency : androidNetworking. retrofitRx],
131+ ]
132+
133+ appFoundationModule = [
134+
135+ [configuration : " implementation" , dependency : foundationDependencies. kotlin],
136+ [configuration : " implementation" , dependency : foundationDependencies. appCompat],
137+ [configuration : " implementation" , dependency : foundationDependencies. core],
138+ [configuration : " implementation" , dependency : foundationDependencies. materialDesign],
139+ [configuration : " implementation" , dependency : foundationDependencies. constraintLayout],
140+ [configuration : " implementation" , dependency : foundationDependencies. androidLegacy],
141+ [configuration : " implementation" , dependency : foundationDependencies. lifecycleViewModel],
142+ [configuration : " implementation" , dependency : foundationDependencies. lifecycleExtensions],
143+ [configuration : " implementation" , dependency : foundationDependencies. lottie],
144+ [configuration : " implementation" , dependency : foundationDependencies. koin],
145+ [configuration : " implementation" , dependency : foundationDependencies. navfragment],
146+ [configuration : " implementation" , dependency : foundationDependencies. navUI],
147+ [configuration : " implementation" , dependency : foundationDependencies. transitions],
148+ [configuration : " implementation" , dependency : foundationDependencies. timber],
149+ [configuration : " implementation" , dependency : foundationDependencies. multidex],
150+
151+ /**
152+ * Image Downloading
153+ */
154+ [configuration : " implementation" , dependency : imageDownloading. glide],
155+ [configuration : " annotationProcessor" , dependency : imageDownloading. glideAnnotation],
156+ ]
157+ appTestingModule = [
158+ [configuration : " androidTestImplementation" , dependency : testDependencies. espresso,
159+ options : supportAnnotationsExclude],
160+ [configuration : " testImplementation" , dependency : testDependencies. junit,
161+ options : supportAnnotationsExclude],
162+ [configuration : " testImplementation" , dependency : testDependencies. lifecycleTesting,
163+ options : supportAnnotationsExclude],
164+ [configuration : " androidTestImplementation" , dependency : testDependencies. runner,
165+ options : supportAnnotationsExclude],
166+ [configuration : " androidTestImplementation" , dependency : testDependencies. testRules,
167+ options : supportAnnotationsExclude],
168+ [configuration : " implementation" , dependency : testDependencies. espressoIdling,
169+ options : supportAnnotationsExclude],
170+ [configuration : " androidTestImplementation" , dependency : testDependencies. junitExt,
171+ options : supportAnnotationsExclude],
172+ [configuration : " androidTestImplementation" , dependency : testDependencies. espressoIntent,
173+ options : supportAnnotationsExclude],
174+ [configuration : " androidTestImplementation" , dependency : testDependencies. espressoWeb,
175+ options : supportAnnotationsExclude],
176+ [configuration : " testImplementation" , dependency : testDependencies. truth,
177+ options : supportAnnotationsExclude],
178+ [configuration : " androidTestImplementation" , dependency : testDependencies. mockWebServer,
179+ options : supportAnnotationsExclude],
180+ [configuration : " testImplementation" , dependency : testDependencies. koinTest,
181+ options : supportAnnotationsExclude],
182+ [configuration : " testImplementation" , dependency : testDependencies. mockTest,
183+ options : supportAnnotationsExclude],
184+ [configuration : " testImplementation" , dependency : testDependencies. mockitoKotlin,
185+ options : supportAnnotationsExclude],
186+ [configuration : " testImplementation" , dependency : testDependencies. testing,
187+ options : supportAnnotationsExclude],
188+ [configuration : " testImplementation" , dependency : testDependencies. mockitoCore,
189+ options : supportAnnotationsExclude],
190+ ]
191+
192+ appModuleDependencies = [
193+
194+ // // Modules
195+ // [configuration: "compile", dependency: project(modules.data)],
196+ // [configuration: "compile", dependency: project(modules.domain)],
197+ ]
66198}
0 commit comments