Files
coco 723ce1af5c a
2026-07-03 15:12:48 +08:00

155 lines
6.0 KiB
Groovy

plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-kapt'
id 'dagger.hilt.android.plugin'
}
apply from: '../dependencies.gradle'
android {
compileSdkVersion versions.compileSdk
defaultConfig {
applicationId "com.skydoves.disneycompose"
minSdkVersion versions.minSdk
targetSdkVersion versions.compileSdk
versionCode versions.versionCode
versionName versions.versionName
testInstrumentationRunner "com.skydoves.disneycompose.AppTestRunner"
javaCompileOptions {
annotationProcessorOptions {
arguments += ["room.schemaLocation" : "$projectDir/schemas".toString()]
arguments += ["dagger.hilt.disableModulesHaveInstallInCheck" : "true"]
}
}
}
lintOptions {
abortOnError false
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
composeOptions {
kotlinCompilerExtensionVersion versions.composeCompiler
}
kotlinOptions {
jvmTarget = "11"
}
buildFeatures {
compose true
}
sourceSets {
androidTest.java.srcDirs += "src/test-common/java"
test.java.srcDirs += "src/test-common/java"
test.assets.srcDirs += files("$projectDir/schemas".toString())
}
testOptions {
unitTests {
includeAndroidResources = true
returnDefaultValues = true
}
}
buildTypes {
benchmark {
signingConfig signingConfigs.debug
matchingFallbacks = ['release']
debuggable false
}
}
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
kotlinOptions.freeCompilerArgs += [
"-Xopt-in=kotlin.time.ExperimentalTime",
"-Xopt-in=kotlinx.coroutines.ExperimentalCoroutinesApi",
"-Xopt-in=androidx.compose.animation.ExperimentalAnimationApi",
"-Xopt-in=androidx.compose.foundation.ExperimentalFoundationApi"
]
}
}
dependencies {
// material
implementation "com.google.android.material:material:$versions.materialVersion"
// compose
implementation "androidx.compose.ui:ui:$versions.composeVersion"
implementation "androidx.activity:activity-compose:$versions.activityVersion"
implementation "androidx.compose.material:material:$versions.composeVersion"
implementation "androidx.compose.material:material-icons-extended:$versions.composeVersion"
implementation "androidx.compose.foundation:foundation:$versions.composeVersion"
implementation "androidx.compose.foundation:foundation-layout:$versions.composeVersion"
implementation "androidx.compose.animation:animation:$versions.composeVersion"
implementation "androidx.compose.runtime:runtime:$versions.composeVersion"
implementation "androidx.compose.runtime:runtime-livedata:$versions.composeVersion"
implementation "androidx.navigation:navigation-compose:$versions.composeNavVersion"
implementation "androidx.compose.ui:ui-tooling:$versions.composeVersion"
implementation "androidx.constraintlayout:constraintlayout-compose:$versions.constraintVersion"
androidTestImplementation "androidx.compose.ui:ui-test-junit4:$versions.composeVersion"
// compose image loading
implementation "com.github.skydoves:landscapist-coil:$versions.landscapistVersion"
implementation "com.github.skydoves:landscapist-animation:$versions.landscapistVersion"
implementation "com.github.skydoves:landscapist-placeholder:$versions.landscapistVersion"
implementation "com.github.skydoves:landscapist-palette:$versions.landscapistVersion"
// compose insets
implementation "com.google.accompanist:accompanist-insets:$versions.accompanistVersion"
// compose compatibles
implementation "com.github.skydoves:orchestra-balloon:$versions.orchestraVersion"
// architecture components
implementation "androidx.lifecycle:lifecycle-runtime-ktx:$versions.lifecycleVersion"
implementation "androidx.room:room-ktx:$versions.roomVersion"
kapt "androidx.room:room-compiler:$versions.roomVersion"
testImplementation "androidx.arch.core:core-testing:$versions.archCompomentVersion"
// startup
implementation "androidx.startup:startup-runtime:$versions.startupVersion"
// hilt
implementation "com.google.dagger:hilt-android:$versions.hiltVersion"
implementation "androidx.hilt:hilt-navigation-compose:$versions.hiltComposeNavigation"
kapt "com.google.dagger:hilt-compiler:$versions.hiltVersion"
androidTestImplementation "com.google.dagger:hilt-android-testing:$versions.hiltVersion"
kaptAndroidTest "com.google.dagger:hilt-compiler:$versions.hiltVersion"
// network
implementation "com.github.skydoves:sandwich:$versions.sandwichVersion"
implementation "com.squareup.okhttp3:logging-interceptor:$versions.okhttpVersion"
implementation "com.squareup.retrofit2:converter-gson:$versions.retrofitVersion"
testImplementation "com.squareup.okhttp3:mockwebserver:$versions.okhttpVersion"
// coroutines
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$versions.coroutinesVersion"
testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$versions.coroutinesVersion"
testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:$versions.coroutinesVersion"
// whatIf
implementation "com.github.skydoves:whatif:$versions.whatIfVersion"
// logging
implementation "com.jakewharton.timber:timber:$versions.timberVersion"
// unit test
testImplementation "junit:junit:$versions.junitVersion"
testImplementation "androidx.test:core:$versions.androidxTest"
testImplementation "com.nhaarman.mockitokotlin2:mockito-kotlin:$versions.mockitoKotlinVersion"
testImplementation "org.mockito:mockito-inline:$versions.mockitoInlineVersion"
testImplementation "app.cash.turbine:turbine:$versions.turbineVersion"
testImplementation "org.robolectric:robolectric:$versions.robolectricVersion"
androidTestImplementation "com.google.truth:truth:$versions.truthVersion"
androidTestImplementation "androidx.test.ext:junit:$versions.androidxTestJunit"
androidTestImplementation "com.android.support.test:runner:$versions.androidTestRunner"
}
apply from: '../spotless.gradle'