Introduce Sentry for error reporting (#1737)

This commit is contained in:
Harsh Shandilya 2022-02-20 18:58:35 +05:30
parent f6dd7e338f
commit 3d0006d610
No known key found for this signature in database
GPG key ID: 366D7BBAD1031E80
7 changed files with 47 additions and 0 deletions

View file

@ -0,0 +1,29 @@
@file:Suppress("PropertyName")
import flavors.FlavorDimensions
import flavors.ProductFlavors
plugins { id("com.android.application") }
val SENTRY_DSN_PROPERTY = "SENTRY_DSN"
val INVOKED_FROM_IDE_PROPERTY = "android.injected.invoked.from.ide"
android {
androidComponents {
onVariants(selector().withFlavor(FlavorDimensions.FREE to ProductFlavors.NON_FREE)) { variant ->
val sentryDsn =
project
.providers
.environmentVariable(SENTRY_DSN_PROPERTY)
.orElse("https://public_key@example.com/project_id")
if (sentryDsn.isPresent) {
variant.manifestPlaceholders.put("sentryDsn", sentryDsn.get())
} else if (project.providers.gradleProperty(INVOKED_FROM_IDE_PROPERTY).orNull != "true") {
// Checking for 'INVOKED_FROM_IDE_PROPERTY' prevents failures during Gradle sync by the IDE
throw GradleException(
"The '${SENTRY_DSN_PROPERTY}' environment variable must be set when building the ${ProductFlavors.NON_FREE} flavor"
)
}
}
}
}