diff --git a/CHANGELOG.md b/CHANGELOG.md index b342db44..ec08d0a8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## Unreleased +### Various fixes & improvements + +- Set SENTRY_PIPELINE environment variable for all sentry-cli invocations ([#1036](https://github.com/getsentry/sentry-android-gradle-plugin/pull/1036)) + ### Dependencies - Bump Android SDK from v8.26.0 to v8.27.1 ([#1032](https://github.com/getsentry/sentry-android-gradle-plugin/pull/1032)) diff --git a/plugin-build/src/main/kotlin/io/sentry/android/gradle/tasks/SentryCliExecTask.kt b/plugin-build/src/main/kotlin/io/sentry/android/gradle/tasks/SentryCliExecTask.kt index 74763242..aaa331f0 100644 --- a/plugin-build/src/main/kotlin/io/sentry/android/gradle/tasks/SentryCliExecTask.kt +++ b/plugin-build/src/main/kotlin/io/sentry/android/gradle/tasks/SentryCliExecTask.kt @@ -3,6 +3,7 @@ package io.sentry.android.gradle.tasks import io.sentry.android.gradle.SentryCliProvider import io.sentry.android.gradle.telemetry.SentryTelemetryService import io.sentry.android.gradle.util.info +import io.sentry.android.gradle.util.setSentryPipelineEnv import java.io.File import org.apache.tools.ant.taskdefs.condition.Os import org.gradle.api.file.RegularFileProperty @@ -48,6 +49,7 @@ abstract class SentryCliExecTask : Exec() { } setSentryPropertiesEnv() setSentryAuthTokenEnv() + setSentryPipelineEnv() super.exec() } diff --git a/plugin-build/src/main/kotlin/io/sentry/android/gradle/telemetry/SentryTelemetryService.kt b/plugin-build/src/main/kotlin/io/sentry/android/gradle/telemetry/SentryTelemetryService.kt index bd537f72..c8ec976e 100644 --- a/plugin-build/src/main/kotlin/io/sentry/android/gradle/telemetry/SentryTelemetryService.kt +++ b/plugin-build/src/main/kotlin/io/sentry/android/gradle/telemetry/SentryTelemetryService.kt @@ -24,6 +24,7 @@ import io.sentry.android.gradle.util.SentryCliException import io.sentry.android.gradle.util.error import io.sentry.android.gradle.util.getBuildServiceName import io.sentry.android.gradle.util.info +import io.sentry.android.gradle.util.setSentryPipelineEnv import io.sentry.exception.ExceptionMechanismException import io.sentry.gradle.common.SentryVariant import io.sentry.protocol.Mechanism @@ -449,6 +450,8 @@ abstract class SentryCliInfoValueSource : ValueSource { it.environment("SENTRY_AUTH_TOKEN", authToken) } + it.setSentryPipelineEnv() + it.commandLine(args) it.standardOutput = stdOutput it.errorOutput = errOutput @@ -491,6 +494,8 @@ abstract class SentryCliVersionValueSource : ValueSource args.add("--log-level=error") args.add("--version") + it.setSentryPipelineEnv() + it.commandLine(args) it.standardOutput = output } diff --git a/plugin-build/src/main/kotlin/io/sentry/android/gradle/util/SentryCliExec.kt b/plugin-build/src/main/kotlin/io/sentry/android/gradle/util/SentryCliExec.kt index efc9c226..55a25fec 100644 --- a/plugin-build/src/main/kotlin/io/sentry/android/gradle/util/SentryCliExec.kt +++ b/plugin-build/src/main/kotlin/io/sentry/android/gradle/util/SentryCliExec.kt @@ -1,9 +1,15 @@ package io.sentry.android.gradle.util +import io.sentry.BuildConfig import io.sentry.android.gradle.util.CliFailureReason.OUTDATED import java.io.ByteArrayOutputStream import org.gradle.api.GradleException import org.gradle.api.tasks.Exec +import org.gradle.process.ExecSpec + +fun ExecSpec.setSentryPipelineEnv() { + environment("SENTRY_PIPELINE", "sentry-gradle-plugin/${BuildConfig.Version}") +} /** * An ext function for tasks that wrap sentry-cli, which provides common error handling. Must be