Files
fast-messenger/app/build.gradle.kts
T
2022-08-30 09:49:52 -07:00

165 lines
4.4 KiB
Kotlin

import com.android.build.gradle.internal.cxx.configure.gradleLocalProperties
import com.android.build.gradle.internal.api.BaseVariantOutputImpl
val sdkPackage: String = gradleLocalProperties(rootDir).getProperty("sdkPackage")
val sdkFingerprint: String = gradleLocalProperties(rootDir).getProperty("sdkFingerprint")
val msAppCenterToken: String =
gradleLocalProperties(rootDir).getProperty("msAppCenterAppToken", null)
val otaSecretCode: String = gradleLocalProperties(rootDir).getProperty("otaSecretCode")
val majorVersion = 1
val minorVersion = 6
val patchVersion = 4
plugins {
id("com.android.application")
id("kotlin-android")
id("kotlin-kapt")
id("kotlin-parcelize")
id("dagger.hilt.android.plugin")
}
android {
namespace = "com.meloda.fast"
compileSdk = 32
applicationVariants.all {
outputs.all {
(this as BaseVariantOutputImpl).outputFileName =
"${name}-${versionName}-${versionCode}.apk"
}
}
defaultConfig {
applicationId = "com.meloda.fast"
minSdk = 23
targetSdk = 32
versionCode = 1
versionName = "alpha"
javaCompileOptions {
annotationProcessorOptions {
arguments += mapOf("room.schemaLocation" to "$projectDir/schemas")
}
}
}
buildTypes {
getByName("debug") {
buildConfigField("String", "sdkPackage", sdkPackage)
buildConfigField("String", "sdkFingerprint", sdkFingerprint)
buildConfigField("String", "msAppCenterAppToken", msAppCenterToken)
buildConfigField("String", "otaSecretCode", otaSecretCode)
versionNameSuffix = "_${getVersionName()}"
}
getByName("release") {
isMinifyEnabled = false
buildConfigField("String", "sdkPackage", sdkPackage)
buildConfigField("String", "sdkFingerprint", sdkFingerprint)
buildConfigField("String", "msAppCenterAppToken", msAppCenterToken)
buildConfigField("String", "otaSecretCode", otaSecretCode)
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
kotlinOptions {
freeCompilerArgs = listOf("-Xjvm-default=compatibility", "-opt-in=kotlin.RequiresOptIn")
}
buildFeatures {
viewBinding = true
}
}
fun getVersionName() = "$majorVersion.$minorVersion.$patchVersion"
val currentTime get() = (System.currentTimeMillis() / 1000).toInt()
dependencies {
implementation(kotlin("reflect", "1.6.10"))
implementation(libs.androidx.core)
implementation(libs.androidx.lifecycle.viewmodel)
implementation(libs.androidx.lifecycle.livedata)
implementation(libs.androidx.lifecycle.runtime)
implementation(libs.androidx.lifecycle.viewmodel.savedstate)
implementation(libs.androidx.lifecycle.common.java8)
implementation(libs.androidx.splashScreen)
implementation(libs.androidx.dataStore)
implementation(libs.androidx.appCompat)
implementation(libs.androidx.activity)
implementation(libs.androidx.fragment)
implementation(libs.androidx.preference)
implementation(libs.androidx.swipeRefreshLayout)
implementation(libs.androidx.recyclerView)
implementation(libs.androidx.cardView)
implementation(libs.androidx.constraintLayout)
implementation(libs.androidx.room)
implementation(libs.androidx.room.runtime)
kapt(libs.androidx.room.compiler)
implementation(libs.cicerone)
implementation(libs.waveformSeekBar)
implementation(libs.glide)
kapt(libs.glide.compiler)
implementation(libs.kPermissions)
implementation(libs.kPermissions.coroutines)
implementation(libs.appCenter.analytics)
implementation(libs.appCenter.crashes)
implementation(libs.hilt)
kapt(libs.hilt.compiler)
implementation(libs.retrofit)
implementation(libs.retrofit.gson.converter)
implementation(libs.okhttp3)
implementation(libs.okhttp3.interceptor)
implementation(libs.coroutines.core)
implementation(libs.coroutines.android)
implementation(libs.viewBindingDelegate)
implementation(libs.google.gson)
implementation(libs.google.guava)
implementation(libs.google.material)
implementation(libs.jsoup)
implementation(libs.chucker)
}