aboutsummaryrefslogtreecommitdiffstats
path: root/build-logic/android-plugins/src/main/kotlin/com.github.android-password-store.sentry.gradle.kts
blob: 2aaf478fae4f1889308b8e115cf5d2b85c7151c3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
@file:Suppress("PropertyName")

import flavors.FlavorDimensions
import flavors.ProductFlavors
import io.sentry.android.gradle.extensions.InstrumentationFeature

plugins {
  id("com.android.application")
  id("io.sentry.android.gradle")
}

val SENTRY_DSN_PROPERTY = "SENTRY_DSN"
val SENTRY_UPLOAD_MAPPINGS_PROPERTY = "sentryUploadMappings"

android {
  androidComponents {
    onVariants(selector().withFlavor(FlavorDimensions.FREE to ProductFlavors.NON_FREE)) { variant ->
      val sentryDsn = project.providers.environmentVariable(SENTRY_DSN_PROPERTY)
      if (sentryDsn.isPresent) {
        variant.manifestPlaceholders.put("sentryDsn", sentryDsn.get())
      }
    }
  }
}

sentry {
  autoUploadProguardMapping.set(
    project.providers.gradleProperty(SENTRY_UPLOAD_MAPPINGS_PROPERTY).isPresent
  )
  ignoredBuildTypes.set(setOf("debug"))
  ignoredFlavors.set(setOf(ProductFlavors.FREE))
  tracingInstrumentation {
    enabled.set(true)
    features.set(setOf(InstrumentationFeature.FILE_IO))
  }
  autoInstallation.enabled.set(false)
}