136 lines
3.5 KiB
Kotlin
136 lines
3.5 KiB
Kotlin
/*
|
|
* Designed and developed by 2022 skydoves (Jaewoong Eum)
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
import com.skydoves.pokedex.Configuration
|
|
|
|
@Suppress("DSL_SCOPE_VIOLATION")
|
|
plugins {
|
|
id(libs.plugins.android.application.get().pluginId)
|
|
id(libs.plugins.kotlin.android.get().pluginId)
|
|
id(libs.plugins.kotlin.kapt.get().pluginId)
|
|
id(libs.plugins.kotlin.parcelize.get().pluginId)
|
|
id(libs.plugins.hilt.plugin.get().pluginId)
|
|
}
|
|
|
|
android {
|
|
compileSdk = Configuration.compileSdk
|
|
defaultConfig {
|
|
applicationId = "com.skydoves.pokedex"
|
|
minSdk = Configuration.minSdk
|
|
targetSdk = Configuration.targetSdk
|
|
versionCode = Configuration.versionCode
|
|
versionName = Configuration.versionName
|
|
vectorDrawables.useSupportLibrary = true
|
|
testInstrumentationRunner = "com.skydoves.pokedex.AppTestRunner"
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility = JavaVersion.VERSION_1_8
|
|
targetCompatibility = JavaVersion.VERSION_1_8
|
|
}
|
|
|
|
buildFeatures {
|
|
dataBinding = true
|
|
}
|
|
|
|
hilt {
|
|
enableAggregatingTask = true
|
|
}
|
|
|
|
kotlin {
|
|
sourceSets.configureEach {
|
|
kotlin.srcDir("$buildDir/generated/ksp/$name/kotlin/")
|
|
}
|
|
}
|
|
|
|
testOptions {
|
|
unitTests {
|
|
isIncludeAndroidResources = true
|
|
isReturnDefaultValues = true
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
create("benchmark") {
|
|
isDebuggable = true
|
|
signingConfig = getByName("debug").signingConfig
|
|
matchingFallbacks += listOf("release")
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
// modules
|
|
implementation(project(":core-data"))
|
|
|
|
// modules for unit test
|
|
testImplementation(project(":core-network"))
|
|
testImplementation(project(":core-database"))
|
|
testImplementation(project(":core-test"))
|
|
androidTestImplementation(project(":core-test"))
|
|
|
|
// androidx
|
|
implementation(libs.material)
|
|
implementation(libs.androidx.fragment)
|
|
implementation(libs.androidx.lifecycle)
|
|
implementation(libs.androidx.startup)
|
|
|
|
// data binding
|
|
implementation(libs.bindables)
|
|
|
|
// di
|
|
implementation(libs.hilt.android)
|
|
kapt(libs.hilt.compiler)
|
|
androidTestImplementation(libs.hilt.testing)
|
|
kaptAndroidTest(libs.hilt.compiler)
|
|
|
|
// coroutines
|
|
implementation(libs.coroutines)
|
|
|
|
// whatIf
|
|
implementation(libs.whatif)
|
|
|
|
// image loading
|
|
implementation(libs.glide)
|
|
implementation(libs.glide.palette)
|
|
|
|
// bundler
|
|
implementation(libs.bundler)
|
|
|
|
// transformation animation
|
|
implementation(libs.transformationLayout)
|
|
|
|
// recyclerView
|
|
implementation(libs.recyclerview)
|
|
implementation(libs.baseAdapter)
|
|
|
|
// custom views
|
|
implementation(libs.rainbow)
|
|
implementation(libs.androidRibbon)
|
|
implementation(libs.progressView)
|
|
|
|
// unit test
|
|
testImplementation(libs.junit)
|
|
testImplementation(libs.turbine)
|
|
testImplementation(libs.androidx.test.core)
|
|
testImplementation(libs.mockito.kotlin)
|
|
testImplementation(libs.mockito.inline)
|
|
testImplementation(libs.coroutines.test)
|
|
androidTestImplementation(libs.truth)
|
|
androidTestImplementation(libs.androidx.junit)
|
|
androidTestImplementation(libs.androidx.espresso)
|
|
androidTestImplementation(libs.android.test.runner)
|
|
}
|