155 lines
6.0 KiB
Groovy
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'
|