Files
AndroidJetpack/PokedexSkydoves/app/build.gradle.kts
T
coco 723ce1af5c a
2026-07-03 15:12:48 +08:00

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)
}