From 77d7bacaf60840a5b895c36188e78898fc15a8e7 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 24 Sep 2024 12:31:18 +0200 Subject: [PATCH] Use ModulesConfig for push provider modules. --- app/build.gradle.kts | 10 ++++++---- plugins/src/main/kotlin/ModulesConfig.kt | 8 +++++++- .../main/kotlin/config/PushProvidersConfig.kt | 19 +++++++++++++++++++ 3 files changed, 32 insertions(+), 5 deletions(-) create mode 100644 plugins/src/main/kotlin/config/PushProvidersConfig.kt diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 7f814a814a..1cc4de2eeb 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -250,10 +250,12 @@ dependencies { implementation(projects.libraries.uiStrings) anvil(projects.anvilcodegen) - // Comment to not include firebase in the project - "gplayImplementation"(projects.libraries.pushproviders.firebase) - // Comment to not include unified push in the project - implementation(projects.libraries.pushproviders.unifiedpush) + if (ModulesConfig.pushProvidersConfig.includeFirebase) { + "gplayImplementation"(projects.libraries.pushproviders.firebase) + } + if (ModulesConfig.pushProvidersConfig.includeFirebase) { + implementation(projects.libraries.pushproviders.unifiedpush) + } implementation(libs.appyx.core) implementation(libs.androidx.splash) diff --git a/plugins/src/main/kotlin/ModulesConfig.kt b/plugins/src/main/kotlin/ModulesConfig.kt index 649c948e26..f24d4f56b4 100644 --- a/plugins/src/main/kotlin/ModulesConfig.kt +++ b/plugins/src/main/kotlin/ModulesConfig.kt @@ -6,10 +6,16 @@ */ import config.AnalyticsConfig +import config.PushProvidersConfig object ModulesConfig { + val pushProvidersConfig = PushProvidersConfig( + includeFirebase = true, + includeUnifiedPush = true, + ) + val analyticsConfig: AnalyticsConfig = AnalyticsConfig.Enabled( withPosthog = true, - withSentry = true + withSentry = true, ) } diff --git a/plugins/src/main/kotlin/config/PushProvidersConfig.kt b/plugins/src/main/kotlin/config/PushProvidersConfig.kt new file mode 100644 index 0000000000..1e7e43b1ae --- /dev/null +++ b/plugins/src/main/kotlin/config/PushProvidersConfig.kt @@ -0,0 +1,19 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package config + +data class PushProvidersConfig( + val includeFirebase: Boolean, + val includeUnifiedPush: Boolean, +) { + init { + require(includeFirebase || includeUnifiedPush) { + "At least one push provider must be included" + } + } +}