Introduce Sentry for error reporting (#1737)
This commit is contained in:
parent
f6dd7e338f
commit
3d0006d610
7 changed files with 47 additions and 0 deletions
|
@ -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"
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue