plugins { id(libs.plugins.android.app.get().pluginId) alias(libs.plugins.firebase.crashlytics) alias(libs.plugins.firebase.perf) id(libs.plugins.google.oss.licenses.plugin.get().pluginId) } val customEndpoint: String? = Environment.ENDPOINT.getenv()?.takeIf(String::isNotBlank) android { namespace = "ru.touchin.template" configureSigningConfig(this@Build_gradle::file) with(defaultConfig) { addResourceConfigurations("ru") } addBuildType(type = BuildType.Develop, project = rootProject) addBuildType(type = BuildType.Debug, project = rootProject) addBuildType(type = BuildType.Customer, project = rootProject) addBuildType(type = BuildType.Release, project = rootProject) addMobileServicesFlavor() ext["languageMap"] = mapOf("ru" to "${rootProject.projectDir}/${AndroidConfig.COMMON_FOLDER}/strings/default_common_strings.json") } dependencies { // AndroidX implementation(libs.bundles.androidX) // KotlinX implementation(libs.coroutines) // UI implementation(libs.bundles.ui) // Lifecycle implementation(libs.bundles.lifecycle) kapt(libs.androidx.lifecycle.compiler) // Dagger implementation(libs.bundles.dagger) kapt(libs.dagger.compiler) kapt(libs.dagger.assisted.inject.processor) // Glide implementation(libs.glide) implementation(libs.glide.okhttp3) kapt(libs.glide.compiler) // Retrofit2, OkHttp3 implementation(libs.retrofit) implementation(libs.retrofit.converter.moshi) implementation(libs.okhttp) implementation(libs.okhttp.logging.interceptor) // Moshi implementation(libs.moshi) implementation(libs.moshi.kotlin) kapt(libs.moshi.codegen) // Room implementation(libs.room) implementation(libs.room.ktx) kapt(libs.room.compiler) // LeakCanary implementation(libs.leakcanary) // Chucker debugImplementation(libs.chucker.debug) releaseImplementation(libs.chucker.release) // GMS implementation(platform(libs.firebase.bom)) implementation(libs.bundles.firebase) implementation(libs.google.oss.licenses) // Security implementation(libs.androidx.security.crypto) // Biometric implementation(libs.androidx.biometric) // Groupie implementation(libs.groupie) implementation(libs.groupie.viewbinding) // Cicecrone implementation(libs.cicerone) } apply(from = "${rootProject.ext["buildScriptsDir"]}/gradle/scripts/stringGenerator.gradle") val Project.buildScriptDir: String get() = rootProject.ext["buildScriptsDir"] as String