plugins { id 'com.android.library' id 'kotlin-android' id 'kotlin-kapt' id 'kotlin-parcelize' id 'androidx.navigation.safeargs.kotlin' id 'com.bugsnag.android.gradle' id 'dagger.hilt.android.plugin' } def gitSha = 'git rev-parse --short HEAD'.execute([], project.rootDir).text.trim() def buildTime = new Date().format("yyyy-MM-dd'T'HH:mm:ss'Z'", TimeZone.getTimeZone("GMT+1")) android { compileSdkVersion buildConfig.compileSdk defaultConfig { minSdkVersion buildConfig.minSdk targetSdkVersion buildConfig.targetSdk versionCode buildConfig.version.code versionName buildConfig.version.name buildConfigField "long", "VERSION_CODE", "${buildConfig.version.code}" buildConfigField "String", "VERSION_NAME", "\"${buildConfig.version.name}\"" buildConfigField "String", "GITSHA", "\"${gitSha}\"" buildConfigField "String", "BUILDTIME", "\"${buildTime}\"" } flavorDimensions "version" productFlavors { foss { } gplay { } } buildTypes { def proguardRulesRelease = fileTree(dir: "../proguard", include: ["*.pro"]).asList().toArray() debug { proguardFiles getDefaultProguardFile('proguard-android-optimize.txt') proguardFiles proguardRulesRelease proguardFiles 'proguard-rules-debug.pro' } beta { proguardFiles getDefaultProguardFile('proguard-android-optimize.txt') proguardFiles proguardRulesRelease } release { proguardFiles getDefaultProguardFile('proguard-android-optimize.txt') proguardFiles proguardRulesRelease } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = '1.8' } buildFeatures { viewBinding true } tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all { kotlinOptions { jvmTarget = "1.8" freeCompilerArgs += [ "-Xuse-experimental=kotlinx.coroutines.ExperimentalCoroutinesApi", "-Xuse-experimental=kotlinx.coroutines.FlowPreview", "-Xuse-experimental=kotlin.time.ExperimentalTime", "-Xuse-experimental=kotlin.ExperimentalUnsignedTypes", "-Xuse-experimental=kotlin.contracts.ExperimentalContracts", "-Xopt-in=kotlin.RequiresOptIn" ] } } } dependencies { implementation("com.squareup.moshi:moshi:1.13.0") kapt("com.squareup.moshi:moshi-kotlin-codegen:1.13.0") // Debugging implementation('com.bugsnag:bugsnag-android:5.9.2') implementation 'com.getkeepsafe.relinker:relinker:1.4.3' implementation 'androidx.preference:preference-ktx:1.1.1' // DI implementation "com.google.dagger:dagger:${versions.dagger.core}" implementation "com.google.dagger:dagger-android:${versions.dagger.core}" kapt "com.google.dagger:dagger-compiler:${versions.dagger.core}" kapt "com.google.dagger:dagger-android-processor:${versions.dagger.core}" implementation "com.google.dagger:hilt-android:${versions.dagger.core}" kapt "com.google.dagger:hilt-android-compiler:${versions.dagger.core}" testImplementation "com.google.dagger:hilt-android-testing:${versions.dagger.core}" kaptTest "com.google.dagger:hilt-android-compiler:${versions.dagger.core}" androidTestImplementation "com.google.dagger:hilt-android-testing:${versions.dagger.core}" kaptAndroidTest "com.google.dagger:hilt-android-compiler:${versions.dagger.core}" kapt "androidx.hilt:hilt-compiler:1.0.0" implementation 'androidx.hilt:hilt-common:1.0.0' kaptTest "androidx.hilt:hilt-compiler:1.0.0" testImplementation 'androidx.hilt:hilt-common:1.0.0' }