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") }