ext { versions = [ minSdkVersion : 21, compileSdkVersion : 29, targetSdkVersion : 29, buildToolsVersion : "29.0.3", appCompatVersion : "1.1.0", lifecycleVersion : "2.2.0", fragmentVersion : "1.3.0-alpha06", workManagerVersion : "2.4.0-alpha01", constraintLayoutVesion : "2.0.0-beta7", cardViewVersion : "1.0.0", recyclerViewVersion : "1.2.0-alpha01", pagingVersion : "2.1.2", viewPagerVersion : "1.0.0", materialVersion : "1.3.0-alpha01", swipeRefreshLayoutVersion: "1.1.0", collectionVersion : "1.1.0", roomVersion : "2.2.5", daggerVersion : "2.27", okHttpVersion : "4.7.2", retrofitVersion : "2.9.0", picassoVersion : "2.71828", moshiVersion : "1.9.3", coroutinesVersion : "1.3.5", leakCanaryVersion : "2.2", timberVersion : "4.7.1", jUnitVersion : "5.6.2", espressoVersion : "3.2.0", mockkVersion : "1.10.0", kluentVersion : "1.60", ] libraries = [ /** * Android libraries */ appCompat : "androidx.appcompat:appcompat:${versions.appCompatVersion}", recyclerView : "androidx.recyclerview:recyclerview:${versions.recyclerViewVersion}", cardView : "androidx.cardview:cardview:${versions.cardViewVersion}", constraintLayout : "androidx.constraintlayout:constraintlayout:${versions.constraintLayoutVesion}", multixDex : "androidx.multidex:multidex:2.0.1", fragment : "androidx.fragment:fragment-ktx:${versions.fragmentVersion}", material : "com.google.android.material:material:${versions.materialVersion}", /** * Jetpack */ navigation : [ "androidx.navigation:navigation-fragment-ktx:$nav_version", "androidx.navigation:navigation-ui-ktx:$nav_version" ], room : [ "androidx.room:room-runtime:${versions.roomVersion}", "androidx.room:room-ktx:${versions.roomVersion}" ], lifecycle : "androidx.lifecycle:lifecycle-extensions:${versions.lifecycleVersion}", liveDataKTX : "androidx.lifecycle:lifecycle-livedata-ktx:${versions.lifecycleVersion}", workManager : "androidx.work:work-runtime-ktx:${versions.workManagerVersion}", paging : "androidx.paging:paging-runtime-ktx:${versions.pagingVersion}", viewPager : "androidx.viewpager2:viewpager2:${versions.viewPagerVersion}", collection : "androidx.collection:collection-ktx:${versions.collectionVersion}", swipeRefreshLayout: "androidx.swiperefreshlayout:swiperefreshlayout:${versions.swipeRefreshLayoutVersion}", /** * Kotlin */ kotlin : "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version", coroutines : "org.jetbrains.kotlinx:kotlinx-coroutines-android:${versions.coroutinesVersion}", /** * Dagger */ dagger : [ "com.google.dagger:dagger:${versions.daggerVersion}", "com.google.dagger:dagger-android:${versions.daggerVersion}", "com.google.dagger:dagger-android-support:${versions.daggerVersion}" ], /** * OkHttp */ okHttp : [ "com.squareup.okhttp3:okhttp:${versions.okHttpVersion}", "com.squareup.okhttp3:logging-interceptor:${versions.okHttpVersion}" ], okHttpLogger : "com.squareup.okhttp3:logging-interceptor:${versions.okHttpVersion}", /** * Retrofit */ retrofit : [ "com.squareup.retrofit2:retrofit:${versions.retrofitVersion}", "com.squareup.retrofit2:converter-moshi:${versions.retrofitVersion}" ], /** * Moshi */ moshi : [ "com.squareup.moshi:moshi:${versions.moshiVersion}", "com.squareup.moshi:moshi-kotlin:${versions.moshiVersion}" ], moshiKotlin : "com.squareup.moshi:moshi-kotlin:${versions.moshiVersion}", /** * Picasso for image loading */ picasso : "com.squareup.picasso:picasso:${versions.picassoVersion}", /** * LeakCanary */ leakCanary : "com.squareup.leakcanary:leakcanary-android:${versions.leakCanaryVersion}", /** * Timber */ timber : "com.jakewharton.timber:timber:${versions.timberVersion}" ] annotationProcessors = [ roomCompiler : "androidx.room:room-compiler:${versions.roomVersion}", daggerCompiler: [ "com.google.dagger:dagger-compiler:${versions.daggerVersion}", "com.google.dagger:dagger-android-processor:${versions.daggerVersion}" ], moshi : "com.squareup.moshi:moshi-kotlin-codegen:${versions.moshiVersion}" ] testLibraries = [ jUnitApi : "org.junit.jupiter:junit-jupiter-api:${versions.jUnitVersion}", jUnitEngine : "org.junit.jupiter:junit-jupiter-engine:${versions.jUnitVersion}", jUnitVintage : "org.junit.vintage:junit-vintage-engine:${versions.jUnitVersion}", jUnitAndroid : "androidx.test.ext:junit:1.1.0", fragmentTest : "androidx.fragment:fragment-testing:${versions.fragmentVersion}", multidexInstrumentation: "androidx.multidex:multidex-instrumentation:2.0.0", coroutinesCore : "org.jetbrains.kotlinx:kotlinx-coroutines-core:${versions.coroutinesVersion}", coroutinesTest : "org.jetbrains.kotlinx:kotlinx-coroutines-test:${versions.coroutinesVersion}", espresso : "androidx.test.espresso:espresso-core:${versions.espressoVersion}", mockk : "io.mockk:mockk:${versions.mockkVersion}", kluent : "org.amshove.kluent:kluent-android:${versions.kluentVersion}" ] }