1
0
mirror of https://github.com/dzeiocom/OpenHealth.git synced 2025-04-23 11:22:10 +00:00
OpenHealth/app/build.gradle.kts

186 lines
5.3 KiB
Plaintext

import java.util.Properties
plugins {
id("com.android.application")
kotlin("android")
id("dagger.hilt.android.plugin")
// Safe Navigation
id("androidx.navigation.safeargs")
// OSS Licenses
id("com.google.android.gms.oss-licenses-plugin")
// keep at bottom
kotlin("kapt")
}
android {
signingConfigs {
create("release") {
try {
val keystoreProperties = Properties().apply {
load(rootProject.file("./keystore.properties").reader())
}
if (keystoreProperties.isNotEmpty()) {
storePassword = keystoreProperties["storePassword"] as String
keyPassword = keystoreProperties["keyPassword"] as String
keyAlias = keystoreProperties["keyAlias"] as String
storeFile = file(keystoreProperties["storeFile"] as String)
}
} catch (_: Exception) {}
}
}
compileSdk = 33
defaultConfig {
// App ID
applicationId = "com.dzeio.openhealth"
// Android 5 Lollipop
minSdk = 21
// Android 12
targetSdk = 33
// Semantic Versioning
versionName = "1.0.0"
versionCode = 1
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
// Languages
val locales = listOf("en", "fr")
buildConfigField(
"String[]",
"LOCALES",
"new String[]{\"" + locales.joinToString("\",\"") + "\"}"
)
resourceConfigurations += locales
}
buildTypes {
getByName("release") {
// Slimmer version
isMinifyEnabled = true
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
signingConfig = signingConfigs.getByName("release")
}
getByName("debug") {
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
applicationIdSuffix = ".dev"
versionNameSuffix = "-dev"
isDebuggable = true
// make it debuggable
isRenderscriptDebuggable = true
// Optimization Level
renderscriptOptimLevel = 0
}
}
// Compile using JAVA 8
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = "1.8"
}
// Enable View Binding and Data Binding
buildFeatures {
viewBinding = true
dataBinding = true
}
namespace = "com.dzeio.openhealth"
}
dependencies {
// Dzeio Charts
implementation(project(":charts"))
// implementation(project(":CrashHandler"))
implementation("com.dzeio:crashhandler:1.0.1")
// Core dependencies
implementation("androidx.core:core-ktx:1.8.0")
implementation("androidx.appcompat:appcompat:1.6.0-beta01")
implementation("javax.inject:javax.inject:1")
implementation("com.google.android.material:material:1.7.0-beta01")
implementation("androidx.constraintlayout:constraintlayout:2.1.4")
implementation("androidx.lifecycle:lifecycle-livedata-ktx:2.5.1")
implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1")
// implementation("com.github.Aviortheking:crashhandler:0.2.3")
// Coroutines
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4")
// Settings
implementation("androidx.preference:preference-ktx:1.2.0")
// DataStore
implementation("androidx.datastore:datastore:1.0.0")
// Navigation
implementation("androidx.navigation:navigation-fragment-ktx:2.5.1")
implementation("androidx.navigation:navigation-ui-ktx:2.5.1")
// Paging
implementation("androidx.paging:paging-runtime:3.1.1")
implementation("androidx.paging:paging-runtime-ktx:3.1.1")
// Services
implementation("androidx.work:work-runtime-ktx:2.7.1")
// Tests
testImplementation("junit:junit:4.13.2")
androidTestImplementation("androidx.test.ext:junit:1.1.3")
androidTestImplementation("androidx.test.espresso:espresso-core:3.4.0")
// Graph
implementation("com.github.PhilJay:MPAndroidChart:v3.1.0")
// Graphs test 2
implementation("com.github.HackPlan:AndroidCharts:1.0.4")
// Hilt
implementation("com.google.dagger:hilt-android:2.43.2")
kapt("com.google.dagger:hilt-compiler:2.43.2")
// Google Fit
implementation("com.google.android.gms:play-services-fitness:21.1.0")
implementation("com.google.android.gms:play-services-auth:20.2.0")
// Samsung Health
implementation(files("libs/samsung-health-data-1.5.0.aar"))
implementation("com.google.code.gson:gson:2.9.1")
// ROOM
implementation("androidx.room:room-runtime:2.4.3")
kapt("androidx.room:room-compiler:2.4.3")
implementation("androidx.room:room-ktx:2.4.3")
testImplementation("androidx.room:room-testing:2.4.3")
// Futures
implementation("com.google.guava:guava:31.1-jre")
implementation("androidx.concurrent:concurrent-futures:1.1.0")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-guava:1.6.4")
// OSS Licenses
implementation("com.google.android.gms:play-services-oss-licenses:17.0.0")
}