diff options
Diffstat (limited to 'build-logic')
4 files changed, 18 insertions, 7 deletions
diff --git a/build-logic/android-plugins/build.gradle.kts b/build-logic/android-plugins/build.gradle.kts index cdc7c315..dfe77e89 100644 --- a/build-logic/android-plugins/build.gradle.kts +++ b/build-logic/android-plugins/build.gradle.kts @@ -35,4 +35,5 @@ dependencies { implementation(libs.build.dokka) implementation(libs.build.mavenpublish) implementation(libs.build.semver) + implementation(libs.build.sentry) } diff --git a/build-logic/android-plugins/src/main/kotlin/com.github.android-password-store.sentry.gradle.kts b/build-logic/android-plugins/src/main/kotlin/com.github.android-password-store.sentry.gradle.kts index 4c22e8c8..0407d808 100644 --- a/build-logic/android-plugins/src/main/kotlin/com.github.android-password-store.sentry.gradle.kts +++ b/build-logic/android-plugins/src/main/kotlin/com.github.android-password-store.sentry.gradle.kts @@ -2,11 +2,14 @@ import flavors.FlavorDimensions import flavors.ProductFlavors +import io.sentry.android.gradle.InstrumentationFeature -plugins { id("com.android.application") } +plugins { + id("com.android.application") + id("io.sentry.android.gradle") +} val SENTRY_DSN_PROPERTY = "SENTRY_DSN" -val INVOKED_FROM_IDE_PROPERTY = "android.injected.invoked.from.ide" android { androidComponents { @@ -14,12 +17,17 @@ android { val sentryDsn = project.providers.environmentVariable(SENTRY_DSN_PROPERTY) 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" - ) } } } } + +sentry { + autoUploadProguardMapping.set(true) + ignoredBuildTypes.set(setOf("debug")) + ignoredFlavors.set(setOf(ProductFlavors.FREE)) + tracingInstrumentation { + enabled.set(true) + features.set(setOf(InstrumentationFeature.FILE_IO)) + } +} diff --git a/build-logic/kotlin-plugins/src/main/kotlin/com.github.android-password-store.binary-compatibility.gradle.kts b/build-logic/kotlin-plugins/src/main/kotlin/com.github.android-password-store.binary-compatibility.gradle.kts index ad6080e0..2723c8dc 100644 --- a/build-logic/kotlin-plugins/src/main/kotlin/com.github.android-password-store.binary-compatibility.gradle.kts +++ b/build-logic/kotlin-plugins/src/main/kotlin/com.github.android-password-store.binary-compatibility.gradle.kts @@ -16,6 +16,7 @@ apiValidation { "format-common", "diceware", "random", + "sentry-stub", "ui-compose", ) } diff --git a/build-logic/settings.gradle.kts b/build-logic/settings.gradle.kts index dc8e13b2..144cd7f7 100644 --- a/build-logic/settings.gradle.kts +++ b/build-logic/settings.gradle.kts @@ -2,6 +2,7 @@ * Copyright © 2014-2021 The Android Password Store Authors. All Rights Reserved. * SPDX-License-Identifier: GPL-3.0-only */ +@file:Suppress("UnstableApiUsage") rootProject.name = "build-logic" |