diff --git a/app/build.gradle.kts b/app/build.gradle.kts index f0dea4275..c673f3bfc 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,5 +1,6 @@ import com.android.build.api.variant.ApplicationVariant import com.android.build.api.variant.BuildConfigField +import com.google.firebase.crashlytics.buildtools.gradle.CrashlyticsExtension import mihon.gradle.Config import mihon.gradle.getCurrentTime import mihon.gradle.getLatestCommitCount @@ -106,6 +107,14 @@ android { matchingFallbacks.addAll(commonMatchingFallbacks) } + + if (Config.includeTelemetry) { + configureEach { + configure { + mappingFileUploadEnabled = Config.uploadCrashlyticsMapping + } + } + } } sourceSets { diff --git a/gradle/build-logic/src/main/kotlin/mihon/gradle/BuildConfig.kt b/gradle/build-logic/src/main/kotlin/mihon/gradle/BuildConfig.kt index 21590d2f6..0d314dc49 100644 --- a/gradle/build-logic/src/main/kotlin/mihon/gradle/BuildConfig.kt +++ b/gradle/build-logic/src/main/kotlin/mihon/gradle/BuildConfig.kt @@ -4,6 +4,7 @@ import org.gradle.api.Project interface BuildConfig { val includeTelemetry: Boolean + val uploadCrashlyticsMapping: Boolean val enableUpdater: Boolean val includeDependencyInfo: Boolean } @@ -26,6 +27,8 @@ val Project.Config: BuildConfig get() = object : BuildConfig { override val includeTelemetry: Boolean = project.flag("include-telemetry") ?: (distribution == Distribution.CI || distribution == Distribution.GITHUB) + override val uploadCrashlyticsMapping: Boolean = includeTelemetry && (distribution == Distribution.GITHUB) + override val enableUpdater: Boolean = project.flag("enable-updater") ?: (distribution != Distribution.LOCAL)