plugins { id "kotlin-kapt" id "dagger.hilt.android.plugin" } final def keystorePropertiesFile = rootProject.file("keystore.properties") android { adbOptions { installOptions = ["--user 0"] } defaultConfig { applicationId "dev.msfjarvis.lobsters" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" javaCompileOptions { annotationProcessorOptions { arguments += ["room.schemaLocation": "$projectDir/schemas".toString()] } } } buildTypes { release { minifyEnabled true proguardFiles "proguard-android-optimize.txt", "proguard-rules.pro" } } compileOptions.coreLibraryDesugaringEnabled = true buildFeatures.compose = true composeOptions { kotlinCompilerVersion "${kotlin_version}" kotlinCompilerExtensionVersion "${compose_version}" } if (keystorePropertiesFile.exists()) { final def keystoreProperties = new Properties() keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) signingConfigs { release { keyAlias keystoreProperties["keyAlias"] keyPassword keystoreProperties["keyPassword"] storeFile rootProject.file(keystoreProperties["storeFile"]) storePassword keystoreProperties["storePassword"] } } buildTypes.debug.signingConfig = signingConfigs.release buildTypes.release.signingConfig = signingConfigs.release } } tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach { kotlinOptions { freeCompilerArgs += [ "-Xallow-jvm-ir-dependencies", "-Xskip-prerelease-check", "-Xopt-in=kotlin.RequiresOptIn", "-Xopt-in=kotlinx.coroutines.ExperimentalCoroutinesApi", "-Xopt-in=androidx.compose.material.ExperimentalMaterialApi", ] } } dependencies { kapt "com.google.dagger:hilt-compiler:$hilt_dagger_version" kapt "androidx.hilt:hilt-compiler:$hilt_androidx_version" kapt "androidx.room:room-compiler:$room_version" implementation(project(":lobsters-api")) implementation(project(":model")) implementation "androidx.core:core-ktx:$core_version" implementation "androidx.activity:activity-ktx:$activity_version" implementation "androidx.appcompat:appcompat:$appcompat_version" implementation "androidx.browser:browser:$browser_version" implementation "androidx.compose.foundation:foundation:$compose_version" implementation "androidx.compose.foundation:foundation-layout:$compose_version" implementation "androidx.compose.foundation:foundation-text:$compose_version" implementation "androidx.compose.runtime:runtime:$compose_version" implementation "androidx.compose.material:material:$compose_version" implementation "androidx.compose.compiler:compiler:$compose_version" implementation "androidx.compose.ui:ui:$compose_version" implementation "androidx.compose.ui:ui-text:$compose_version" implementation "androidx.compose.ui:ui-text-android:$compose_version" implementation "androidx.compose.ui:ui-unit:$compose_version" implementation "androidx.hilt:hilt-lifecycle-viewmodel:$hilt_androidx_version" implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version" implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version" implementation "androidx.navigation:navigation-compose:$nav_compose_version" implementation "androidx.room:room-runtime:$room_version" implementation "androidx.room:room-ktx:$room_version" implementation "androidx.ui:ui-tooling:$compose_version" implementation "com.google.android.material:material:$material_version" implementation "com.google.dagger:hilt-android:$hilt_dagger_version" implementation "com.squareup.moshi:moshi:$moshi_version" implementation "dev.chrisbanes.accompanist:accompanist-coil:$accompanist_version" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version" implementation "saschpe.android:customtabs:$customtabs_version" androidTestImplementation "com.google.dagger:hilt-android-testing:$hilt_dagger_version" testImplementation "junit:junit:$junit_version" androidTestImplementation "androidx.ui:ui-test:$compose_version" coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:$desugar_version" }