Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

## Unreleased

**Breaking changes**:

This version introduces sentry-cli 3.0.0. Sentry-cli 3.0.0 and above only officially supports Sentry SaaS and Sentry self-hosted versions 25.11.1 and higher. While many Sentry CLI features may, in practice, continue working with some older Sentry versions, continued support for Sentry versions older than 25.11.1 is not guaranteed. You can use an older version of the this plugin if you need support for older Sentry self-hosted versions.

### Various fixes & improvements

- Set SENTRY_PIPELINE environment variable for all sentry-cli invocations ([#1036](https://github.com/getsentry/sentry-android-gradle-plugin/pull/1036))
Expand All @@ -11,9 +15,9 @@
- Bump Android SDK from v8.26.0 to v8.28.0 ([#1032](https://github.com/getsentry/sentry-android-gradle-plugin/pull/1032), [#1034](https://github.com/getsentry/sentry-android-gradle-plugin/pull/1034))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8280)
- [diff](https://github.com/getsentry/sentry-java/compare/8.26.0...8.28.0)
- Bump CLI from v2.58.2 to v2.58.4 ([#1037](https://github.com/getsentry/sentry-android-gradle-plugin/pull/1037), [#1038](https://github.com/getsentry/sentry-android-gradle-plugin/pull/1038))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2584)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.58.2...2.58.4)
- Bump CLI from v2.58.2 to v3.0.0 ([#1037](https://github.com/getsentry/sentry-android-gradle-plugin/pull/1037), [#1038](https://github.com/getsentry/sentry-android-gradle-plugin/pull/1038), [#1040](https://github.com/getsentry/sentry-android-gradle-plugin/pull/1040))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#300)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.58.2...3.0.0)

## 6.0.0-beta.2

Expand Down
2 changes: 1 addition & 1 deletion plugin-build/sentry-cli.properties
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
version = 2.58.4
version = 3.0.0
repo = https://github.com/getsentry/sentry-cli
Comment on lines +1 to 2

This comment was marked as outdated.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pretty sure this is just slop

Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ import io.sentry.android.gradle.tasks.configureNativeSymbolsTask
import io.sentry.android.gradle.tasks.dependencies.SentryExternalDependenciesReportTaskV2
import io.sentry.android.gradle.telemetry.SentryTelemetryService
import io.sentry.android.gradle.util.GroovyCompat
import io.sentry.android.gradle.util.ReleaseInfo
import io.sentry.android.gradle.util.SentryModules
import io.sentry.android.gradle.util.SentryPluginUtils.isMinificationEnabled
import io.sentry.android.gradle.util.SentryPluginUtils.isVariantAllowed
Expand Down Expand Up @@ -370,7 +369,6 @@ private fun ApplicationVariant.configureProguardMappingsTasks(
output = paths.proguardUuidDir,
)

val releaseInfo = getReleaseInfo()
val uploadMappingsTask =
SentryUploadProguardMappingsTask.register(
project = project,
Expand All @@ -387,7 +385,6 @@ private fun ApplicationVariant.configureProguardMappingsTasks(
sentryAuthToken = extension.authToken,
sentryUrl = extension.url,
taskSuffix = name.capitalized,
releaseInfo = releaseInfo,
)

generateUuidTask.hookWithMinifyTasks(
Expand Down Expand Up @@ -505,16 +502,3 @@ private fun <T : InstrumentationParameters> Variant.configureInstrumentation(
instrumentationParamsConfig,
)
}

private fun ApplicationVariant.getReleaseInfo(): ReleaseInfo {
val applicationId = applicationId.orNull ?: namespace.get()
var versionName = outputs.firstOrNull()?.versionName?.orNull
if (versionName.isNullOrEmpty()) {
versionName = "undefined"
}
var versionCode = outputs.firstOrNull()?.versionCode?.orNull
if (versionCode != null && versionCode < 0) {
versionCode = null
}
return ReleaseInfo(applicationId, versionName, versionCode)
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import io.sentry.android.gradle.tasks.SentryGenerateProguardUuidTask.Companion.S
import io.sentry.android.gradle.telemetry.SentryTelemetryService
import io.sentry.android.gradle.telemetry.withSentryTelemetry
import io.sentry.android.gradle.util.PropertiesUtil
import io.sentry.android.gradle.util.ReleaseInfo
import io.sentry.android.gradle.util.asSentryCliExec
import java.io.File
import org.gradle.api.Project
Expand Down Expand Up @@ -45,8 +44,6 @@ abstract class SentryUploadProguardMappingsTask : SentryCliExecTask() {

@get:Input abstract val autoUploadProguardMapping: Property<Boolean>

@get:Input abstract val releaseInfo: Property<ReleaseInfo>

override fun exec() {
if (!mappingsFiles.isPresent || mappingsFiles.get().isEmpty) {
error("[sentry] Mapping files are missing!")
Expand Down Expand Up @@ -102,7 +99,6 @@ abstract class SentryUploadProguardMappingsTask : SentryCliExecTask() {
sentryUrl: Property<String>,
autoUploadProguardMapping: Property<Boolean>,
taskSuffix: String = "",
releaseInfo: ReleaseInfo,
): TaskProvider<SentryUploadProguardMappingsTask> {
val uploadSentryProguardMappingsTask =
project.tasks.register(
Expand All @@ -119,7 +115,6 @@ abstract class SentryUploadProguardMappingsTask : SentryCliExecTask() {
task.autoUploadProguardMapping.set(autoUploadProguardMapping)
task.sentryOrganization.set(sentryOrg)
task.sentryProject.set(sentryProject)
task.releaseInfo.set(releaseInfo)
task.sentryAuthToken.set(sentryAuthToken)
task.sentryUrl.set(sentryUrl)
sentryTelemetryProvider?.let { task.sentryTelemetryService.set(it) }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package io.sentry.android.gradle.tasks

import io.sentry.android.gradle.util.ReleaseInfo
import java.io.File
import java.util.UUID
import kotlin.test.assertEquals
Expand All @@ -27,7 +26,6 @@ class SentryUploadProguardMappingTaskTest {
val randomUuid = UUID.randomUUID()
val project = createProject()
val uuidFileProvider = createFakeUuid(project, randomUuid)
val releaseInfo = ReleaseInfo("com.test", "1.0.0", 1)

val mappingFile = createMappingFileProvider(project, "dummy/folder/mapping.txt")
val task: TaskProvider<SentryUploadProguardMappingsTask> =
Expand All @@ -39,7 +37,6 @@ class SentryUploadProguardMappingTaskTest {
it.uuidFile.set(uuidFileProvider)
it.mappingsFiles = mappingFile
it.autoUploadProguardMapping.set(true)
it.releaseInfo.set(releaseInfo)
}

val args = task.get().computeCommandLineArgs()
Expand All @@ -57,7 +54,6 @@ class SentryUploadProguardMappingTaskTest {
val randomUuid = UUID.randomUUID()
val project = createProject()
val uuidFileProvider = createFakeUuid(project, randomUuid)
val releaseInfo = ReleaseInfo("com.test", "1.0.0")

val mappingFile = createMappingFileProvider(project, "dummy/folder/mapping.txt")
val task: TaskProvider<SentryUploadProguardMappingsTask> =
Expand All @@ -69,7 +65,6 @@ class SentryUploadProguardMappingTaskTest {
it.uuidFile.set(uuidFileProvider)
it.mappingsFiles = mappingFile
it.autoUploadProguardMapping.set(true)
it.releaseInfo.set(releaseInfo)
}

val args = task.get().computeCommandLineArgs()
Expand All @@ -88,7 +83,6 @@ class SentryUploadProguardMappingTaskTest {
val randomUuid = UUID.randomUUID()
val project = createProject()
val uuidFileProvider = createFakeUuid(project, randomUuid)
val releaseInfo = ReleaseInfo("com.test", "1.0.0")

val mappingFiles =
createMappingFileProvider(
Expand All @@ -111,7 +105,6 @@ class SentryUploadProguardMappingTaskTest {
it.uuidFile.set(uuidFileProvider)
it.mappingsFiles = mappingFiles
it.autoUploadProguardMapping.set(true)
it.releaseInfo.set(releaseInfo)
}

val args = task.get().computeCommandLineArgs()
Expand All @@ -123,7 +116,6 @@ class SentryUploadProguardMappingTaskTest {
fun `--auto-upload is set correctly`() {
val project = createProject()
val uuidFileProvider = createFakeUuid(project)
val releaseInfo = ReleaseInfo("com.test", "1.0.0")

val mappingFile = createMappingFileProvider(project, "dummy/folder/mapping.txt")
val task: TaskProvider<SentryUploadProguardMappingsTask> =
Expand All @@ -135,7 +127,6 @@ class SentryUploadProguardMappingTaskTest {
it.uuidFile.set(uuidFileProvider)
it.mappingsFiles = mappingFile
it.autoUploadProguardMapping.set(false)
it.releaseInfo.set(releaseInfo)
}

val args = task.get().computeCommandLineArgs()
Expand All @@ -159,7 +150,6 @@ class SentryUploadProguardMappingTaskTest {
it.mappingsFiles = mappingFile
it.autoUploadProguardMapping.set(false)
it.debug.set(true)
it.releaseInfo.set(ReleaseInfo("com.test", "1.0.0"))
}

val args = task.get().computeCommandLineArgs()
Expand Down Expand Up @@ -222,7 +212,6 @@ class SentryUploadProguardMappingTaskTest {
val project = createProject()
val uuidFileProvider = createFakeUuid(project)
val mappingFile = createMappingFileProvider(project, "dummy/folder/mapping.txt")
val releaseInfo = ReleaseInfo("com.test", "1.0.0")
val task: TaskProvider<SentryUploadProguardMappingsTask> =
project.tasks.register(
"testUploadProguardMapping",
Expand All @@ -233,7 +222,6 @@ class SentryUploadProguardMappingTaskTest {
it.uuidFile.set(uuidFileProvider)
it.mappingsFiles = mappingFile
it.autoUploadProguardMapping.set(false)
it.releaseInfo.set(ReleaseInfo("com.test", "1.0.0", 1))
}

val args = task.get().computeCommandLineArgs()
Expand All @@ -258,7 +246,6 @@ class SentryUploadProguardMappingTaskTest {
it.mappingsFiles = mappingFile
it.autoUploadProguardMapping.set(false)
it.sentryOrganization.set("dummy-org")
it.releaseInfo.set(ReleaseInfo("com.test", "1.0.0", 1))
}

val args = task.get().computeCommandLineArgs()
Expand All @@ -283,7 +270,6 @@ class SentryUploadProguardMappingTaskTest {
it.mappingsFiles = mappingFile
it.autoUploadProguardMapping.set(false)
it.sentryProject.set("dummy-proj")
it.releaseInfo.set(ReleaseInfo("com.test", "1.0.0", 1))
}

val args = task.get().computeCommandLineArgs()
Expand Down
8 changes: 5 additions & 3 deletions test/integration-test-server.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ def do_GET(self):
self.writeJSON('{"url":"' + uri.geturl() + self.path + '",'
'"chunkSize":8388608,"chunksPerRequest":64,"maxFileSize":2147483648,'
'"maxRequestSize":33554432,"concurrency":1,"hashAlgorithm":"sha1","compression":["gzip"],'
'"accept":["debug_files","release_files","pdbs","sources","bcsymbolmaps","preprod_artifacts"]}')
'"accept":["debug_files","release_files","pdbs","sources","bcsymbolmaps","preprod_artifacts","proguard"]}')
elif self.isApi('/api/0/organizations/{}/repos/?cursor='.format(apiOrg)):
self.writeJSONFile("test/assets/repos.json")
elif self.isApi('/api/0/organizations/{}/releases/{}/previous-with-commits/'.format(apiOrg, version)):
Expand Down Expand Up @@ -58,10 +58,12 @@ def do_POST(self):
jsonRequest = json.loads(self.body)
jsonResponse = '{'
for key, value in jsonRequest.items():
# ProGuard mappings don't have debug_id, use key as uploaded_id instead
uploaded_id = value.get('debug_id', key)
jsonResponse += '"{}":{{"state":"ok","missingChunks":[],"uploaded_id":"{}"}},'.format(
key, value['debug_id'])
key, uploaded_id)
self.log_message('Received: %40s %40s %s', key,
value['debug_id'], value['name'])
uploaded_id, value['name'])
jsonResponse = jsonResponse.rstrip(',') + '}'
self.writeJSON(jsonResponse)
elif self.isApi('api/0/projects/{}/{}/releases/'.format(apiOrg, apiProject)):
Expand Down
Loading