plugins { id "com.android.application" id "kotlin-android" id "kotlin-kapt" id "dagger.hilt.android.plugin" id "kotlin-parcelize" } android { compileSdk 32 defaultConfig { applicationId "com.adwi.betty" minSdk 25 targetSdk 32 versionCode 1 versionName "1.0" buildConfigField("String", "BETTY_API_KEY", betty_api_access_key) testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" vectorDrawables { useSupportLibrary true } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = "1.8" useIR = true freeCompilerArgs += "-Xopt-in=kotlinx.coroutines.ExperimentalCoroutinesApi" } buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion compose_version } packagingOptions { resources { excludes += "/META-INF/{AL2.0,LGPL2.1}" } } } dependencies { implementation("androidx.core:core-ktx:1.6.21") implementation("androidx.appcompat:appcompat:1.3.1") implementation("com.google.android.material:material:1.4.0") implementation("androidx.constraintlayout:constraintlayout:2.1.0") implementation("androidx.compose.ui:ui:$compose_version") implementation("androidx.compose.material:material:$compose_version") implementation("androidx.compose.material:material-icons-extended:$compose_version") implementation("androidx.compose.ui:ui-tooling-preview:$compose_version") implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.3.1") implementation("androidx.activity:activity-compose:1.3.1") implementation("androidx.compose.foundation:foundation:$compose_version") implementation("androidx.compose.foundation:foundation-layout:$compose_version") implementation("androidx.compose.animation:animation:$compose_version") implementation("androidx.compose.runtime:runtime:$compose_version") implementation("androidx.compose.runtime:runtime-livedata:$compose_version") // implementation("androidx.navigation:navigation-compose:2.4.0-alpha09") implementation("androidx.compose.ui:ui-tooling:$compose_version") // Coil implementation "dev.chrisbanes.accompanist:accompanist-coil:0.6.2" implementation "com.google.accompanist:accompanist-coil:$coil_version" // compose insets implementation "com.google.accompanist:accompanist-insets:$accompanistVersion" // compose compatibles implementation "com.github.skydoves:orchestra-balloon:$orchestraVersion" // Lifecycle implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0-beta01") // Dagger Hilt implementation ("androidx.hilt:hilt-navigation-compose:$hiltComposeNavigation") implementation("com.google.dagger:hilt-android:2.38.1") kapt("com.google.dagger:hilt-android-compiler:2.38.1") implementation("androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha03") implementation("androidx.hilt:hilt-work:1.0.0") kapt("androidx.hilt:hilt-compiler:1.0.0") // Coroutines implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2-native-mt") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2-native-mt") // Retrofit + GSON implementation("com.squareup.retrofit2:retrofit:2.9.0") implementation("com.squareup.retrofit2:converter-gson:2.9.0") implementation("com.squareup.okhttp3:logging-interceptor:4.9.0") implementation("com.github.skydoves:sandwich:1.0.9") // Room implementation("androidx.room:room-runtime:2.4.0-alpha04") kapt("androidx.room:room-compiler:2.4.0-alpha04") implementation("androidx.room:room-ktx:2.4.0-alpha04") kapt "android.arch.persistence.room:compiler:1.1.1" // ACCOMPANIST implementation "com.google.accompanist:accompanist-placeholder-material:0.18.0" implementation "com.google.accompanist:accompanist-swiperefresh:0.18.0" // LOTTIE implementation "com.airbnb.android:lottie-compose:4.1.0" // COLLAPSING TOOLBAR implementation "me.onebone:toolbar-compose:2.2.0" // WorkManager implementation "androidx.work:work-runtime-ktx:2.7.0-beta01" testImplementation 'junit:junit:4.+' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' androidTestImplementation "androidx.compose.ui:ui-test-junit4:$compose_version" debugImplementation "androidx.compose.ui:ui-tooling:$compose_version" // // TESTING // testImplementation("junit:junit:4.13.2") // testImplementation("com.squareup.okhttp3:mockwebserver:4.9.0") testImplementation "com.google.truth:truth:1.1.3" testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.5.1' // testImplementation("com.google.dagger:hilt-android-testing:2.38.1") // kaptTest("com.google.dagger:hilt-android-compiler:2.38.1") // // androidTestImplementation("androidx.test.ext:junit:1.1.3") // androidTestImplementation("androidx.test.espresso:espresso-core:3.4.0") // androidTestImplementation("androidx.compose.ui:ui-test-junit4:$compose_version") // debugImplementation("androidx.compose.ui:ui-tooling:$compose_version") // androidTestImplementation("com.google.dagger:hilt-android-testing:2.38.1") // // ...with Kotlin. // kaptAndroidTest("com.google.dagger:hilt-android-compiler:2.38.1") }