sentry-cli 2.58.3a0__tar.gz → 3.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/Cargo.lock +20 -75
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/Cargo.toml +3 -5
- sentry_cli-3.0.0/PKG-INFO +77 -0
- sentry_cli-3.0.0/README.md +60 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/apple-catalog-parsing/native/swift/AssetCatalogParser/Sources/AssetCatalogParser/AssetCatalogReader.swift +32 -7
- sentry_cli-3.0.0/sentry_cli.egg-info/PKG-INFO +77 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/sentry_cli.egg-info/SOURCES.txt +0 -10
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/api/data_types/chunking/compression.rs +0 -4
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/api/data_types/chunking/dif.rs +0 -15
- sentry_cli-3.0.0/src/api/data_types/chunking/upload/capability.rs +30 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/api/data_types/chunking/upload/options.rs +1 -15
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/api/errors/api_error.rs +3 -2
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/api/mod.rs +53 -650
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/build/upload.rs +215 -24
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/dart_symbol_map/upload.rs +1 -4
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/derive_parser.rs +1 -3
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/info.rs +0 -4
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/login.rs +0 -2
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/logs/mod.rs +0 -1
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/mod.rs +0 -23
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/react_native/gradle.rs +4 -4
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/react_native/mod.rs +0 -2
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/react_native/xcode.rs +6 -6
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/releases/delete.rs +4 -6
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/releases/finalize.rs +0 -15
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/releases/info.rs +2 -5
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/releases/list.rs +1 -2
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/releases/mod.rs +0 -11
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/send_metric/common_args.rs +0 -1
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/send_metric/increment.rs +1 -1
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/send_metric/mod.rs +1 -1
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/send_metric/set.rs +1 -1
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/sourcemaps/mod.rs +0 -2
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/sourcemaps/upload.rs +4 -29
- sentry_cli-3.0.0/src/commands/upload_proguard.rs +157 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/config.rs +2 -38
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/constants.rs +0 -1
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/auth_token/org_auth_token.rs +0 -1
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/build/normalize.rs +14 -2
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/chunks/options.rs +0 -4
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/chunks/upload.rs +2 -9
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/dif_upload/mod.rs +12 -265
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/file_search.rs +1 -1
- sentry_cli-3.0.0/src/utils/file_upload.rs +352 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/fs.rs +0 -15
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/mod.rs +0 -2
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/progress.rs +0 -6
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/proguard/mapping.rs +0 -5
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/proguard/upload.rs +1 -9
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/source_bundle.rs +1 -1
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/sourcemaps.rs +1 -4
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/ui.rs +1 -22
- sentry_cli-2.58.3a0/PKG-INFO +0 -168
- sentry_cli-2.58.3a0/README.md +0 -151
- sentry_cli-2.58.3a0/sentry_cli.egg-info/PKG-INFO +0 -168
- sentry_cli-2.58.3a0/src/api/data_types/chunking/upload/capability.rs +0 -67
- sentry_cli-2.58.3a0/src/commands/files/delete.rs +0 -58
- sentry_cli-2.58.3a0/src/commands/files/list.rs +0 -52
- sentry_cli-2.58.3a0/src/commands/files/mod.rs +0 -67
- sentry_cli-2.58.3a0/src/commands/files/upload.rs +0 -268
- sentry_cli-2.58.3a0/src/commands/react_native/appcenter.rs +0 -230
- sentry_cli-2.58.3a0/src/commands/send_metric/distribution.rs +0 -15
- sentry_cli-2.58.3a0/src/commands/send_metric/gauge.rs +0 -15
- sentry_cli-2.58.3a0/src/commands/sourcemaps/explain.rs +0 -521
- sentry_cli-2.58.3a0/src/commands/upload_proguard.rs +0 -343
- sentry_cli-2.58.3a0/src/utils/appcenter.rs +0 -221
- sentry_cli-2.58.3a0/src/utils/file_upload.rs +0 -726
- sentry_cli-2.58.3a0/src/utils/metrics.rs +0 -29
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/LICENSE +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/MANIFEST.in +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/apple-catalog-parsing/Cargo.toml +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/apple-catalog-parsing/build.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/apple-catalog-parsing/native/swift/AssetCatalogParser/Package.swift +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/apple-catalog-parsing/native/swift/AssetCatalogParser/Sources/ObjcSupport/include/safeValueForKey.h +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/apple-catalog-parsing/native/swift/AssetCatalogParser/Sources/ObjcSupport/safeValueForKey.m +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/apple-catalog-parsing/native/swift/AssetCatalogParser/Tests/AssetCatalogParserTests/AssetCatalogParserTests.swift +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/apple-catalog-parsing/native/swift/AssetCatalogParser/Tests/AssetCatalogParserTests/Resources/test.xcarchive/Info.plist +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/apple-catalog-parsing/native/swift/AssetCatalogParser/Tests/AssetCatalogParserTests/Resources/test.xcarchive/Products/Applications/DemoApp.app/Assets.car +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/apple-catalog-parsing/src/asset_catalog.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/apple-catalog-parsing/src/lib.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/build.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/pyproject.toml +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/sentry_cli.egg-info/dependency_links.txt +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/sentry_cli.egg-info/top_level.txt +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/setup.cfg +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/setup.py +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/api/connection_manager.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/api/data_types/chunking/artifact.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/api/data_types/chunking/build.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/api/data_types/chunking/file_state.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/api/data_types/chunking/hash_algorithm.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/api/data_types/chunking/mod.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/api/data_types/chunking/upload/mod.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/api/data_types/deploy.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/api/data_types/mod.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/api/encoding.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/api/envelopes_api.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/api/errors/mod.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/api/errors/sentry_error.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/api/pagination.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/bashsupport.sh +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/bash_hook.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/build/mod.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/dart_symbol_map/mod.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/debug_files/bundle_jvm.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/debug_files/bundle_sources.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/debug_files/check.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/debug_files/find.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/debug_files/mod.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/debug_files/print_sources.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/debug_files/upload.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/deploys/list.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/deploys/mod.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/deploys/new.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/events/list.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/events/mod.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/issues/list.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/issues/mod.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/issues/mute.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/issues/resolve.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/issues/unresolve.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/logs/list.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/monitors/list.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/monitors/mod.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/monitors/run.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/organizations/list.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/organizations/mod.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/projects/list.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/projects/mod.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/releases/archive.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/releases/new.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/releases/propose_version.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/releases/restore.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/releases/set_commits.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/repos/list.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/repos/mod.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/send_envelope.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/send_event.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/sourcemaps/inject.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/sourcemaps/resolve.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/uninstall.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/update.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/upload_dif.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/commands/upload_dsym.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/main.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/android.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/args.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/auth_token/auth_token_impl.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/auth_token/error.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/auth_token/mod.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/auth_token/redacting.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/auth_token/test.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/auth_token/user_auth_token.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/build/apple.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/build/mod.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/build/validation.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/chunks/mod.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/chunks/types.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/ci.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/cordova.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/dif.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/dif_upload/error.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/event.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/formatting.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/http.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/logging.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/non_empty.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/proguard/mod.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/releases.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/retry.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/snapshots/sentry_cli__utils__vcs__tests__generate_patch_default_twenty.snap +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/snapshots/sentry_cli__utils__vcs__tests__generate_patch_ignore_missing.snap +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/snapshots/sentry_cli__utils__vcs__tests__generate_patch_set_base.snap +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/snapshots/sentry_cli__utils__vcs__tests__generate_patch_set_previous_commit.snap +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/snapshots/sentry_cli__utils__vcs__tests__get_commits_from_git.snap +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/sourcemaps/inject.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/system.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/update.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/value_parsers.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/vcs.rs +0 -0
- {sentry_cli-2.58.3a0 → sentry_cli-3.0.0}/src/utils/xcode.rs +0 -0
|
@@ -60,21 +60,6 @@ dependencies = [
|
|
|
60
60
|
"memchr",
|
|
61
61
|
]
|
|
62
62
|
|
|
63
|
-
[[package]]
|
|
64
|
-
name = "alloc-no-stdlib"
|
|
65
|
-
version = "2.0.4"
|
|
66
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
67
|
-
checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3"
|
|
68
|
-
|
|
69
|
-
[[package]]
|
|
70
|
-
name = "alloc-stdlib"
|
|
71
|
-
version = "0.2.2"
|
|
72
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
73
|
-
checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece"
|
|
74
|
-
dependencies = [
|
|
75
|
-
"alloc-no-stdlib",
|
|
76
|
-
]
|
|
77
|
-
|
|
78
63
|
[[package]]
|
|
79
64
|
name = "allocator-api2"
|
|
80
65
|
version = "0.2.21"
|
|
@@ -307,27 +292,6 @@ dependencies = [
|
|
|
307
292
|
"generic-array",
|
|
308
293
|
]
|
|
309
294
|
|
|
310
|
-
[[package]]
|
|
311
|
-
name = "brotli"
|
|
312
|
-
version = "8.0.2"
|
|
313
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
314
|
-
checksum = "4bd8b9603c7aa97359dbd97ecf258968c95f3adddd6db2f7e7a5bef101c84560"
|
|
315
|
-
dependencies = [
|
|
316
|
-
"alloc-no-stdlib",
|
|
317
|
-
"alloc-stdlib",
|
|
318
|
-
"brotli-decompressor",
|
|
319
|
-
]
|
|
320
|
-
|
|
321
|
-
[[package]]
|
|
322
|
-
name = "brotli-decompressor"
|
|
323
|
-
version = "5.0.0"
|
|
324
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
325
|
-
checksum = "874bb8112abecc98cbd6d81ea4fa7e94fb9449648c93cc89aa40c81c24d7de03"
|
|
326
|
-
dependencies = [
|
|
327
|
-
"alloc-no-stdlib",
|
|
328
|
-
"alloc-stdlib",
|
|
329
|
-
]
|
|
330
|
-
|
|
331
295
|
[[package]]
|
|
332
296
|
name = "brownstone"
|
|
333
297
|
version = "3.0.0"
|
|
@@ -2340,8 +2304,6 @@ version = "0.8.5"
|
|
|
2340
2304
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2341
2305
|
checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
|
|
2342
2306
|
dependencies = [
|
|
2343
|
-
"libc",
|
|
2344
|
-
"rand_chacha 0.3.1",
|
|
2345
2307
|
"rand_core 0.6.4",
|
|
2346
2308
|
]
|
|
2347
2309
|
|
|
@@ -2351,20 +2313,10 @@ version = "0.9.2"
|
|
|
2351
2313
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2352
2314
|
checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1"
|
|
2353
2315
|
dependencies = [
|
|
2354
|
-
"rand_chacha
|
|
2316
|
+
"rand_chacha",
|
|
2355
2317
|
"rand_core 0.9.3",
|
|
2356
2318
|
]
|
|
2357
2319
|
|
|
2358
|
-
[[package]]
|
|
2359
|
-
name = "rand_chacha"
|
|
2360
|
-
version = "0.3.1"
|
|
2361
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2362
|
-
checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
|
|
2363
|
-
dependencies = [
|
|
2364
|
-
"ppv-lite86",
|
|
2365
|
-
"rand_core 0.6.4",
|
|
2366
|
-
]
|
|
2367
|
-
|
|
2368
2320
|
[[package]]
|
|
2369
2321
|
name = "rand_chacha"
|
|
2370
2322
|
version = "0.9.0"
|
|
@@ -2380,9 +2332,6 @@ name = "rand_core"
|
|
|
2380
2332
|
version = "0.6.4"
|
|
2381
2333
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2382
2334
|
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
|
|
2383
|
-
dependencies = [
|
|
2384
|
-
"getrandom 0.2.16",
|
|
2385
|
-
]
|
|
2386
2335
|
|
|
2387
2336
|
[[package]]
|
|
2388
2337
|
name = "rand_core"
|
|
@@ -2690,9 +2639,9 @@ checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2"
|
|
|
2690
2639
|
|
|
2691
2640
|
[[package]]
|
|
2692
2641
|
name = "sentry"
|
|
2693
|
-
version = "0.
|
|
2642
|
+
version = "0.46.0"
|
|
2694
2643
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2695
|
-
checksum = "
|
|
2644
|
+
checksum = "d9794f69ad475e76c057e326175d3088509649e3aed98473106b9fe94ba59424"
|
|
2696
2645
|
dependencies = [
|
|
2697
2646
|
"curl",
|
|
2698
2647
|
"httpdate",
|
|
@@ -2703,9 +2652,9 @@ dependencies = [
|
|
|
2703
2652
|
|
|
2704
2653
|
[[package]]
|
|
2705
2654
|
name = "sentry-anyhow"
|
|
2706
|
-
version = "0.
|
|
2655
|
+
version = "0.46.0"
|
|
2707
2656
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2708
|
-
checksum = "
|
|
2657
|
+
checksum = "d1832cd051f3198af8ebc5222da5fd213e49976d758b7defa7accbff3aed1909"
|
|
2709
2658
|
dependencies = [
|
|
2710
2659
|
"anyhow",
|
|
2711
2660
|
"sentry-backtrace",
|
|
@@ -2714,26 +2663,24 @@ dependencies = [
|
|
|
2714
2663
|
|
|
2715
2664
|
[[package]]
|
|
2716
2665
|
name = "sentry-backtrace"
|
|
2717
|
-
version = "0.
|
|
2666
|
+
version = "0.46.0"
|
|
2718
2667
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2719
|
-
checksum = "
|
|
2668
|
+
checksum = "e81137ad53b8592bd0935459ad74c0376053c40084aa170451e74eeea8dbc6c3"
|
|
2720
2669
|
dependencies = [
|
|
2721
2670
|
"backtrace",
|
|
2722
|
-
"once_cell",
|
|
2723
2671
|
"regex",
|
|
2724
2672
|
"sentry-core",
|
|
2725
2673
|
]
|
|
2726
2674
|
|
|
2727
2675
|
[[package]]
|
|
2728
2676
|
name = "sentry-cli"
|
|
2729
|
-
version = "
|
|
2677
|
+
version = "3.0.0"
|
|
2730
2678
|
dependencies = [
|
|
2731
2679
|
"anyhow",
|
|
2732
2680
|
"anylog",
|
|
2733
2681
|
"apple-catalog-parsing",
|
|
2734
2682
|
"assert_cmd",
|
|
2735
2683
|
"backon",
|
|
2736
|
-
"brotli",
|
|
2737
2684
|
"bytecount",
|
|
2738
2685
|
"chrono",
|
|
2739
2686
|
"chrono-tz",
|
|
@@ -2797,9 +2744,9 @@ dependencies = [
|
|
|
2797
2744
|
|
|
2798
2745
|
[[package]]
|
|
2799
2746
|
name = "sentry-contexts"
|
|
2800
|
-
version = "0.
|
|
2747
|
+
version = "0.46.0"
|
|
2801
2748
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2802
|
-
checksum = "
|
|
2749
|
+
checksum = "cfb403c66cc2651a01b9bacda2e7c22cd51f7e8f56f206aa4310147eb3259282"
|
|
2803
2750
|
dependencies = [
|
|
2804
2751
|
"hostname",
|
|
2805
2752
|
"libc",
|
|
@@ -2811,31 +2758,29 @@ dependencies = [
|
|
|
2811
2758
|
|
|
2812
2759
|
[[package]]
|
|
2813
2760
|
name = "sentry-core"
|
|
2814
|
-
version = "0.
|
|
2761
|
+
version = "0.46.0"
|
|
2815
2762
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2816
|
-
checksum = "
|
|
2763
|
+
checksum = "cfc409727ae90765ca8ea76fe6c949d6f159a11d02e130b357fa652ee9efcada"
|
|
2817
2764
|
dependencies = [
|
|
2818
|
-
"
|
|
2819
|
-
"once_cell",
|
|
2820
|
-
"rand 0.8.5",
|
|
2821
|
-
"regex",
|
|
2765
|
+
"rand 0.9.2",
|
|
2822
2766
|
"sentry-types",
|
|
2823
2767
|
"serde",
|
|
2824
2768
|
"serde_json",
|
|
2769
|
+
"url",
|
|
2825
2770
|
]
|
|
2826
2771
|
|
|
2827
2772
|
[[package]]
|
|
2828
2773
|
name = "sentry-types"
|
|
2829
|
-
version = "0.
|
|
2774
|
+
version = "0.46.0"
|
|
2830
2775
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2831
|
-
checksum = "
|
|
2776
|
+
checksum = "c7b9b4e4c03a4d3643c18c78b8aa91d2cbee5da047d2fa0ca4bb29bc67e6c55c"
|
|
2832
2777
|
dependencies = [
|
|
2833
2778
|
"debugid",
|
|
2834
2779
|
"hex",
|
|
2835
|
-
"rand 0.
|
|
2780
|
+
"rand 0.9.2",
|
|
2836
2781
|
"serde",
|
|
2837
2782
|
"serde_json",
|
|
2838
|
-
"thiserror
|
|
2783
|
+
"thiserror 2.0.17",
|
|
2839
2784
|
"time",
|
|
2840
2785
|
"url",
|
|
2841
2786
|
"uuid",
|
|
@@ -3040,9 +2985,9 @@ dependencies = [
|
|
|
3040
2985
|
|
|
3041
2986
|
[[package]]
|
|
3042
2987
|
name = "sourcemap"
|
|
3043
|
-
version = "9.
|
|
2988
|
+
version = "9.3.0"
|
|
3044
2989
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3045
|
-
checksum = "
|
|
2990
|
+
checksum = "c8131753a3c444a6177b92fc9e1bd0d2ecaf1c8953e6a41cc599e8e7ca317ef2"
|
|
3046
2991
|
dependencies = [
|
|
3047
2992
|
"base64-simd",
|
|
3048
2993
|
"bitvec",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
build = "build.rs"
|
|
3
3
|
name = "sentry-cli"
|
|
4
|
-
version = "
|
|
4
|
+
version = "3.0.0"
|
|
5
5
|
edition = "2021"
|
|
6
6
|
rust-version = "1.91"
|
|
7
7
|
|
|
@@ -54,16 +54,15 @@ regex = "1.7.3"
|
|
|
54
54
|
runas = "1.0.0"
|
|
55
55
|
rust-ini = "0.18.0"
|
|
56
56
|
semver = "1.0.16"
|
|
57
|
-
sentry = { version = "0.
|
|
57
|
+
sentry = { version = "0.46.0", default-features = false, features = [
|
|
58
58
|
"anyhow",
|
|
59
59
|
"curl",
|
|
60
60
|
"contexts",
|
|
61
|
-
"metrics",
|
|
62
61
|
] }
|
|
63
62
|
serde = { version = "1.0.152", features = ["derive"] }
|
|
64
63
|
serde_json = "1.0.93"
|
|
65
64
|
sha1_smol = { version = "1.0.0", features = ["serde", "std"] }
|
|
66
|
-
sourcemap = { version = "9.
|
|
65
|
+
sourcemap = { version = "9.3.0", features = ["ram_bundle"] }
|
|
67
66
|
symbolic = { version = "12.13.3", features = ["debuginfo-serde", "il2cpp"] }
|
|
68
67
|
thiserror = "1.0.38"
|
|
69
68
|
url = "2.3.1"
|
|
@@ -78,7 +77,6 @@ chrono-tz = "0.8.4"
|
|
|
78
77
|
secrecy = "0.8.0"
|
|
79
78
|
lru = "0.16.0"
|
|
80
79
|
backon = { version = "1.5.2", features = ["std", "std-blocking-sleep"] }
|
|
81
|
-
brotli = "8.0.2"
|
|
82
80
|
|
|
83
81
|
[dev-dependencies]
|
|
84
82
|
assert_cmd = "2.0.11"
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: sentry_cli
|
|
3
|
+
Version: 3.0.0
|
|
4
|
+
Summary: A command line utility to work with Sentry.
|
|
5
|
+
Home-page: https://github.com/getsentry/sentry-cli
|
|
6
|
+
Author: Sentry
|
|
7
|
+
Author-email: oss@sentry.io
|
|
8
|
+
License: FSL-1.1-MIT
|
|
9
|
+
Classifier: Programming Language :: Python :: 3
|
|
10
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
11
|
+
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
12
|
+
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
13
|
+
Requires-Python: >=3.7
|
|
14
|
+
Description-Content-Type: text/markdown
|
|
15
|
+
License-File: LICENSE
|
|
16
|
+
Dynamic: license-file
|
|
17
|
+
|
|
18
|
+
<p align="center">
|
|
19
|
+
<a href="https://sentry.io/?utm_source=github&utm_medium=logo" target="_blank">
|
|
20
|
+
<picture>
|
|
21
|
+
<source srcset="https://sentry-brand.storage.googleapis.com/sentry-logo-white.png" media="(prefers-color-scheme: dark)" />
|
|
22
|
+
<source srcset="https://sentry-brand.storage.googleapis.com/sentry-logo-black.png" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" />
|
|
23
|
+
<img src="https://sentry-brand.storage.googleapis.com/sentry-logo-black.png" alt="Sentry" width="280">
|
|
24
|
+
</picture>
|
|
25
|
+
</a>
|
|
26
|
+
</p>
|
|
27
|
+
|
|
28
|
+
# Sentry CLI
|
|
29
|
+
|
|
30
|
+
This is the repository for Sentry CLI, the official command line interface for Sentry.
|
|
31
|
+
|
|
32
|
+
Sentry CLI can be used for many tasks, including uploading debug symbols and source maps to Sentry, managing releases, and viewing Sentry data such as issues and logs.
|
|
33
|
+
|
|
34
|
+
## Installation and Usage
|
|
35
|
+
|
|
36
|
+
Please refer to [Sentry CLI's documentation page](https://docs.sentry.io/cli/).
|
|
37
|
+
|
|
38
|
+
## Compatibility
|
|
39
|
+
|
|
40
|
+
Sentry CLI officially supports [Sentry SaaS](https://sentry.io/) and [Sentry Self-Hosted](https://github.com/getsentry/self-hosted) versions 25.11.1 and above.
|
|
41
|
+
|
|
42
|
+
### Self-Hosted Sentry
|
|
43
|
+
|
|
44
|
+
Although some Sentry CLI features may work with versions of Sentry Self-Hosted prior to 25.11.1, we recommend users upgrade their self-hosted installations to a compatible version.
|
|
45
|
+
|
|
46
|
+
For users who cannot upgrade their self-hosted installation, we recommend using the latest compatible Sentry CLI version, per the table below:
|
|
47
|
+
|
|
48
|
+
| **Sentry Self-Hosted Version** | **Newest Compatible Sentry CLI Version** |
|
|
49
|
+
| ------------------------------ | --------------------------------------------------------------------- |
|
|
50
|
+
| ≥ 25.11.1 | [latest](https://github.com/getsentry/sentry-cli/releases/latest) |
|
|
51
|
+
| < 25.11.1 | [2.58.4](https://github.com/getsentry/sentry-cli/releases/tag/2.58.4) |
|
|
52
|
+
|
|
53
|
+
Note that we can only provide support for officially-supported Sentry Self-Hosted versions. We will not backport fixes for older Sentry CLI versions, even if they should be compatible with your self-hosted version.
|
|
54
|
+
|
|
55
|
+
## Versioning
|
|
56
|
+
|
|
57
|
+
Sentry CLI follows semantic versioning, according to [this versioning policy](VERSIONING.md).
|
|
58
|
+
|
|
59
|
+
## Compiling
|
|
60
|
+
|
|
61
|
+
In case you want to compile this yourself, you need to install at minimum the
|
|
62
|
+
following dependencies:
|
|
63
|
+
|
|
64
|
+
* Rust stable and Cargo
|
|
65
|
+
* Make, CMake and a C compiler
|
|
66
|
+
|
|
67
|
+
Use cargo to compile:
|
|
68
|
+
|
|
69
|
+
$ cargo build
|
|
70
|
+
|
|
71
|
+
Also, there is a Dockerfile that builds an Alpine-based Docker image with
|
|
72
|
+
`sentry-cli` in the PATH. To build and use it, run:
|
|
73
|
+
|
|
74
|
+
```sh
|
|
75
|
+
docker build -t sentry-cli .
|
|
76
|
+
docker run --rm -v $(pwd):/work sentry-cli --help
|
|
77
|
+
```
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<a href="https://sentry.io/?utm_source=github&utm_medium=logo" target="_blank">
|
|
3
|
+
<picture>
|
|
4
|
+
<source srcset="https://sentry-brand.storage.googleapis.com/sentry-logo-white.png" media="(prefers-color-scheme: dark)" />
|
|
5
|
+
<source srcset="https://sentry-brand.storage.googleapis.com/sentry-logo-black.png" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" />
|
|
6
|
+
<img src="https://sentry-brand.storage.googleapis.com/sentry-logo-black.png" alt="Sentry" width="280">
|
|
7
|
+
</picture>
|
|
8
|
+
</a>
|
|
9
|
+
</p>
|
|
10
|
+
|
|
11
|
+
# Sentry CLI
|
|
12
|
+
|
|
13
|
+
This is the repository for Sentry CLI, the official command line interface for Sentry.
|
|
14
|
+
|
|
15
|
+
Sentry CLI can be used for many tasks, including uploading debug symbols and source maps to Sentry, managing releases, and viewing Sentry data such as issues and logs.
|
|
16
|
+
|
|
17
|
+
## Installation and Usage
|
|
18
|
+
|
|
19
|
+
Please refer to [Sentry CLI's documentation page](https://docs.sentry.io/cli/).
|
|
20
|
+
|
|
21
|
+
## Compatibility
|
|
22
|
+
|
|
23
|
+
Sentry CLI officially supports [Sentry SaaS](https://sentry.io/) and [Sentry Self-Hosted](https://github.com/getsentry/self-hosted) versions 25.11.1 and above.
|
|
24
|
+
|
|
25
|
+
### Self-Hosted Sentry
|
|
26
|
+
|
|
27
|
+
Although some Sentry CLI features may work with versions of Sentry Self-Hosted prior to 25.11.1, we recommend users upgrade their self-hosted installations to a compatible version.
|
|
28
|
+
|
|
29
|
+
For users who cannot upgrade their self-hosted installation, we recommend using the latest compatible Sentry CLI version, per the table below:
|
|
30
|
+
|
|
31
|
+
| **Sentry Self-Hosted Version** | **Newest Compatible Sentry CLI Version** |
|
|
32
|
+
| ------------------------------ | --------------------------------------------------------------------- |
|
|
33
|
+
| ≥ 25.11.1 | [latest](https://github.com/getsentry/sentry-cli/releases/latest) |
|
|
34
|
+
| < 25.11.1 | [2.58.4](https://github.com/getsentry/sentry-cli/releases/tag/2.58.4) |
|
|
35
|
+
|
|
36
|
+
Note that we can only provide support for officially-supported Sentry Self-Hosted versions. We will not backport fixes for older Sentry CLI versions, even if they should be compatible with your self-hosted version.
|
|
37
|
+
|
|
38
|
+
## Versioning
|
|
39
|
+
|
|
40
|
+
Sentry CLI follows semantic versioning, according to [this versioning policy](VERSIONING.md).
|
|
41
|
+
|
|
42
|
+
## Compiling
|
|
43
|
+
|
|
44
|
+
In case you want to compile this yourself, you need to install at minimum the
|
|
45
|
+
following dependencies:
|
|
46
|
+
|
|
47
|
+
* Rust stable and Cargo
|
|
48
|
+
* Make, CMake and a C compiler
|
|
49
|
+
|
|
50
|
+
Use cargo to compile:
|
|
51
|
+
|
|
52
|
+
$ cargo build
|
|
53
|
+
|
|
54
|
+
Also, there is a Dockerfile that builds an Alpine-based Docker image with
|
|
55
|
+
`sentry-cli` in the PATH. To build and use it, run:
|
|
56
|
+
|
|
57
|
+
```sh
|
|
58
|
+
docker build -t sentry-cli .
|
|
59
|
+
docker run --rm -v $(pwd):/work sentry-cli --help
|
|
60
|
+
```
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import CoreGraphics
|
|
2
|
+
import CryptoKit
|
|
2
3
|
import Foundation
|
|
3
4
|
import ImageIO
|
|
4
5
|
import UniformTypeIdentifiers
|
|
@@ -40,6 +41,8 @@ struct AssetCatalogEntry: Encodable {
|
|
|
40
41
|
let type: AssetType?
|
|
41
42
|
let idiom: String?
|
|
42
43
|
let colorspace: String?
|
|
44
|
+
let contentHash: String?
|
|
45
|
+
let scale: UInt?
|
|
43
46
|
}
|
|
44
47
|
|
|
45
48
|
enum Error: Swift.Error {
|
|
@@ -112,7 +115,7 @@ enum AssetUtil {
|
|
|
112
115
|
|
|
113
116
|
let (structuredThemeStore, assetKeys) = initializeCatalog(from: file)
|
|
114
117
|
|
|
115
|
-
var
|
|
118
|
+
var cgImages: [String: (cgImage: CGImage, format: String)] = [:]
|
|
116
119
|
|
|
117
120
|
// First pass: Build map of multisize sets and cache renditions for performance
|
|
118
121
|
var multisizeSets: [MultisizeSetInfo] = []
|
|
@@ -216,6 +219,7 @@ enum AssetUtil {
|
|
|
216
219
|
var width: Int?
|
|
217
220
|
var height: Int?
|
|
218
221
|
var unslicedImage: CGImage?
|
|
222
|
+
var contentHash: String? = nil
|
|
219
223
|
|
|
220
224
|
if isMultisizeImageSet {
|
|
221
225
|
continue
|
|
@@ -223,15 +227,21 @@ enum AssetUtil {
|
|
|
223
227
|
// Get image dimensions from regular rendition
|
|
224
228
|
(width, height, unslicedImage) = resolveImageDimensions(rendition, isVector)
|
|
225
229
|
|
|
226
|
-
//
|
|
227
|
-
if fileExtension
|
|
230
|
+
// Compute content hash for PDFs/SVGs without saving to disk
|
|
231
|
+
if fileExtension == "pdf" || fileExtension == "svg" {
|
|
232
|
+
// Hash PDFs/SVGs in-memory (Python can't access _srcData without parsing binary .car format)
|
|
233
|
+
contentHash = data.sha256Hash()
|
|
234
|
+
}
|
|
235
|
+
// Save images that can be converted to CGImage (excluding PDFs/SVGs)
|
|
236
|
+
else if let unslicedImage = unslicedImage {
|
|
228
237
|
let format = fileExtension.isEmpty ? "png" : fileExtension
|
|
229
|
-
|
|
238
|
+
cgImages[imageId] = (cgImage: unslicedImage, format: format)
|
|
230
239
|
}
|
|
231
240
|
}
|
|
232
241
|
|
|
233
242
|
let idiomValue = key.getUInt(forKey: "themeIdiom")
|
|
234
243
|
let colorSpaceID = rendition.getUInt(forKey: "colorSpaceID")
|
|
244
|
+
let scaleValue = key.getUInt(forKey: "themeScale")
|
|
235
245
|
|
|
236
246
|
// Include multisize set name in the name field if it exists
|
|
237
247
|
let finalName: String
|
|
@@ -251,7 +261,9 @@ enum AssetUtil {
|
|
|
251
261
|
filename: renditionTypeName,
|
|
252
262
|
type: assetType,
|
|
253
263
|
idiom: idiomToString(idiomValue),
|
|
254
|
-
colorspace: colorSpaceIDToString(colorSpaceID)
|
|
264
|
+
colorspace: colorSpaceIDToString(colorSpaceID),
|
|
265
|
+
contentHash: contentHash,
|
|
266
|
+
scale: scaleValue
|
|
255
267
|
)
|
|
256
268
|
assets.append(asset)
|
|
257
269
|
}
|
|
@@ -266,7 +278,9 @@ enum AssetUtil {
|
|
|
266
278
|
filename: nil,
|
|
267
279
|
type: nil,
|
|
268
280
|
idiom: nil,
|
|
269
|
-
colorspace: nil
|
|
281
|
+
colorspace: nil,
|
|
282
|
+
contentHash: nil,
|
|
283
|
+
scale: nil
|
|
270
284
|
))
|
|
271
285
|
|
|
272
286
|
let data = try! JSONEncoder().encode(assets)
|
|
@@ -275,7 +289,7 @@ enum AssetUtil {
|
|
|
275
289
|
.appendingPathComponent("Assets")
|
|
276
290
|
.appendingPathExtension("json")
|
|
277
291
|
try! data.write(to: url, options: [])
|
|
278
|
-
for (id, imageInfo) in
|
|
292
|
+
for (id, imageInfo) in cgImages {
|
|
279
293
|
let format = imageInfo.format
|
|
280
294
|
let cgImage = imageInfo.cgImage
|
|
281
295
|
let fileURL = folder.appendingPathComponent(id).appendingPathExtension(format)
|
|
@@ -460,6 +474,17 @@ enum AssetUtil {
|
|
|
460
474
|
}
|
|
461
475
|
}
|
|
462
476
|
|
|
477
|
+
private extension Data {
|
|
478
|
+
func sha256Hash() -> String {
|
|
479
|
+
if #available(macOS 10.15, *) {
|
|
480
|
+
let digest = SHA256.hash(data: self)
|
|
481
|
+
return digest.map { String(format: "%02x", $0) }.joined()
|
|
482
|
+
}
|
|
483
|
+
// Fallback for older macOS (shouldn't happen with version 13+ requirement)
|
|
484
|
+
return ""
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
|
|
463
488
|
private extension NSObject {
|
|
464
489
|
func getUInt(forKey key: String) -> UInt? {
|
|
465
490
|
if let result = perform(Selector(key)) {
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: sentry_cli
|
|
3
|
+
Version: 3.0.0
|
|
4
|
+
Summary: A command line utility to work with Sentry.
|
|
5
|
+
Home-page: https://github.com/getsentry/sentry-cli
|
|
6
|
+
Author: Sentry
|
|
7
|
+
Author-email: oss@sentry.io
|
|
8
|
+
License: FSL-1.1-MIT
|
|
9
|
+
Classifier: Programming Language :: Python :: 3
|
|
10
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
11
|
+
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
12
|
+
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
13
|
+
Requires-Python: >=3.7
|
|
14
|
+
Description-Content-Type: text/markdown
|
|
15
|
+
License-File: LICENSE
|
|
16
|
+
Dynamic: license-file
|
|
17
|
+
|
|
18
|
+
<p align="center">
|
|
19
|
+
<a href="https://sentry.io/?utm_source=github&utm_medium=logo" target="_blank">
|
|
20
|
+
<picture>
|
|
21
|
+
<source srcset="https://sentry-brand.storage.googleapis.com/sentry-logo-white.png" media="(prefers-color-scheme: dark)" />
|
|
22
|
+
<source srcset="https://sentry-brand.storage.googleapis.com/sentry-logo-black.png" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" />
|
|
23
|
+
<img src="https://sentry-brand.storage.googleapis.com/sentry-logo-black.png" alt="Sentry" width="280">
|
|
24
|
+
</picture>
|
|
25
|
+
</a>
|
|
26
|
+
</p>
|
|
27
|
+
|
|
28
|
+
# Sentry CLI
|
|
29
|
+
|
|
30
|
+
This is the repository for Sentry CLI, the official command line interface for Sentry.
|
|
31
|
+
|
|
32
|
+
Sentry CLI can be used for many tasks, including uploading debug symbols and source maps to Sentry, managing releases, and viewing Sentry data such as issues and logs.
|
|
33
|
+
|
|
34
|
+
## Installation and Usage
|
|
35
|
+
|
|
36
|
+
Please refer to [Sentry CLI's documentation page](https://docs.sentry.io/cli/).
|
|
37
|
+
|
|
38
|
+
## Compatibility
|
|
39
|
+
|
|
40
|
+
Sentry CLI officially supports [Sentry SaaS](https://sentry.io/) and [Sentry Self-Hosted](https://github.com/getsentry/self-hosted) versions 25.11.1 and above.
|
|
41
|
+
|
|
42
|
+
### Self-Hosted Sentry
|
|
43
|
+
|
|
44
|
+
Although some Sentry CLI features may work with versions of Sentry Self-Hosted prior to 25.11.1, we recommend users upgrade their self-hosted installations to a compatible version.
|
|
45
|
+
|
|
46
|
+
For users who cannot upgrade their self-hosted installation, we recommend using the latest compatible Sentry CLI version, per the table below:
|
|
47
|
+
|
|
48
|
+
| **Sentry Self-Hosted Version** | **Newest Compatible Sentry CLI Version** |
|
|
49
|
+
| ------------------------------ | --------------------------------------------------------------------- |
|
|
50
|
+
| ≥ 25.11.1 | [latest](https://github.com/getsentry/sentry-cli/releases/latest) |
|
|
51
|
+
| < 25.11.1 | [2.58.4](https://github.com/getsentry/sentry-cli/releases/tag/2.58.4) |
|
|
52
|
+
|
|
53
|
+
Note that we can only provide support for officially-supported Sentry Self-Hosted versions. We will not backport fixes for older Sentry CLI versions, even if they should be compatible with your self-hosted version.
|
|
54
|
+
|
|
55
|
+
## Versioning
|
|
56
|
+
|
|
57
|
+
Sentry CLI follows semantic versioning, according to [this versioning policy](VERSIONING.md).
|
|
58
|
+
|
|
59
|
+
## Compiling
|
|
60
|
+
|
|
61
|
+
In case you want to compile this yourself, you need to install at minimum the
|
|
62
|
+
following dependencies:
|
|
63
|
+
|
|
64
|
+
* Rust stable and Cargo
|
|
65
|
+
* Make, CMake and a C compiler
|
|
66
|
+
|
|
67
|
+
Use cargo to compile:
|
|
68
|
+
|
|
69
|
+
$ cargo build
|
|
70
|
+
|
|
71
|
+
Also, there is a Dockerfile that builds an Alpine-based Docker image with
|
|
72
|
+
`sentry-cli` in the PATH. To build and use it, run:
|
|
73
|
+
|
|
74
|
+
```sh
|
|
75
|
+
docker build -t sentry-cli .
|
|
76
|
+
docker run --rm -v $(pwd):/work sentry-cli --help
|
|
77
|
+
```
|
|
@@ -74,10 +74,6 @@ src/commands/deploys/mod.rs
|
|
|
74
74
|
src/commands/deploys/new.rs
|
|
75
75
|
src/commands/events/list.rs
|
|
76
76
|
src/commands/events/mod.rs
|
|
77
|
-
src/commands/files/delete.rs
|
|
78
|
-
src/commands/files/list.rs
|
|
79
|
-
src/commands/files/mod.rs
|
|
80
|
-
src/commands/files/upload.rs
|
|
81
77
|
src/commands/issues/list.rs
|
|
82
78
|
src/commands/issues/mod.rs
|
|
83
79
|
src/commands/issues/mute.rs
|
|
@@ -92,7 +88,6 @@ src/commands/organizations/list.rs
|
|
|
92
88
|
src/commands/organizations/mod.rs
|
|
93
89
|
src/commands/projects/list.rs
|
|
94
90
|
src/commands/projects/mod.rs
|
|
95
|
-
src/commands/react_native/appcenter.rs
|
|
96
91
|
src/commands/react_native/gradle.rs
|
|
97
92
|
src/commands/react_native/mod.rs
|
|
98
93
|
src/commands/react_native/xcode.rs
|
|
@@ -109,18 +104,14 @@ src/commands/releases/set_commits.rs
|
|
|
109
104
|
src/commands/repos/list.rs
|
|
110
105
|
src/commands/repos/mod.rs
|
|
111
106
|
src/commands/send_metric/common_args.rs
|
|
112
|
-
src/commands/send_metric/distribution.rs
|
|
113
|
-
src/commands/send_metric/gauge.rs
|
|
114
107
|
src/commands/send_metric/increment.rs
|
|
115
108
|
src/commands/send_metric/mod.rs
|
|
116
109
|
src/commands/send_metric/set.rs
|
|
117
|
-
src/commands/sourcemaps/explain.rs
|
|
118
110
|
src/commands/sourcemaps/inject.rs
|
|
119
111
|
src/commands/sourcemaps/mod.rs
|
|
120
112
|
src/commands/sourcemaps/resolve.rs
|
|
121
113
|
src/commands/sourcemaps/upload.rs
|
|
122
114
|
src/utils/android.rs
|
|
123
|
-
src/utils/appcenter.rs
|
|
124
115
|
src/utils/args.rs
|
|
125
116
|
src/utils/ci.rs
|
|
126
117
|
src/utils/cordova.rs
|
|
@@ -132,7 +123,6 @@ src/utils/formatting.rs
|
|
|
132
123
|
src/utils/fs.rs
|
|
133
124
|
src/utils/http.rs
|
|
134
125
|
src/utils/logging.rs
|
|
135
|
-
src/utils/metrics.rs
|
|
136
126
|
src/utils/mod.rs
|
|
137
127
|
src/utils/non_empty.rs
|
|
138
128
|
src/utils/progress.rs
|
|
@@ -7,8 +7,6 @@ use serde::Deserialize;
|
|
|
7
7
|
pub enum ChunkCompression {
|
|
8
8
|
/// GZIP compression (including header)
|
|
9
9
|
Gzip = 10,
|
|
10
|
-
/// Brotli compression
|
|
11
|
-
Brotli = 20,
|
|
12
10
|
/// No compression should be applied
|
|
13
11
|
#[default]
|
|
14
12
|
#[serde(other)]
|
|
@@ -20,7 +18,6 @@ impl ChunkCompression {
|
|
|
20
18
|
match self {
|
|
21
19
|
ChunkCompression::Uncompressed => "file",
|
|
22
20
|
ChunkCompression::Gzip => "file_gzip",
|
|
23
|
-
ChunkCompression::Brotli => "file_brotli",
|
|
24
21
|
}
|
|
25
22
|
}
|
|
26
23
|
}
|
|
@@ -30,7 +27,6 @@ impl fmt::Display for ChunkCompression {
|
|
|
30
27
|
match *self {
|
|
31
28
|
ChunkCompression::Uncompressed => write!(f, "uncompressed"),
|
|
32
29
|
ChunkCompression::Gzip => write!(f, "gzip"),
|
|
33
|
-
ChunkCompression::Brotli => write!(f, "brotli"),
|
|
34
30
|
}
|
|
35
31
|
}
|
|
36
32
|
}
|
|
@@ -52,21 +52,6 @@ pub struct ChunkedDifResponse {
|
|
|
52
52
|
#[serde(transparent)]
|
|
53
53
|
pub struct AssembleDifsRequest<'a>(HashMap<Digest, ChunkedDifRequest<'a>>);
|
|
54
54
|
|
|
55
|
-
impl AssembleDifsRequest<'_> {
|
|
56
|
-
/// Strips the debug_id from all requests in the request. We need
|
|
57
|
-
/// to strip the debug_ids whenever the server does not support chunked
|
|
58
|
-
/// uploading of PDBs, to maintain backwards compatibility. The
|
|
59
|
-
/// calling code is responsible for calling this function when needed.
|
|
60
|
-
///
|
|
61
|
-
/// See: https://github.com/getsentry/sentry-cli/issues/980
|
|
62
|
-
/// See: https://github.com/getsentry/sentry-cli/issues/1056
|
|
63
|
-
pub fn strip_debug_ids(&mut self) {
|
|
64
|
-
for r in self.0.values_mut() {
|
|
65
|
-
r.debug_id = None;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
55
|
impl<'a, T> FromIterator<T> for AssembleDifsRequest<'a>
|
|
71
56
|
where
|
|
72
57
|
T: Into<ChunkedDifRequest<'a>>,
|