mirror of
https://github.com/reactivedroid/TvFlix.git
synced 2025-05-17 21:35:56 +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
|
|
||||||
}
|
|
33
app/proguard-rules.pro
vendored
33
app/proguard-rules.pro
vendored
@ -20,21 +20,6 @@
|
|||||||
}
|
}
|
||||||
-dontwarn org.apache.**
|
-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
|
# Needed by commons logging
|
||||||
-keep class org.apache.commons.logging.* { *; }
|
-keep class org.apache.commons.logging.* { *; }
|
||||||
|
|
||||||
@ -113,3 +98,21 @@
|
|||||||
public static *** d(...);
|
public static *** d(...);
|
||||||
public static *** i(...);
|
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
|
# All kapt to use workers
|
||||||
kapt.use.worker.api=true
|
kapt.use.worker.api=true
|
||||||
kapt.incremental.apt=true
|
kapt.incremental.apt=true
|
||||||
|
android.databinding.incremental=true
|
||||||
kapt.include.compile.classpath=false
|
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