mirror of
https://github.com/reactivedroid/TvFlix.git
synced 2025-05-17 13:25:55 +08:00
Migration from Groovy to Kotlin DSL
This commit is contained in:
@ -1,72 +0,0 @@
|
||||
apply plugin: 'com.android.application'
|
||||
apply from: "$project.rootDir/tools/checkstyle.gradle"
|
||||
apply from: "$project.rootDir/tools/pmd.gradle"
|
||||
apply plugin: 'kotlin-android'
|
||||
apply plugin: 'kotlin-kapt'
|
||||
apply plugin: 'kotlin-android-extensions'
|
||||
apply plugin: 'dagger.hilt.android.plugin'
|
||||
|
||||
android {
|
||||
compileSdkVersion versions.compile_sdk
|
||||
|
||||
dataBinding {
|
||||
enabled true
|
||||
}
|
||||
defaultConfig {
|
||||
applicationId "com.android.tvmaze"
|
||||
minSdkVersion versions.min_sdk
|
||||
targetSdkVersion versions.target_sdk
|
||||
versionCode versions.app_version_code
|
||||
versionName versions.app_version_name
|
||||
multiDexEnabled true
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
testOptions.unitTests.includeAndroidResources = true
|
||||
}
|
||||
flavorDimensions "default"
|
||||
productFlavors {
|
||||
prod {
|
||||
dimension "default"
|
||||
applicationId = "com.android.tvmaze"
|
||||
}
|
||||
dev {
|
||||
dimension "default"
|
||||
applicationId = "com.android.tvmaze.dev"
|
||||
}
|
||||
}
|
||||
buildTypes {
|
||||
debug {
|
||||
applicationIdSuffix = ".debug"
|
||||
}
|
||||
release {
|
||||
shrinkResources true
|
||||
minifyEnabled true
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
|
||||
packagingOptions {
|
||||
exclude 'META-INF/ASL2.0'
|
||||
exclude 'META-INF/DEPENDENCIES'
|
||||
exclude 'META-INF/NOTICE'
|
||||
exclude 'META-INF/LICENSE'
|
||||
exclude 'META-INF/LICENSE.txt'
|
||||
exclude 'META-INF/NOTICE.txt'
|
||||
exclude '.readme'
|
||||
}
|
||||
// To enable experimental functionality like @Parcelize
|
||||
androidExtensions {
|
||||
experimental = true
|
||||
}
|
||||
|
||||
kotlinOptions {
|
||||
jvmTarget = "1.8"
|
||||
}
|
||||
}
|
||||
|
||||
apply from: 'dependencies.gradle'
|
||||
|
||||
|
168
app/build.gradle.kts
Normal file
168
app/build.gradle.kts
Normal file
@ -0,0 +1,168 @@
|
||||
plugins {
|
||||
id("com.android.application")
|
||||
kotlin("android")
|
||||
kotlin("kapt")
|
||||
kotlin("android.extensions")
|
||||
id("dagger.hilt.android.plugin")
|
||||
}
|
||||
|
||||
apply {
|
||||
from(rootProject.file("tools/checkstyle.gradle"))
|
||||
from(rootProject.file("tools/pmd.gradle"))
|
||||
}
|
||||
|
||||
android {
|
||||
compileSdkVersion(Deps.Versions.compile_sdk)
|
||||
|
||||
buildFeatures {
|
||||
viewBinding = true
|
||||
dataBinding = true
|
||||
buildConfig = true
|
||||
}
|
||||
|
||||
defaultConfig {
|
||||
applicationId = "com.android.tvflix"
|
||||
minSdkVersion(Deps.Versions.min_sdk)
|
||||
targetSdkVersion(Deps.Versions.target_sdk)
|
||||
versionCode = Deps.Versions.app_version_code
|
||||
versionName = Deps.Versions.app_version_name
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
javaCompileOptions {
|
||||
annotationProcessorOptions {
|
||||
// Refer https://developer.android.com/jetpack/androidx/releases/room#compiler-options
|
||||
arguments(
|
||||
mapOf(
|
||||
"room.schemaLocation" to "$projectDir/schemas",
|
||||
"room.incremental" to "true",
|
||||
"room.expandProjection" to "true"
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
flavorDimensions("default")
|
||||
productFlavors {
|
||||
create("prod") {
|
||||
applicationId = "com.android.tvflix"
|
||||
}
|
||||
create("dev") {
|
||||
applicationId = "com.android.tvflix.dev"
|
||||
}
|
||||
}
|
||||
buildTypes {
|
||||
getByName("debug") {
|
||||
applicationIdSuffix = ".debug"
|
||||
}
|
||||
getByName("release") {
|
||||
isMinifyEnabled = true
|
||||
isShrinkResources = true
|
||||
isDebuggable = false
|
||||
proguardFiles(
|
||||
getDefaultProguardFile("proguard-android-optimize.txt"),
|
||||
"proguard-rules.pro"
|
||||
)
|
||||
}
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility = JavaVersion.VERSION_1_8
|
||||
targetCompatibility = JavaVersion.VERSION_1_8
|
||||
}
|
||||
|
||||
testOptions {
|
||||
unitTests.isIncludeAndroidResources = true
|
||||
animationsDisabled = true
|
||||
}
|
||||
|
||||
kapt {
|
||||
useBuildCache = true
|
||||
javacOptions {
|
||||
// Increase the max count of errors from annotation processors.
|
||||
// Default is 100.
|
||||
option("-Xmaxerrs", 500)
|
||||
}
|
||||
}
|
||||
testBuildType = "debug"
|
||||
|
||||
packagingOptions {
|
||||
exclude("META-INF/ASL2.0")
|
||||
exclude("META-INF/DEPENDENCIES")
|
||||
exclude("META-INF/NOTICE")
|
||||
exclude("META-INF/LICENSE")
|
||||
exclude("META-INF/LICENSE.txt")
|
||||
exclude("META-INF/NOTICE.txt")
|
||||
exclude(".readme")
|
||||
}
|
||||
|
||||
kotlinOptions {
|
||||
jvmTarget = "1.8"
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar"))))
|
||||
implementation(Deps.Google.material)
|
||||
// start-region AndroidX
|
||||
implementation(Deps.AndroidX.ktx_core)
|
||||
implementation(Deps.AndroidX.ktx_fragment)
|
||||
implementation(Deps.AndroidX.ktx_activity)
|
||||
implementation(Deps.AndroidX.constraint_layout)
|
||||
implementation(Deps.AndroidX.Lifecycle.extensions)
|
||||
kapt(Deps.AndroidX.Lifecycle.compiler)
|
||||
implementation(Deps.AndroidX.Lifecycle.viewmodel)
|
||||
implementation(Deps.AndroidX.Lifecycle.livedata)
|
||||
implementation(Deps.AndroidX.Paging.runtime)
|
||||
testImplementation(Deps.AndroidX.Paging.common)
|
||||
implementation(Deps.AndroidX.Room.runtime)
|
||||
kapt(Deps.AndroidX.Room.compiler)
|
||||
testImplementation(Deps.AndroidX.Room.testing)
|
||||
implementation(Deps.AndroidX.Room.ktx)
|
||||
implementation(Deps.AndroidX.Hilt.viewmodel)
|
||||
kapt(Deps.AndroidX.Hilt.compiler)
|
||||
implementation(Deps.AndroidX.multidex)
|
||||
implementation(Deps.AndroidX.annotation)
|
||||
// end-region AndroidX
|
||||
|
||||
implementation(Deps.OkHttp.main)
|
||||
implementation(Deps.OkHttp.logging_interceptor)
|
||||
implementation(Deps.Glide.runtime)
|
||||
implementation(Deps.Glide.okhttp_integration)
|
||||
kapt(Deps.Glide.compiler)
|
||||
implementation(Deps.Retrofit.main)
|
||||
implementation(Deps.Retrofit.moshi)
|
||||
|
||||
implementation(Deps.timber)
|
||||
|
||||
// start-region Test
|
||||
testImplementation(Deps.junit)
|
||||
testImplementation(Deps.Mockito.core)
|
||||
androidTestImplementation(Deps.Mockito.android)
|
||||
testImplementation(Deps.Mockito.kotlin)
|
||||
testImplementation(Deps.Mockito.inline)
|
||||
testImplementation(Deps.robolectric)
|
||||
testImplementation(Deps.AndroidX.Test.arch_core_testing)
|
||||
testImplementation(Deps.AndroidX.Test.core)
|
||||
androidTestImplementation(Deps.AndroidX.Test.runner)
|
||||
androidTestImplementation(Deps.AndroidX.Test.junit)
|
||||
// Espresso
|
||||
androidTestImplementation(Deps.AndroidX.Test.Espresso.core)
|
||||
androidTestImplementation(Deps.AndroidX.Test.Espresso.contrib)
|
||||
androidTestImplementation(Deps.AndroidX.Test.Espresso.idling_resource)
|
||||
androidTestImplementation(Deps.AndroidX.Test.rules)
|
||||
testImplementation(Deps.truth)
|
||||
testImplementation(Deps.Coroutines.test)
|
||||
// end-region Test
|
||||
|
||||
implementation(Deps.Moshi.kotlin)
|
||||
kapt(Deps.Moshi.codegen)
|
||||
|
||||
implementation(Deps.Coroutines.core)
|
||||
implementation(Deps.Coroutines.android)
|
||||
|
||||
debugImplementation(Deps.Chucker.debug)
|
||||
releaseImplementation(Deps.Chucker.release)
|
||||
|
||||
implementation(Deps.Hilt.android)
|
||||
kapt(Deps.Hilt.android_compiler)
|
||||
}
|
||||
|
||||
|
@ -1,85 +0,0 @@
|
||||
dependencies {
|
||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||
//Support
|
||||
implementation deps.androidx_lib.design
|
||||
implementation deps.androidx_lib.appcompat
|
||||
implementation deps.androidx_lib.support_annotations
|
||||
implementation deps.androidx_lib.recyclerview
|
||||
implementation deps.androidx_lib.cardview
|
||||
implementation deps.androidx_lib.ktx_core
|
||||
implementation deps.androidx_lib.ktx_collections
|
||||
implementation deps.androidx_lib.ktx_fragment
|
||||
implementation deps.androidx_lib.ktx_activity
|
||||
implementation deps.constraint_layout
|
||||
|
||||
implementation deps.multidex
|
||||
|
||||
implementation deps.okhttp.main
|
||||
implementation deps.okhttp.logging_interceptor
|
||||
|
||||
// Glide
|
||||
implementation deps.glide.runtime
|
||||
implementation deps.glide.okhttp_integration
|
||||
kapt deps.glide.compiler
|
||||
|
||||
// Retrofit
|
||||
implementation deps.retrofit.main
|
||||
implementation deps.retrofit.moshi
|
||||
implementation deps.okhttp.logging_interceptor
|
||||
|
||||
// Viewmodel
|
||||
implementation deps.lifecycle.extensions
|
||||
kapt deps.lifecycle.compiler
|
||||
implementation deps.lifecycle.viewmodel_ktx
|
||||
implementation deps.lifecycle.livedata_ktx
|
||||
|
||||
// Paging
|
||||
implementation deps.paging.runtime
|
||||
testImplementation deps.paging.common
|
||||
|
||||
// Room
|
||||
implementation deps.room.runtime
|
||||
kapt deps.room.compiler
|
||||
testImplementation deps.room.testing
|
||||
implementation deps.room.ktx
|
||||
|
||||
// Logger
|
||||
implementation deps.timber
|
||||
|
||||
// Test
|
||||
testImplementation deps.junit
|
||||
androidTestImplementation deps.findbugs_jsr
|
||||
testImplementation deps.mockito.core
|
||||
androidTestImplementation deps.mockito.android
|
||||
testImplementation deps.mockito.kotlin
|
||||
testImplementation deps.mockito.inline
|
||||
testImplementation deps.robolectric
|
||||
testImplementation deps.arch_core_testing
|
||||
// Espresso
|
||||
androidTestImplementation deps.espresso.core
|
||||
androidTestImplementation deps.espresso.contrib
|
||||
androidTestImplementation deps.espresso.idling_resource
|
||||
androidTestImplementation deps.android_test.rules
|
||||
androidTestImplementation deps.android_test.runner
|
||||
androidTestImplementation deps.android_test.junit
|
||||
// Assertion library: https://truth.dev/
|
||||
testImplementation deps.truth
|
||||
|
||||
implementation deps.moshi.kotlin
|
||||
kapt deps.moshi.codegen
|
||||
|
||||
kapt deps.databinding
|
||||
|
||||
implementation deps.coroutines.core
|
||||
implementation deps.coroutines.rx2
|
||||
implementation deps.coroutines.android
|
||||
testImplementation deps.coroutines.test
|
||||
|
||||
debugImplementation deps.chucker.debug
|
||||
releaseImplementation deps.chucker.release
|
||||
|
||||
implementation deps.hilt.android
|
||||
kapt deps.hilt.android_compiler
|
||||
implementation deps.hilt.viewmodel
|
||||
kapt deps.hilt.compiler
|
||||
}
|
35
app/proguard-rules.pro
vendored
35
app/proguard-rules.pro
vendored
@ -20,21 +20,6 @@
|
||||
}
|
||||
-dontwarn org.apache.**
|
||||
|
||||
# Design support library
|
||||
-keep class android.support.design.widget.** { *; }
|
||||
-keep interface android.support.design.widget.** { *; }
|
||||
-dontwarn android.support.design.**
|
||||
|
||||
-keep class android.support.v4.** { *; }
|
||||
-keep interface android.support.v4.app.** { *; }
|
||||
|
||||
# FOR APPCOMPAT 23.1.1 and higher to avoid crashes on specific devices
|
||||
# Need to check if it will be necessary starting with 24.0.0
|
||||
# https://code.google.com/p/android/issues/detail?id=78377#c336
|
||||
-keep class !android.support.v7.view.menu.*MenuBuilder*, android.support.v7.** { *; }
|
||||
-keep interface android.support.v7.** { *; }
|
||||
|
||||
|
||||
# Needed by commons logging
|
||||
-keep class org.apache.commons.logging.* { *; }
|
||||
|
||||
@ -112,4 +97,22 @@
|
||||
public static *** v(...);
|
||||
public static *** d(...);
|
||||
public static *** i(...);
|
||||
}
|
||||
}
|
||||
|
||||
# OkHttp platform used only on JVM and when Conscrypt dependency is available.
|
||||
-dontwarn okhttp3.internal.platform.ConscryptPlatform
|
||||
|
||||
# Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java.
|
||||
-dontwarn org.codehaus.mojo.animal_sniffer.*
|
||||
|
||||
-keep public class * implements com.bumptech.glide.module.GlideModule
|
||||
-keep class * extends com.bumptech.glide.module.AppGlideModule {
|
||||
<init>(...);
|
||||
}
|
||||
-keep public enum com.bumptech.glide.load.ImageHeaderParser$** {
|
||||
**[] $VALUES;
|
||||
public *;
|
||||
}
|
||||
-keep class com.bumptech.glide.load.data.ParcelFileDescriptorRewinder$InternalRewinder {
|
||||
*** rewind();
|
||||
}
|
||||
|
31
build.gradle
31
build.gradle
@ -1,31 +0,0 @@
|
||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||
|
||||
buildscript {
|
||||
apply from: 'deps-declaration.gradle'
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven { url "https://maven.fabric.io/public" }
|
||||
google()
|
||||
jcenter()
|
||||
}
|
||||
dependencies {
|
||||
classpath deps.android_plugin
|
||||
classpath deps.kotlin.gradle_plugin
|
||||
classpath deps.hilt.gradle_plugin
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
// in the individual module build.gradle files
|
||||
}
|
||||
}
|
||||
|
||||
allprojects {
|
||||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
maven { url "https://jitpack.io" }
|
||||
maven { url "https://maven.google.com" }
|
||||
maven { url "http://repository.jetbrains.com/all" }
|
||||
}
|
||||
}
|
||||
task clean(type: Delete) {
|
||||
delete rootProject.buildDir
|
||||
}
|
45
build.gradle.kts
Normal file
45
build.gradle.kts
Normal file
@ -0,0 +1,45 @@
|
||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||
buildscript {
|
||||
repositories {
|
||||
gradlePluginPortal()
|
||||
mavenCentral()
|
||||
google()
|
||||
jcenter()
|
||||
}
|
||||
dependencies {
|
||||
classpath(Deps.android_plugin)
|
||||
classpath(Deps.Kotlin.gradle_plugin)
|
||||
classpath(Deps.Hilt.gradlePlugin)
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
// in the individual module build.gradle.kts files
|
||||
}
|
||||
}
|
||||
|
||||
allprojects {
|
||||
repositories {
|
||||
mavenCentral()
|
||||
google()
|
||||
jcenter()
|
||||
}
|
||||
configurations.all {
|
||||
resolutionStrategy.eachDependency {
|
||||
when {
|
||||
requested.name.startsWith("kotlin-stdlib") -> {
|
||||
useTarget(
|
||||
"${requested.group}:${requested.name.replace(
|
||||
"jre",
|
||||
"jdk"
|
||||
)}:${requested.version}"
|
||||
)
|
||||
}
|
||||
else -> when (requested.group) {
|
||||
"org.jetbrains.kotlin" -> useVersion(Deps.Versions.kotlin)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tasks.register("clean").configure {
|
||||
delete("build")
|
||||
}
|
12
buildSrc/build.gradle.kts
Normal file
12
buildSrc/build.gradle.kts
Normal file
@ -0,0 +1,12 @@
|
||||
repositories {
|
||||
jcenter()
|
||||
}
|
||||
|
||||
plugins {
|
||||
`kotlin-dsl`
|
||||
`java-gradle-plugin`
|
||||
}
|
||||
|
||||
kotlinDslPluginOptions {
|
||||
experimentalWarning.set(false)
|
||||
}
|
158
buildSrc/src/main/kotlin/Dependencies.kt
Normal file
158
buildSrc/src/main/kotlin/Dependencies.kt
Normal file
@ -0,0 +1,158 @@
|
||||
object Deps {
|
||||
object Versions {
|
||||
const val compile_sdk = 28
|
||||
const val min_sdk = 21
|
||||
const val target_sdk = 26
|
||||
const val app_version_code = 104
|
||||
const val app_version_name = "2.1.0"
|
||||
const val android_plugin = "4.0.1"
|
||||
const val constraint_layout = "2.0.0-beta4"
|
||||
const val lifecycle = "2.2.0"
|
||||
const val android_test = "1.2.0"
|
||||
const val espresso = "3.2.0"
|
||||
const val glide = "4.11.0"
|
||||
const val junit = "4.12"
|
||||
const val mockito = "3.2.4"
|
||||
const val okhttp = "4.8.0"
|
||||
const val retrofit = "2.9.0"
|
||||
const val paging = "2.1.0"
|
||||
const val room = "2.2.5"
|
||||
const val kotlin = "1.3.72"
|
||||
const val timber = "4.7.1"
|
||||
const val mockito_kotlin = "2.2.0"
|
||||
const val arch_core_testing = "2.0.0"
|
||||
const val robolectric = "4.3.1"
|
||||
const val moshi = "1.9.2"
|
||||
const val coroutines = "1.3.7"
|
||||
const val truth = "1.0.1"
|
||||
const val annotation = "1.1.0"
|
||||
const val chucker = "3.2.0"
|
||||
const val ktx_core = "1.2.0"
|
||||
const val ktx_fragment = "1.2.4"
|
||||
const val ktx_activity = "1.1.0"
|
||||
const val hilt_dagger = "2.28-alpha"
|
||||
const val hilt = "1.0.0-alpha01"
|
||||
const val material = "1.1.0"
|
||||
const val android_test_junit = "1.1.1"
|
||||
const val multidex = "2.0.1"
|
||||
}
|
||||
|
||||
const val android_plugin = "com.android.tools.build:gradle:${Versions.android_plugin}"
|
||||
|
||||
const val timber = "com.jakewharton.timber:timber:${Versions.timber}"
|
||||
|
||||
const val junit = "junit:junit:${Versions.junit}"
|
||||
const val robolectric = "org.robolectric:robolectric:${Versions.robolectric}"
|
||||
|
||||
object Google {
|
||||
const val material = "com.google.android.material:material:${Versions.material}"
|
||||
}
|
||||
|
||||
object Kotlin {
|
||||
const val gradle_plugin = "org.jetbrains.kotlin:kotlin-gradle-plugin:${Versions.kotlin}"
|
||||
}
|
||||
|
||||
object Coroutines {
|
||||
const val core = "org.jetbrains.kotlinx:kotlinx-coroutines-core:${Versions.coroutines}"
|
||||
const val android =
|
||||
"org.jetbrains.kotlinx:kotlinx-coroutines-android:${Versions.coroutines}"
|
||||
const val test = "org.jetbrains.kotlinx:kotlinx-coroutines-test:${Versions.coroutines}"
|
||||
}
|
||||
|
||||
object AndroidX {
|
||||
object Test {
|
||||
const val core = "androidx.test:core:${Versions.android_test}"
|
||||
const val rules = "androidx.test:rules:${Versions.android_test}"
|
||||
const val runner = "androidx.test:runner:${Versions.android_test}"
|
||||
const val junit = "androidx.test.ext:junit:${Versions.android_test_junit}"
|
||||
|
||||
object Espresso {
|
||||
const val core = "androidx.test.espresso:espresso-core:${Versions.espresso}"
|
||||
const val contrib = "androidx.test.espresso:espresso-contrib:${Versions.espresso}"
|
||||
const val idling_resource =
|
||||
"androidx.test.espresso:espresso-idling-resource:${Versions.espresso}"
|
||||
}
|
||||
|
||||
const val arch_core_testing =
|
||||
"androidx.arch.core:core-testing:${Versions.arch_core_testing}"
|
||||
}
|
||||
|
||||
object Paging {
|
||||
const val common = "androidx.paging:paging-common-ktx:${Versions.paging}"
|
||||
const val runtime = "androidx.paging:paging-runtime-ktx:${Versions.paging}"
|
||||
}
|
||||
|
||||
const val constraint_layout =
|
||||
"androidx.constraintlayout:constraintlayout:${Versions.constraint_layout}"
|
||||
|
||||
const val ktx_core = "androidx.core:core-ktx:${Versions.ktx_core}"
|
||||
const val ktx_fragment = "androidx.fragment:fragment-ktx:${Versions.ktx_fragment}"
|
||||
const val ktx_activity = "androidx.activity:activity-ktx:${Versions.ktx_activity}"
|
||||
const val multidex = "androidx.multidex:multidex:${Versions.multidex}"
|
||||
const val annotation = "androidx.annotation:annotation:${Versions.annotation}"
|
||||
|
||||
object Lifecycle {
|
||||
const val extensions = "androidx.lifecycle:lifecycle-extensions:${Versions.lifecycle}"
|
||||
const val livedata = "androidx.lifecycle:lifecycle-livedata-ktx:${Versions.lifecycle}"
|
||||
const val viewmodel = "androidx.lifecycle:lifecycle-viewmodel-ktx:${Versions.lifecycle}"
|
||||
const val compiler = "androidx.lifecycle:lifecycle-common-java8:${Versions.lifecycle}"
|
||||
}
|
||||
|
||||
object Room {
|
||||
const val runtime = "androidx.room:room-runtime:${Versions.room}"
|
||||
const val compiler = "androidx.room:room-compiler:${Versions.room}"
|
||||
const val ktx = "androidx.room:room-ktx:${Versions.room}"
|
||||
const val testing = "androidx.room:room-testing:${Versions.room}"
|
||||
}
|
||||
|
||||
object Hilt {
|
||||
const val viewmodel = "androidx.hilt:hilt-lifecycle-viewmodel:${Versions.hilt}"
|
||||
const val compiler = "androidx.hilt:hilt-compiler:${Versions.hilt}"
|
||||
}
|
||||
}
|
||||
|
||||
object Hilt {
|
||||
const val android = "com.google.dagger:hilt-android:${Versions.hilt_dagger}"
|
||||
const val android_compiler =
|
||||
"com.google.dagger:hilt-android-compiler:${Versions.hilt_dagger}"
|
||||
const val gradlePlugin =
|
||||
"com.google.dagger:hilt-android-gradle-plugin:${Versions.hilt_dagger}"
|
||||
}
|
||||
|
||||
object Retrofit {
|
||||
const val main = "com.squareup.retrofit2:retrofit:${Versions.retrofit}"
|
||||
const val moshi = "com.squareup.retrofit2:converter-moshi:${Versions.retrofit}"
|
||||
}
|
||||
|
||||
object OkHttp {
|
||||
const val main = "com.squareup.okhttp3:okhttp:${Versions.okhttp}"
|
||||
const val logging_interceptor =
|
||||
"com.squareup.okhttp3:logging-interceptor:${Versions.okhttp}"
|
||||
}
|
||||
|
||||
object Glide {
|
||||
const val runtime = "com.github.bumptech.glide:glide:${Versions.glide}"
|
||||
const val compiler = "com.github.bumptech.glide:compiler:${Versions.glide}"
|
||||
const val okhttp_integration =
|
||||
"com.github.bumptech.glide:okhttp3-integration:${Versions.glide}"
|
||||
}
|
||||
|
||||
object Moshi {
|
||||
const val kotlin = "com.squareup.moshi:moshi-kotlin:${Versions.moshi}"
|
||||
const val codegen = "com.squareup.moshi:moshi-kotlin-codegen:${Versions.moshi}"
|
||||
}
|
||||
|
||||
object Mockito {
|
||||
const val core = "org.mockito:mockito-core:${Versions.mockito}"
|
||||
const val android = "org.mockito:mockito-android:${Versions.mockito}"
|
||||
const val inline = "org.mockito:mockito-inline:${Versions.mockito}"
|
||||
const val kotlin = "com.nhaarman.mockitokotlin2:mockito-kotlin:${Versions.mockito_kotlin}"
|
||||
}
|
||||
|
||||
object Chucker {
|
||||
const val debug = "com.github.chuckerteam.chucker:library:${Versions.chucker}"
|
||||
const val release = "com.github.chuckerteam.chucker:library-no-op:${Versions.chucker}"
|
||||
}
|
||||
|
||||
const val truth = "com.google.truth:truth:${Versions.truth}"
|
||||
}
|
@ -1,171 +0,0 @@
|
||||
ext.deps = [:]
|
||||
|
||||
ext.versions = [:]
|
||||
def versions = [:]
|
||||
//sdk versions
|
||||
versions.compile_sdk = 28
|
||||
versions.min_sdk = 21
|
||||
versions.target_sdk = 26
|
||||
versions.app_version_code = 104
|
||||
versions.app_version_name = '2.1.0'
|
||||
|
||||
// android and google essentials
|
||||
versions.android_plugin = '4.0.1'
|
||||
versions.constraint_layout = '2.0.0-beta4'
|
||||
versions.google_services = '4.3.3'
|
||||
versions.lifecycle = '2.2.0'
|
||||
versions.support_x = '1.0.0'
|
||||
versions.android_test = '1.2.0'
|
||||
versions.android_test_junit = '1.1.1'
|
||||
versions.multidex = '2.0.1'
|
||||
versions.espresso = '3.2.0'
|
||||
versions.glide = '4.9.0'
|
||||
versions.junit = '4.12'
|
||||
versions.mockito = '3.2.4'
|
||||
versions.okhttp = '4.8.0'
|
||||
versions.retrofit = '2.9.0'
|
||||
versions.paging = '2.1.0'
|
||||
versions.room = '2.2.5'
|
||||
versions.kotlin = '1.3.72'
|
||||
versions.timber = '4.7.1'
|
||||
versions.mockito_kotlin = '2.2.0'
|
||||
versions.arch_core_testing = '2.0.0'
|
||||
versions.robolectric = '4.3.1'
|
||||
versions.moshi = '1.9.2'
|
||||
versions.coroutines = '1.3.7'
|
||||
versions.coroutines_test = '1.3.7'
|
||||
versions.truth = '1.0.1'
|
||||
versions.annotation = '1.1.0'
|
||||
versions.appcompat = '1.1.0'
|
||||
versions.chucker = '3.2.0'
|
||||
versions.ktx_core = '1.2.0'
|
||||
versions.ktx_collections = '1.1.0'
|
||||
versions.ktx_fragment = '1.2.4'
|
||||
versions.ktx_activity = '1.1.0'
|
||||
versions.hilt_dagger = '2.28-alpha'
|
||||
versions.hilt = '1.0.0-alpha01'
|
||||
ext.versions = versions
|
||||
|
||||
def deps = [:]
|
||||
|
||||
// ----- START OF GOOGLE AND ANDROID ESSENTIALS
|
||||
deps.android_plugin = "com.android.tools.build:gradle:$versions.android_plugin"
|
||||
deps.databinding = "com.android.databinding:compiler:$versions.android_plugin"
|
||||
deps.constraint_layout = "androidx.constraintlayout:constraintlayout:$versions.constraint_layout"
|
||||
deps.multidex = "androidx.multidex:multidex:$versions.multidex"
|
||||
deps.google_services = "com.google.gms:google-services:$versions.google_services"
|
||||
|
||||
def androidx_lib = [:]
|
||||
androidx_lib.design = "com.google.android.material:material:$versions.support_x"
|
||||
androidx_lib.appcompat = "androidx.appcompat:appcompat:$versions.appcompat"
|
||||
androidx_lib.recyclerview = "androidx.recyclerview:recyclerview:$versions.support_x"
|
||||
androidx_lib.cardview = "androidx.cardview:cardview:$versions.support_x"
|
||||
androidx_lib.support_annotations = "androidx.annotation:annotation:$versions.annotation"
|
||||
androidx_lib.ktx_core = "androidx.core:core-ktx:$versions.ktx_core"
|
||||
androidx_lib.ktx_collections = "androidx.collection:collection-ktx:$versions.ktx_collections"
|
||||
androidx_lib.ktx_fragment = "androidx.fragment:fragment-ktx:$versions.ktx_fragment"
|
||||
androidx_lib.ktx_activity = "androidx.activity:activity-ktx:$versions.ktx_activity"
|
||||
deps.androidx_lib = androidx_lib
|
||||
|
||||
|
||||
def lifecycle = [:]
|
||||
lifecycle.extensions = "androidx.lifecycle:lifecycle-extensions:$versions.lifecycle"
|
||||
lifecycle.compiler = "androidx.lifecycle:lifecycle-common-java8:$versions.lifecycle"
|
||||
lifecycle.viewmodel_ktx = "androidx.lifecycle:lifecycle-viewmodel-ktx:$versions.lifecycle"
|
||||
lifecycle.livedata_ktx = "androidx.lifecycle:lifecycle-livedata-ktx:$versions.lifecycle"
|
||||
deps.lifecycle = lifecycle
|
||||
|
||||
def espresso = [:]
|
||||
espresso.core = "androidx.test.espresso:espresso-core:$versions.espresso"
|
||||
espresso.contrib = "androidx.test.espresso:espresso-contrib:$versions.espresso"
|
||||
espresso.idling_resource = "androidx.test.espresso:espresso-idling-resource:$versions.espresso"
|
||||
deps.espresso = espresso
|
||||
|
||||
// ----- END OF ANDROID AND GOOGLE ESSENTIALS
|
||||
|
||||
def glide = [:]
|
||||
glide.runtime = "com.github.bumptech.glide:glide:$versions.glide"
|
||||
glide.compiler = "com.github.bumptech.glide:compiler:$versions.glide"
|
||||
glide.okhttp_integration = "com.github.bumptech.glide:okhttp3-integration:$versions.glide"
|
||||
deps.glide = glide
|
||||
|
||||
deps.junit = "junit:junit:$versions.junit"
|
||||
|
||||
def okhttp = [:]
|
||||
okhttp.main = "com.squareup.okhttp3:okhttp:$versions.okhttp"
|
||||
okhttp.logging_interceptor = "com.squareup.okhttp3:logging-interceptor:$versions.okhttp"
|
||||
okhttp.urlconnection = "com.squareup.okhttp3:okhttp-urlconnection:$versions.okhttp"
|
||||
deps.okhttp = okhttp
|
||||
|
||||
def retrofit = [:]
|
||||
retrofit.main = "com.squareup.retrofit2:retrofit:$versions.retrofit"
|
||||
retrofit.moshi = "com.squareup.retrofit2:converter-moshi:$versions.retrofit"
|
||||
deps.retrofit = retrofit
|
||||
|
||||
|
||||
def android_test = [:]
|
||||
android_test.rules = "androidx.test:rules:$versions.android_test"
|
||||
android_test.runner = "androidx.test:runner:$versions.android_test"
|
||||
android_test.junit = "androidx.test.ext:junit:$versions.android_test_junit"
|
||||
deps.android_test = android_test
|
||||
|
||||
deps.findbugs_jsr = "com.google.code.findbugs:jsr305:$versions.findbugs"
|
||||
|
||||
def kotlin = [:]
|
||||
kotlin.stdlib = "org.jetbrains.kotlin:kotlin-stdlib:$versions.kotlin"
|
||||
kotlin.gradle_plugin = "org.jetbrains.kotlin:kotlin-gradle-plugin:$versions.kotlin"
|
||||
deps.kotlin = kotlin
|
||||
|
||||
def paging = [:]
|
||||
paging.runtime = "androidx.paging:paging-runtime:$versions.paging"
|
||||
paging.common = "androidx.paging:paging-common:$versions.paging"
|
||||
deps.paging = paging
|
||||
|
||||
def room = [:]
|
||||
room.runtime = "androidx.room:room-runtime:$versions.room"
|
||||
room.compiler = "androidx.room:room-compiler:$versions.room"
|
||||
room.testing = "androidx.room:room-testing:$versions.room"
|
||||
room.ktx = "androidx.room:room-ktx:$versions.room"
|
||||
deps.room = room
|
||||
|
||||
|
||||
// Json library with built in type adapters
|
||||
def moshi = [:]
|
||||
moshi.kotlin = "com.squareup.moshi:moshi-kotlin:$versions.moshi"
|
||||
moshi.codegen = "com.squareup.moshi:moshi-kotlin-codegen:$versions.moshi"
|
||||
deps.moshi = moshi
|
||||
|
||||
deps.timber = "com.jakewharton.timber:timber:$versions.timber"
|
||||
|
||||
deps.arch_core_testing = "androidx.arch.core:core-testing:$versions.arch_core_testing"
|
||||
deps.robolectric = "org.robolectric:robolectric:$versions.robolectric"
|
||||
|
||||
def mockito = [:]
|
||||
mockito.core = "org.mockito:mockito-core:$versions.mockito"
|
||||
mockito.android = "org.mockito:mockito-android:$versions.mockito"
|
||||
mockito.inline = "org.mockito:mockito-inline:$versions.mockito"
|
||||
mockito.kotlin = "com.nhaarman.mockitokotlin2:mockito-kotlin:$versions.mockito_kotlin"
|
||||
deps.mockito = mockito
|
||||
|
||||
def coroutines = [:]
|
||||
coroutines.core = "org.jetbrains.kotlinx:kotlinx-coroutines-core:$versions.coroutines"
|
||||
coroutines.rx2 = "org.jetbrains.kotlinx:kotlinx-coroutines-rx2:$versions.coroutines"
|
||||
coroutines.android = "org.jetbrains.kotlinx:kotlinx-coroutines-android:$versions.coroutines"
|
||||
coroutines.test = "org.jetbrains.kotlinx:kotlinx-coroutines-test:$versions.coroutines_test"
|
||||
deps.coroutines = coroutines
|
||||
|
||||
deps.truth = "com.google.truth:truth:$versions.truth"
|
||||
|
||||
def chucker = [:]
|
||||
chucker.debug = "com.github.chuckerteam.chucker:library:$versions.chucker"
|
||||
chucker.release = "com.github.chuckerteam.chucker:library-no-op:$versions.chucker"
|
||||
deps.chucker = chucker
|
||||
|
||||
def hilt = [:]
|
||||
hilt.gradle_plugin = "com.google.dagger:hilt-android-gradle-plugin:$versions.hilt_dagger"
|
||||
hilt.android = "com.google.dagger:hilt-android:$versions.hilt_dagger"
|
||||
hilt.android_compiler = "com.google.dagger:hilt-android-compiler:$versions.hilt_dagger"
|
||||
hilt.compiler = "androidx.hilt:hilt-compiler:$versions.hilt"
|
||||
hilt.viewmodel = "androidx.hilt:hilt-lifecycle-viewmodel:$versions.hilt"
|
||||
deps.hilt = hilt
|
||||
ext.deps = deps
|
@ -17,5 +17,6 @@ android.enableJetifier=true
|
||||
# All kapt to use workers
|
||||
kapt.use.worker.api=true
|
||||
kapt.incremental.apt=true
|
||||
android.databinding.incremental=true
|
||||
kapt.include.compile.classpath=false
|
||||
|
||||
|
@ -1 +0,0 @@
|
||||
include ":app"
|
2
settings.gradle.kts
Normal file
2
settings.gradle.kts
Normal file
@ -0,0 +1,2 @@
|
||||
include(":app")
|
||||
rootProject.name = "TvFlix"
|
Reference in New Issue
Block a user