fastlane-plugin-sentry 1.8.2 → 1.10.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +53 -10
- data/lib/fastlane/plugin/sentry/actions/sentry_check_cli_installed.rb +37 -0
- data/lib/fastlane/plugin/sentry/actions/sentry_create_deploy.rb +10 -5
- data/lib/fastlane/plugin/sentry/actions/sentry_create_release.rb +12 -8
- data/lib/fastlane/plugin/sentry/actions/sentry_finalize_release.rb +5 -1
- data/lib/fastlane/plugin/sentry/actions/sentry_set_commits.rb +5 -0
- data/lib/fastlane/plugin/sentry/actions/sentry_upload_dif.rb +165 -0
- data/lib/fastlane/plugin/sentry/actions/sentry_upload_file.rb +13 -8
- data/lib/fastlane/plugin/sentry/actions/sentry_upload_sourcemap.rb +13 -8
- data/lib/fastlane/plugin/sentry/helper/sentry_config.rb +1 -1
- data/lib/fastlane/plugin/sentry/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b3525683a69ad2fe32b95055e0d767db9a7a8bcc4f9f2e4448087ae5fa3beba5
|
4
|
+
data.tar.gz: ef2a9d0aee82f66be83ad4c89f5c699c70ebe1181c0ab470f9ac917a146b34bd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9c9d81ffd9aca6f2b22ef771afa669db0dc1708b8724422722a7597c71505fe0f7eb1c8895019ef7c5851c6f9528a52b3ef3c0aa02eb9959343724ad477a59cc
|
7
|
+
data.tar.gz: 8b297ca55069d07d7ccbd9c3ee5c6ef56c15e5b8ae5dc02e40e9bf16b709ba8eb8a6badfc5e4bc02e31d34b43ee15880cd0196bf8123a9800af2e971a7520744
|
data/README.md
CHANGED
@@ -22,7 +22,7 @@ fastlane add_plugin sentry
|
|
22
22
|
|
23
23
|
A subset of actions provided by the CLI: https://docs.sentry.io/learn/cli/
|
24
24
|
|
25
|
-
|
25
|
+
### Authentication & Configuration
|
26
26
|
|
27
27
|
`auth_token` is the preferred way to authentication method with Sentry. This can be obtained on https://sentry.io/api/.
|
28
28
|
`api_key` still works but will eventually become deprecated. This can be obtained through the settings of your project.
|
@@ -30,7 +30,40 @@ Also note that as of version `1.2.0` you no longer have to provide the required
|
|
30
30
|
|
31
31
|
The following environment variables may be used in place of parameters: `SENTRY_API_KEY`, `SENTRY_AUTH_TOKEN`, `SENTRY_ORG_SLUG`, and `SENTRY_PROJECT_SLUG`.
|
32
32
|
|
33
|
-
|
33
|
+
### Uploading Debug Information Files
|
34
|
+
|
35
|
+
```ruby
|
36
|
+
sentry_upload_dif(
|
37
|
+
api_key: '...', # Do not use if using auth_token
|
38
|
+
auth_token: '...', # Do not use if using api_key
|
39
|
+
org_slug: '...',
|
40
|
+
project_slug: '...',
|
41
|
+
path: '/path/to/files', # Optional. We'll default to '.' when no value is provided.
|
42
|
+
)
|
43
|
+
```
|
44
|
+
|
45
|
+
The `SENTRY_DSYM_PATH` environment variable may be used in place of the `dsym_path` parameter.
|
46
|
+
|
47
|
+
Further options:
|
48
|
+
|
49
|
+
- __type__: Optional. Only consider debug information files of the given type. By default, all types are considered. Valid options: 'dsym', 'elf', 'breakpad', 'pdb', 'pe', 'sourcebundle', 'bcsymbolmap'.
|
50
|
+
- __no_unwind__: Optional. Do not scan for stack unwinding information. Specify this flag for builds with disabled FPO, or when stackwalking occurs on the device. This usually excludes executables and dynamic libraries. They might still be uploaded, if they contain additional processable information (see other flags)".
|
51
|
+
- __no_debug__: Optional. Do not scan for debugging information. This will usually exclude debug companion files. They might still be uploaded, if they contain additional processable information (see other flags)".
|
52
|
+
- __no_sources__: Optional. "Do not scan for source information. This will usually exclude source bundle files. They might still be uploaded, if they contain additional processable information (see other flags)".
|
53
|
+
- __ids__: Optional. Search for specific debug identifiers.
|
54
|
+
- __require_all__: Optional. Errors if not all identifiers specified with --id could be found.
|
55
|
+
- __symbol_maps__: Optional. Optional path to BCSymbolMap files which are used to resolve hidden symbols in dSYM files downloaded from iTunes Connect. This requires the dsymutil tool to be available.
|
56
|
+
- __derived_data__: Optional. Search for debug symbols in Xcode's derived data.
|
57
|
+
- __no_zips__: Do not search in ZIP files.
|
58
|
+
- __info_plist__: Optional. Optional path to the Info.plist. We will try to find this automatically if run from Xcode. Providing this information will associate the debug symbols with a specific ITC application and build in Sentry. Note that if you provide the plist explicitly it must already be processed.
|
59
|
+
- __no_reprocessing__: Optional. Do not trigger reprocessing after uploading.
|
60
|
+
- __force_foreground__: Optional. Wait for the process to finish. By default, the upload process will detach and continue in the background when triggered from Xcode. When an error happens, a dialog is shown. If this parameter is passed Xcode will wait for the process to finish before the build finishes and output will be shown in the Xcode build output.
|
61
|
+
- __include_sources__: Optional. Include sources from the local file system and upload them as source bundles.
|
62
|
+
- __wait__: Wait for the server to fully process uploaded files. Errors can only be displayed if --wait is specified, but this will significantly slow down the upload process.
|
63
|
+
- __upload_symbol_maps__: Optional. Upload any BCSymbolMap files found to allow Sentry to resolve hidden symbols, e.g. when it downloads dSYMs directly from App Store Connect or when you upload dSYMs without first resolving the hidden symbols using --symbol-maps.
|
64
|
+
|
65
|
+
|
66
|
+
Or the soon to be deprecated way:
|
34
67
|
|
35
68
|
```ruby
|
36
69
|
sentry_upload_dsym(
|
@@ -44,9 +77,7 @@ sentry_upload_dsym(
|
|
44
77
|
)
|
45
78
|
```
|
46
79
|
|
47
|
-
|
48
|
-
|
49
|
-
#### Creating & Finalizing Releases
|
80
|
+
### Creating & Finalizing Releases
|
50
81
|
|
51
82
|
```ruby
|
52
83
|
sentry_create_release(
|
@@ -60,7 +91,7 @@ sentry_create_release(
|
|
60
91
|
)
|
61
92
|
```
|
62
93
|
|
63
|
-
|
94
|
+
### Uploading Files & Sourcemaps
|
64
95
|
|
65
96
|
Useful for uploading build artifacts and JS sourcemaps for react-native apps built using fastlane.
|
66
97
|
|
@@ -72,6 +103,7 @@ sentry_upload_file(
|
|
72
103
|
project_slug: '...',
|
73
104
|
version: '...',
|
74
105
|
app_identifier: '...', # pass in the bundle_identifer of your app
|
106
|
+
build: '...', # Optionally pass in the build number of your app
|
75
107
|
dist: '...', # optional distribution of the release usually the buildnumber
|
76
108
|
file: 'main.jsbundle' # file to upload
|
77
109
|
)
|
@@ -85,13 +117,14 @@ sentry_upload_sourcemap(
|
|
85
117
|
project_slug: '...',
|
86
118
|
version: '...',
|
87
119
|
app_identifier: '...', # pass in the bundle_identifer of your app
|
120
|
+
build: '...', # Optionally pass in the build number of your app
|
88
121
|
dist: '...', # optional distribution of the release usually the buildnumber
|
89
122
|
sourcemap: 'main.jsbundle.map', # sourcemap to upload
|
90
123
|
rewrite: true
|
91
124
|
)
|
92
125
|
```
|
93
126
|
|
94
|
-
|
127
|
+
### Uploading Proguard Mapping File
|
95
128
|
|
96
129
|
```ruby
|
97
130
|
sentry_upload_proguard(
|
@@ -99,12 +132,12 @@ sentry_upload_proguard(
|
|
99
132
|
auth_token: '...', # Do not use if using api_key
|
100
133
|
org_slug: '...',
|
101
134
|
project_slug: '...',
|
102
|
-
android_manifest_path: 'path to merged AndroidManifest file' # found in `app/build/intermediates/manifests/full`
|
135
|
+
android_manifest_path: 'path to merged AndroidManifest file', # found in `app/build/intermediates/manifests/full`
|
103
136
|
mapping_path: 'path to mapping.txt to upload',
|
104
137
|
)
|
105
138
|
```
|
106
139
|
|
107
|
-
|
140
|
+
### Associating commits
|
108
141
|
|
109
142
|
Useful for telling Sentry which commits are associated with a release.
|
110
143
|
|
@@ -112,13 +145,14 @@ Useful for telling Sentry which commits are associated with a release.
|
|
112
145
|
sentry_set_commits(
|
113
146
|
version: '...',
|
114
147
|
app_identifier: '...', # pass in the bundle_identifer of your app
|
148
|
+
build: '...', # Optionally pass in the build number of your app
|
115
149
|
auto: false, # enable completely automated commit management
|
116
150
|
clear: false, # clear all current commits from the release
|
117
151
|
commit: '...', # commit spec, see `sentry-cli releases help set-commits` for more information
|
118
152
|
)
|
119
153
|
```
|
120
154
|
|
121
|
-
|
155
|
+
### Create deploy
|
122
156
|
|
123
157
|
Creates a new release deployment for a project on Sentry.
|
124
158
|
|
@@ -130,6 +164,7 @@ sentry_create_deploy(
|
|
130
164
|
project_slug: '...',
|
131
165
|
version: '...',
|
132
166
|
app_identifier: '...', # pass in the bundle_identifer of your app
|
167
|
+
build: '...', # Optionally pass in the build number of your app
|
133
168
|
env: 'staging', # The environment for this deploy. Required.
|
134
169
|
name: '...', # Optional human readable name
|
135
170
|
deploy_url: '...', # Optional URL that points to the deployment
|
@@ -139,6 +174,14 @@ sentry_create_deploy(
|
|
139
174
|
)
|
140
175
|
```
|
141
176
|
|
177
|
+
### Checking the sentry-cli is installed
|
178
|
+
|
179
|
+
Useful for checking that the sentry-cli is installed and meets the minimum version requirements before starting to build your app in your lane.
|
180
|
+
|
181
|
+
```ruby
|
182
|
+
sentry_check_cli_installed()
|
183
|
+
```
|
184
|
+
|
142
185
|
## Issues and Feedback
|
143
186
|
|
144
187
|
For any other issues and feedback about this plugin, please submit it to this repository.
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module Fastlane
|
2
|
+
module Actions
|
3
|
+
class SentryCheckCliInstalledAction < Action
|
4
|
+
def self.run(params)
|
5
|
+
Helper::SentryHelper.check_sentry_cli!
|
6
|
+
UI.success("Successfully checked that sentry-cli is installed")
|
7
|
+
end
|
8
|
+
|
9
|
+
#####################################################
|
10
|
+
# @!group Documentation
|
11
|
+
#####################################################
|
12
|
+
|
13
|
+
def self.description
|
14
|
+
"Checks that sentry-cli with the correct version is installed"
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.details
|
18
|
+
[
|
19
|
+
"This action checks that the senty-cli is installed and meets the mimum verson requirements.",
|
20
|
+
"You can use it at the start of your lane to ensure that sentry-cli is correctly installed."
|
21
|
+
].join(" ")
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.return_value
|
25
|
+
nil
|
26
|
+
end
|
27
|
+
|
28
|
+
def self.authors
|
29
|
+
["matt-oakes"]
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.is_supported?(platform)
|
33
|
+
true
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -9,6 +9,7 @@ module Fastlane
|
|
9
9
|
|
10
10
|
version = params[:version]
|
11
11
|
version = "#{params[:app_identifier]}@#{params[:version]}" if params[:app_identifier]
|
12
|
+
version = "#{version}+#{params[:build]}" if params[:build]
|
12
13
|
|
13
14
|
command = [
|
14
15
|
"sentry-cli",
|
@@ -47,6 +48,15 @@ module Fastlane
|
|
47
48
|
Helper::SentryConfig.common_api_config_items + [
|
48
49
|
FastlaneCore::ConfigItem.new(key: :version,
|
49
50
|
description: "Release version to associate the deploy with on Sentry"),
|
51
|
+
FastlaneCore::ConfigItem.new(key: :app_identifier,
|
52
|
+
short_option: "-a",
|
53
|
+
env_name: "SENTRY_APP_IDENTIFIER",
|
54
|
+
description: "App Bundle Identifier, prepended with the version.\nFor example bundle@version",
|
55
|
+
optional: true),
|
56
|
+
FastlaneCore::ConfigItem.new(key: :build,
|
57
|
+
short_option: "-b",
|
58
|
+
description: "Release build to associate the deploy with on Sentry",
|
59
|
+
optional: true),
|
50
60
|
FastlaneCore::ConfigItem.new(key: :env,
|
51
61
|
short_option: "-e",
|
52
62
|
description: "Set the environment for this release. This argument is required. Values that make sense here would be 'production' or 'staging'",
|
@@ -70,11 +80,6 @@ module Fastlane
|
|
70
80
|
short_option: "-t",
|
71
81
|
description: "Optional deployment duration in seconds. This can be specified alternatively to `started` and `finished`",
|
72
82
|
is_string: false,
|
73
|
-
optional: true),
|
74
|
-
FastlaneCore::ConfigItem.new(key: :app_identifier,
|
75
|
-
short_option: "-a",
|
76
|
-
env_name: "SENTRY_APP_IDENTIFIER",
|
77
|
-
description: "App Bundle Identifier, prepended with the version.\nFor example bundle@version",
|
78
83
|
optional: true)
|
79
84
|
]
|
80
85
|
end
|
@@ -9,6 +9,7 @@ module Fastlane
|
|
9
9
|
|
10
10
|
version = params[:version]
|
11
11
|
version = "#{params[:app_identifier]}@#{params[:version]}" if params[:app_identifier]
|
12
|
+
version = "#{version}+#{params[:build]}" if params[:build]
|
12
13
|
|
13
14
|
command = [
|
14
15
|
"sentry-cli",
|
@@ -16,7 +17,7 @@ module Fastlane
|
|
16
17
|
"new",
|
17
18
|
version
|
18
19
|
]
|
19
|
-
command.push("--finalize") if params[:finalize]
|
20
|
+
command.push("--finalize") if params[:finalize] == true
|
20
21
|
|
21
22
|
Helper::SentryHelper.call_sentry_cli(command)
|
22
23
|
UI.success("Successfully created release: #{version}")
|
@@ -41,17 +42,20 @@ module Fastlane
|
|
41
42
|
Helper::SentryConfig.common_api_config_items + [
|
42
43
|
FastlaneCore::ConfigItem.new(key: :version,
|
43
44
|
description: "Release version to create on Sentry"),
|
44
|
-
FastlaneCore::ConfigItem.new(key: :finalize,
|
45
|
-
description: "Whether to finalize the release. If not provided or false, the release can be finalized using the finalize_release action",
|
46
|
-
default_value: false,
|
47
|
-
is_string: false,
|
48
|
-
optional: true),
|
49
45
|
FastlaneCore::ConfigItem.new(key: :app_identifier,
|
50
46
|
short_option: "-a",
|
51
47
|
env_name: "SENTRY_APP_IDENTIFIER",
|
52
48
|
description: "App Bundle Identifier, prepended to version",
|
53
|
-
optional: true)
|
54
|
-
|
49
|
+
optional: true),
|
50
|
+
FastlaneCore::ConfigItem.new(key: :build,
|
51
|
+
short_option: "-b",
|
52
|
+
description: "Release build to create on Sentry",
|
53
|
+
optional: true),
|
54
|
+
FastlaneCore::ConfigItem.new(key: :finalize,
|
55
|
+
description: "Whether to finalize the release. If not provided or false, the release can be finalized using the finalize_release action",
|
56
|
+
default_value: false,
|
57
|
+
is_string: false,
|
58
|
+
optional: true)
|
55
59
|
]
|
56
60
|
end
|
57
61
|
|
@@ -9,6 +9,7 @@ module Fastlane
|
|
9
9
|
|
10
10
|
version = params[:version]
|
11
11
|
version = "#{params[:app_identifier]}@#{params[:version]}" if params[:app_identifier]
|
12
|
+
version = "#{version}+#{params[:build]}" if params[:build]
|
12
13
|
|
13
14
|
command = [
|
14
15
|
"sentry-cli",
|
@@ -44,8 +45,11 @@ module Fastlane
|
|
44
45
|
short_option: "-a",
|
45
46
|
env_name: "SENTRY_APP_IDENTIFIER",
|
46
47
|
description: "App Bundle Identifier, prepended to version",
|
48
|
+
optional: true),
|
49
|
+
FastlaneCore::ConfigItem.new(key: :build,
|
50
|
+
short_option: "-b",
|
51
|
+
description: "Release build to finalize on Sentry",
|
47
52
|
optional: true)
|
48
|
-
|
49
53
|
]
|
50
54
|
end
|
51
55
|
|
@@ -9,6 +9,7 @@ module Fastlane
|
|
9
9
|
|
10
10
|
version = params[:version]
|
11
11
|
version = "#{params[:app_identifier]}@#{params[:version]}" if params[:app_identifier]
|
12
|
+
version = "#{version}+#{params[:build]}" if params[:build]
|
12
13
|
|
13
14
|
command = [
|
14
15
|
"sentry-cli",
|
@@ -49,6 +50,10 @@ module Fastlane
|
|
49
50
|
env_name: "SENTRY_APP_IDENTIFIER",
|
50
51
|
description: "App Bundle Identifier, prepended to version",
|
51
52
|
optional: true),
|
53
|
+
FastlaneCore::ConfigItem.new(key: :build,
|
54
|
+
short_option: "-b",
|
55
|
+
description: "Release build on Sentry",
|
56
|
+
optional: true),
|
52
57
|
FastlaneCore::ConfigItem.new(key: :auto,
|
53
58
|
description: "Enable completely automated commit management",
|
54
59
|
is_string: false,
|
@@ -0,0 +1,165 @@
|
|
1
|
+
module Fastlane
|
2
|
+
module Actions
|
3
|
+
class SentryUploadDifAction < Action
|
4
|
+
def self.run(params)
|
5
|
+
require 'shellwords'
|
6
|
+
|
7
|
+
Helper::SentryHelper.check_sentry_cli!
|
8
|
+
Helper::SentryConfig.parse_api_params(params)
|
9
|
+
|
10
|
+
path = params[:path]
|
11
|
+
path = '.' if path.nil?
|
12
|
+
|
13
|
+
command = [
|
14
|
+
"sentry-cli",
|
15
|
+
"upload-dif",
|
16
|
+
path
|
17
|
+
]
|
18
|
+
command.push('--type').push(params[:type]) unless params[:type].nil?
|
19
|
+
command.push('--no-unwind') unless params[:no_unwind].nil?
|
20
|
+
command.push('--no-debug') unless params[:no_debug].nil?
|
21
|
+
command.push('--no-sources') unless params[:no_sources].nil?
|
22
|
+
command.push('--ids').push(params[:ids]) unless params[:ids].nil?
|
23
|
+
command.push('--require-all') unless params[:require_all].nil?
|
24
|
+
command.push('--symbol-maps').push(params[:symbol_maps]) unless params[:symbol_maps].nil?
|
25
|
+
command.push('--derived-data') unless params[:derived_data].nil?
|
26
|
+
command.push('--no-zips') unless params[:no_zips].nil?
|
27
|
+
command.push('--info-plist').push(params[:info_plist]) unless params[:info_plist].nil?
|
28
|
+
command.push('--no-reprocessing') unless params[:no_reprocessing].nil?
|
29
|
+
command.push('--force-foreground') unless params[:force_foreground].nil?
|
30
|
+
command.push('--include-sources') unless params[:include_sources].nil?
|
31
|
+
command.push('--wait') unless params[:wait].nil?
|
32
|
+
command.push('--upload-symbol-maps') unless params[:upload_symbol_maps].nil?
|
33
|
+
|
34
|
+
Helper::SentryHelper.call_sentry_cli(command)
|
35
|
+
UI.success("Successfully ran upload-dif")
|
36
|
+
end
|
37
|
+
|
38
|
+
#####################################################
|
39
|
+
# @!group Documentation
|
40
|
+
#####################################################
|
41
|
+
|
42
|
+
def self.description
|
43
|
+
"Upload debugging information files."
|
44
|
+
end
|
45
|
+
|
46
|
+
def self.details
|
47
|
+
[
|
48
|
+
"Files can be uploaded using the upload-dif command. This command will scan a given folder recursively for files and upload them to Sentry.",
|
49
|
+
"See https://docs.sentry.io/product/cli/dif/#uploading-files for more information."
|
50
|
+
].join(" ")
|
51
|
+
end
|
52
|
+
|
53
|
+
def self.available_options
|
54
|
+
Helper::SentryConfig.common_api_config_items + [
|
55
|
+
FastlaneCore::ConfigItem.new(key: :path,
|
56
|
+
description: "A path to search recursively for symbol files",
|
57
|
+
optional: true),
|
58
|
+
FastlaneCore::ConfigItem.new(key: :type,
|
59
|
+
short_option: "-t",
|
60
|
+
description: "Only consider debug information files of the given \
|
61
|
+
type. By default, all types are considered",
|
62
|
+
optional: true,
|
63
|
+
verify_block: proc do |value|
|
64
|
+
UI.user_error! "Invalid value '#{value}'" unless ['dsym', 'elf', 'breakpad', 'pdb', 'pe', 'sourcebundle', 'bcsymbolmap'].include? value
|
65
|
+
end),
|
66
|
+
FastlaneCore::ConfigItem.new(key: :no_unwind,
|
67
|
+
description: "Do not scan for stack unwinding information. Specify \
|
68
|
+
this flag for builds with disabled FPO, or when \
|
69
|
+
stackwalking occurs on the device. This usually \
|
70
|
+
excludes executables and dynamic libraries. They might \
|
71
|
+
still be uploaded, if they contain additional \
|
72
|
+
processable information (see other flags)",
|
73
|
+
is_string: false,
|
74
|
+
optional: true),
|
75
|
+
FastlaneCore::ConfigItem.new(key: :no_debug,
|
76
|
+
description: "Do not scan for debugging information. This will \
|
77
|
+
usually exclude debug companion files. They might \
|
78
|
+
still be uploaded, if they contain additional \
|
79
|
+
processable information (see other flags)",
|
80
|
+
conflicting_options: [:no_unwind],
|
81
|
+
is_string: false,
|
82
|
+
optional: true),
|
83
|
+
FastlaneCore::ConfigItem.new(key: :no_sources,
|
84
|
+
description: "Do not scan for source information. This will \
|
85
|
+
usually exclude source bundle files. They might \
|
86
|
+
still be uploaded, if they contain additional \
|
87
|
+
processable information (see other flags)",
|
88
|
+
is_string: false,
|
89
|
+
optional: true),
|
90
|
+
FastlaneCore::ConfigItem.new(key: :ids,
|
91
|
+
description: "Search for specific debug identifiers",
|
92
|
+
optional: true),
|
93
|
+
FastlaneCore::ConfigItem.new(key: :require_all,
|
94
|
+
description: "Errors if not all identifiers specified with --id could be found",
|
95
|
+
is_string: false,
|
96
|
+
optional: true),
|
97
|
+
FastlaneCore::ConfigItem.new(key: :symbol_maps,
|
98
|
+
description: "Optional path to BCSymbolMap files which are used to \
|
99
|
+
resolve hidden symbols in dSYM files downloaded from \
|
100
|
+
iTunes Connect. This requires the dsymutil tool to be \
|
101
|
+
available",
|
102
|
+
optional: true),
|
103
|
+
FastlaneCore::ConfigItem.new(key: :derived_data,
|
104
|
+
description: "Search for debug symbols in Xcode's derived data",
|
105
|
+
is_string: false,
|
106
|
+
optional: true),
|
107
|
+
FastlaneCore::ConfigItem.new(key: :no_zips,
|
108
|
+
description: "Do not search in ZIP files",
|
109
|
+
is_string: false,
|
110
|
+
optional: true),
|
111
|
+
FastlaneCore::ConfigItem.new(key: :info_plist,
|
112
|
+
description: "Optional path to the Info.plist.{n}We will try to find this \
|
113
|
+
automatically if run from Xcode. Providing this information \
|
114
|
+
will associate the debug symbols with a specific ITC application \
|
115
|
+
and build in Sentry. Note that if you provide the plist \
|
116
|
+
explicitly it must already be processed",
|
117
|
+
optional: true),
|
118
|
+
FastlaneCore::ConfigItem.new(key: :no_reprocessing,
|
119
|
+
description: "Do not trigger reprocessing after uploading",
|
120
|
+
is_string: false,
|
121
|
+
optional: true),
|
122
|
+
FastlaneCore::ConfigItem.new(key: :force_foreground,
|
123
|
+
description: "Wait for the process to finish.{n}\
|
124
|
+
By default, the upload process will detach and continue in the \
|
125
|
+
background when triggered from Xcode. When an error happens, \
|
126
|
+
a dialog is shown. If this parameter is passed Xcode will wait \
|
127
|
+
for the process to finish before the build finishes and output \
|
128
|
+
will be shown in the Xcode build output",
|
129
|
+
is_string: false,
|
130
|
+
optional: true),
|
131
|
+
FastlaneCore::ConfigItem.new(key: :include_sources,
|
132
|
+
description: "Include sources from the local file system and upload \
|
133
|
+
them as source bundles",
|
134
|
+
is_string: false,
|
135
|
+
optional: true),
|
136
|
+
FastlaneCore::ConfigItem.new(key: :wait,
|
137
|
+
description: "Wait for the server to fully process uploaded files. Errors \
|
138
|
+
can only be displayed if --wait is specified, but this will \
|
139
|
+
significantly slow down the upload process",
|
140
|
+
is_string: false,
|
141
|
+
optional: true),
|
142
|
+
FastlaneCore::ConfigItem.new(key: :upload_symbol_maps,
|
143
|
+
description: "Upload any BCSymbolMap files found to allow Sentry to resolve \
|
144
|
+
hidden symbols, e.g. when it downloads dSYMs directly from App \
|
145
|
+
Store Connect or when you upload dSYMs without first resolving \
|
146
|
+
the hidden symbols using --symbol-maps",
|
147
|
+
is_string: false,
|
148
|
+
optional: true),
|
149
|
+
]
|
150
|
+
end
|
151
|
+
|
152
|
+
def self.return_value
|
153
|
+
nil
|
154
|
+
end
|
155
|
+
|
156
|
+
def self.authors
|
157
|
+
["denrase"]
|
158
|
+
end
|
159
|
+
|
160
|
+
def self.is_supported?(platform)
|
161
|
+
true
|
162
|
+
end
|
163
|
+
end
|
164
|
+
end
|
165
|
+
end
|
@@ -7,10 +7,11 @@ module Fastlane
|
|
7
7
|
Helper::SentryHelper.check_sentry_cli!
|
8
8
|
Helper::SentryConfig.parse_api_params(params)
|
9
9
|
|
10
|
-
file = params[:file]
|
11
|
-
|
12
10
|
version = params[:version]
|
13
11
|
version = "#{params[:app_identifier]}@#{params[:version]}" if params[:app_identifier]
|
12
|
+
version = "#{version}+#{params[:build]}" if params[:build]
|
13
|
+
|
14
|
+
file = params[:file]
|
14
15
|
|
15
16
|
command = [
|
16
17
|
"sentry-cli",
|
@@ -46,6 +47,15 @@ module Fastlane
|
|
46
47
|
Helper::SentryConfig.common_api_config_items + [
|
47
48
|
FastlaneCore::ConfigItem.new(key: :version,
|
48
49
|
description: "Release version on Sentry"),
|
50
|
+
FastlaneCore::ConfigItem.new(key: :app_identifier,
|
51
|
+
short_option: "-a",
|
52
|
+
env_name: "SENTRY_APP_IDENTIFIER",
|
53
|
+
description: "App Bundle Identifier, prepended to version",
|
54
|
+
optional: true),
|
55
|
+
FastlaneCore::ConfigItem.new(key: :build,
|
56
|
+
short_option: "-b",
|
57
|
+
description: "Release build on Sentry",
|
58
|
+
optional: true),
|
49
59
|
FastlaneCore::ConfigItem.new(key: :dist,
|
50
60
|
description: "Distribution in release",
|
51
61
|
optional: true),
|
@@ -56,12 +66,7 @@ module Fastlane
|
|
56
66
|
end),
|
57
67
|
FastlaneCore::ConfigItem.new(key: :file_url,
|
58
68
|
description: "Optional URL we should associate with the file",
|
59
|
-
optional: true)
|
60
|
-
FastlaneCore::ConfigItem.new(key: :app_identifier,
|
61
|
-
short_option: "-a",
|
62
|
-
env_name: "SENTRY_APP_IDENTIFIER",
|
63
|
-
description: "App Bundle Identifier, prepended to version",
|
64
|
-
optional: true)
|
69
|
+
optional: true)
|
65
70
|
]
|
66
71
|
end
|
67
72
|
|
@@ -8,9 +8,10 @@ module Fastlane
|
|
8
8
|
Helper::SentryConfig.parse_api_params(params)
|
9
9
|
|
10
10
|
version = params[:version]
|
11
|
-
sourcemap = params[:sourcemap]
|
12
|
-
|
13
11
|
version = "#{params[:app_identifier]}@#{params[:version]}" if params[:app_identifier]
|
12
|
+
version = "#{version}+#{params[:build]}" if params[:build]
|
13
|
+
|
14
|
+
sourcemap = params[:sourcemap]
|
14
15
|
|
15
16
|
command = [
|
16
17
|
"sentry-cli",
|
@@ -23,7 +24,7 @@ module Fastlane
|
|
23
24
|
|
24
25
|
command.push('--rewrite') if params[:rewrite]
|
25
26
|
command.push('--no-rewrite') unless params[:rewrite]
|
26
|
-
command.push('--strip-prefix') if params[:strip_prefix]
|
27
|
+
command.push('--strip-prefix').push(params[:strip_prefix]) if params[:strip_prefix]
|
27
28
|
command.push('--strip-common-prefix') if params[:strip_common_prefix]
|
28
29
|
command.push('--url-prefix').push(params[:url_prefix]) unless params[:url_prefix].nil?
|
29
30
|
command.push('--dist').push(params[:dist]) unless params[:dist].nil?
|
@@ -63,6 +64,15 @@ module Fastlane
|
|
63
64
|
Helper::SentryConfig.common_api_config_items + [
|
64
65
|
FastlaneCore::ConfigItem.new(key: :version,
|
65
66
|
description: "Release version on Sentry"),
|
67
|
+
FastlaneCore::ConfigItem.new(key: :app_identifier,
|
68
|
+
short_option: "-a",
|
69
|
+
env_name: "SENTRY_APP_IDENTIFIER",
|
70
|
+
description: "App Bundle Identifier, prepended to version",
|
71
|
+
optional: true),
|
72
|
+
FastlaneCore::ConfigItem.new(key: :build,
|
73
|
+
short_option: "-b",
|
74
|
+
description: "Release build on Sentry",
|
75
|
+
optional: true),
|
66
76
|
FastlaneCore::ConfigItem.new(key: :dist,
|
67
77
|
description: "Distribution in release",
|
68
78
|
optional: true),
|
@@ -91,11 +101,6 @@ module Fastlane
|
|
91
101
|
FastlaneCore::ConfigItem.new(key: :url_prefix,
|
92
102
|
description: "Sets a URL prefix in front of all files",
|
93
103
|
optional: true),
|
94
|
-
FastlaneCore::ConfigItem.new(key: :app_identifier,
|
95
|
-
short_option: "-a",
|
96
|
-
env_name: "SENTRY_APP_IDENTIFIER",
|
97
|
-
description: "App Bundle Identifier, prepended to version",
|
98
|
-
optional: true),
|
99
104
|
FastlaneCore::ConfigItem.new(key: :ignore,
|
100
105
|
description: "Ignores all files and folders matching the given glob or array of globs",
|
101
106
|
is_string: false,
|
@@ -42,7 +42,7 @@ module Fastlane
|
|
42
42
|
has_auth_token = !auth_token.to_s.empty?
|
43
43
|
|
44
44
|
ENV['SENTRY_URL'] = url unless url.to_s.empty?
|
45
|
-
ENV['SENTRY_LOG_LEVEL'] = '
|
45
|
+
ENV['SENTRY_LOG_LEVEL'] = 'DEBUG' if FastlaneCore::Globals.verbose?
|
46
46
|
|
47
47
|
# Fallback to .sentryclirc if possible when no auth token is provided
|
48
48
|
if !has_api_key && !has_auth_token && fallback_sentry_cli_auth
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane-plugin-sentry
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.10.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sentry
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-10-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pry
|
@@ -89,10 +89,12 @@ files:
|
|
89
89
|
- LICENSE
|
90
90
|
- README.md
|
91
91
|
- lib/fastlane/plugin/sentry.rb
|
92
|
+
- lib/fastlane/plugin/sentry/actions/sentry_check_cli_installed.rb
|
92
93
|
- lib/fastlane/plugin/sentry/actions/sentry_create_deploy.rb
|
93
94
|
- lib/fastlane/plugin/sentry/actions/sentry_create_release.rb
|
94
95
|
- lib/fastlane/plugin/sentry/actions/sentry_finalize_release.rb
|
95
96
|
- lib/fastlane/plugin/sentry/actions/sentry_set_commits.rb
|
97
|
+
- lib/fastlane/plugin/sentry/actions/sentry_upload_dif.rb
|
96
98
|
- lib/fastlane/plugin/sentry/actions/sentry_upload_dsym.rb
|
97
99
|
- lib/fastlane/plugin/sentry/actions/sentry_upload_file.rb
|
98
100
|
- lib/fastlane/plugin/sentry/actions/sentry_upload_proguard.rb
|