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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 997460b2dd7418643a318ce88f9ecf72e45a087e11ca1bfbb50da96ed9ec1fc6
4
- data.tar.gz: cbfdbe73533b999f88124548a5e458989f2f599e3621fd7ab9b89500de37e573
3
+ metadata.gz: b3525683a69ad2fe32b95055e0d767db9a7a8bcc4f9f2e4448087ae5fa3beba5
4
+ data.tar.gz: ef2a9d0aee82f66be83ad4c89f5c699c70ebe1181c0ab470f9ac917a146b34bd
5
5
  SHA512:
6
- metadata.gz: b8f36f2206339e9f133b882a2fe52fb7961488784811e3d5f1c1af311bb584c5332079a697f9aad98e05c6b3845d7057b4892a1a1c1cfbf5eec888760718c6d1
7
- data.tar.gz: db320f54c60e647f31ab222d0190eb3c82d480726832df20ebe62638edabeecf0d5610990e5cf20e044c148defa727c947bdd665f91e9dc10b3dacac3d743653
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
- #### Authentication & Configuration
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
- #### Uploading Symbolication Files
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
- The `SENTRY_DSYM_PATH` environment variable may be used in place of the `dsym_path` parameter.
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
- #### Uploading Files & Sourcemaps
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
- #### Uploading Proguard Mapping File
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
- #### Associating commits
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
- #### Create deploy
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].nil?
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'] = 'INFO' if FastlaneCore::Globals.verbose?
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
@@ -1,6 +1,6 @@
1
1
  module Fastlane
2
2
  module Sentry
3
- VERSION = "1.8.2"
3
+ VERSION = "1.10.1"
4
4
  CLI_VERSION = "1.63.1"
5
5
  end
6
6
  end
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.8.2
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-06-22 00:00:00.000000000 Z
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