compose-lobsters/app/build.gradle
Harsh Shandilya 7da14338f9
app: add user avatars to items
Uses Chris Banes' amazing Accompanist library to interface with Coil and load images
with minimum hassle. The resultant UI has been made to loosely resemble https://lobste.rs
since our end goal is to fully match the website.

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-08 00:51:59 +05:30

94 lines
3.9 KiB
Groovy

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"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile("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",
]
}
}
dependencies {
kapt "com.google.dagger:hilt-compiler:$hilt_dagger_version"
kapt "androidx.hilt:hilt-compiler:$hilt_androidx_version"
implementation(project(":data"))
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.ui:ui-tooling:$compose_version"
implementation "com.google.android.material:material:$material_version"
implementation "com.google.dagger:hilt-android:$hilt_dagger_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"
}