fastlane-plugin-appcenter 1.6.0 → 1.7.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: 172c940fc1d03ac4d3951cffc2c0f1c1d1b78ee25967f464d0a1058f12d7c7b9
4
- data.tar.gz: f6835efe4d035061a6c8834e27c355817061835c9be067fe2090b2ae9dd3b65a
2
+ SHA1:
3
+ metadata.gz: 0cf08880b9ba588e79b23dd385311f4d5a194246
4
+ data.tar.gz: fe26549362f32bbd22293bc8110e432a7a94118a
5
5
  SHA512:
6
- metadata.gz: 9060632241323fe3a7cbc412b77cbbe457819277176e06a00fdbf155ef72c01aa19453a626214003b211bee5a9388fd4ce509b97a823489e0d9022674b14e908
7
- data.tar.gz: 68fce7a6a0755c2fe71363e7f85d1f88d44f3303d7a94876c15d57d810033021ad410461fb399b91fee82aae4710fe1740a033967c2576245495f12360dd2a48
6
+ metadata.gz: 6ffd559816032b4c385ead27b89419541746a106e63713aeef51282d1a74950dd27eaff4d1daf59db58ccfd33a3d4efa9f3a1f9ffbefc836ed82af2d7579dcf4
7
+ data.tar.gz: 80b0cb6d8016fa35400e0ae7c1e7d1dfd9ac2e07cc3b6a96decb26917bf6c5988ab9a7f2fb407e4ee96e8303cd716dd6fc020785f6a2aa06f8167681f7d18e6f
data/README.md CHANGED
@@ -91,6 +91,7 @@ Here is the list of all existing parameters:
91
91
  | `app_os` <br/> `APPCENTER_APP_OS` | App OS. Used for new app creation, if app 'app_name' was not found |
92
92
  | `app_platform` <br/> `APPCENTER_APP_PLATFORM` | App Platform. Used for new app creation, if app 'app_name' was not found |
93
93
  | `file` <br/> `APPCENTER_DISTRIBUTE_FILE` | File path to the release build to publish |
94
+ | `upload_build_only` <br/> `APPCENTER_DISTRIBUTE_UPLOAD_BUILD_ONLY` | Flag to upload only the build to App Center. Skips uploading symbols or mapping (default: `false`) |
94
95
  | `dsym` <br/> `APPCENTER_DISTRIBUTE_DSYM` | Path to your symbols file. For iOS provide path to app.dSYM.zip |
95
96
  | `upload_dsym_only` <br/> `APPCENTER_DISTRIBUTE_UPLOAD_DSYM_ONLY` | Flag to upload only the dSYM file to App Center (default: `false`) |
96
97
  | `mapping` <br/> `APPCENTER_DISTRIBUTE_ANDROID_MAPPING` | Path to your Android mapping.txt |
@@ -155,6 +156,10 @@ _fastlane_ is the easiest way to automate beta deployments and releases for your
155
156
 
156
157
  This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
157
158
 
159
+ ## Security
160
+
161
+ Check out [SECURITY.md](SECURITY.md) for any security concern with this project.
162
+
158
163
  ## Contact
159
164
 
160
165
  We're on Twitter as [@vsappcenter](https://www.twitter.com/vsappcenter). Additionally you can reach out to us on the [App Center](https://appcenter.ms/apps) portal by using the blue Intercom button on the bottom right to start a conversation.
@@ -28,7 +28,7 @@ module Fastlane
28
28
  api_token = params[:api_token]
29
29
  owner_name = params[:owner_name]
30
30
  app_name = params[:app_name]
31
- file = params[:ipa]
31
+ file = params[:file] || params[:ipa]
32
32
  dsym = params[:dsym]
33
33
  build_number = params[:build_number]
34
34
  version = params[:version]
@@ -132,10 +132,10 @@ module Fastlane
132
132
  end
133
133
 
134
134
  file = [
135
+ params[:file],
135
136
  params[:ipa],
136
137
  params[:apk],
137
138
  params[:aab],
138
- params[:file]
139
139
  ].detect { |e| !e.to_s.empty? }
140
140
 
141
141
  UI.user_error!("Couldn't find build file at path '#{file}'") unless file && File.exist?(file)
@@ -230,11 +230,17 @@ module Fastlane
230
230
  platforms = {
231
231
  Android: %w[Java React-Native Xamarin],
232
232
  iOS: %w[Objective-C-Swift React-Native Xamarin],
233
- macOS: %w[Objective-C-Swift]
233
+ macOS: %w[Objective-C-Swift],
234
+ Windows: %w[UWP WPF WinForms Unity]
234
235
  }
235
236
 
236
- if Helper::AppcenterHelper.get_app(api_token, owner_name, app_name)
237
- return true
237
+ begin
238
+ if Helper::AppcenterHelper.get_app(api_token, owner_name, app_name)
239
+ return true
240
+ end
241
+ rescue URI::InvalidURIError
242
+ UI.user_error!("Provided app_name: '#{app_name}' is not in a valid format. Please ensure no special characters or spaces in the app_name.")
243
+ return false
238
244
  end
239
245
 
240
246
  should_create_app = !app_display_name.to_s.empty? || !app_os.to_s.empty? || !app_platform.to_s.empty?
@@ -242,9 +248,9 @@ module Fastlane
242
248
  if Helper.test? || should_create_app || UI.confirm("App with name #{app_name} not found, create one?")
243
249
  app_display_name = app_name if app_display_name.to_s.empty?
244
250
  os = app_os.to_s.empty? && (Helper.test? ? "Android" : UI.select("Select OS", platforms.keys)) || app_os.to_s
245
- platform = app_platform.to_s.empty? && (Helper.test? ? "Java" : app_platform.to_s) || app_platform.to_s
251
+ platform = app_platform.to_s.empty? && (Helper.test? ? platforms[os.to_sym][0] : app_platform.to_s) || app_platform.to_s
246
252
  if platform.to_s.empty?
247
- platform = platforms[os].length == 1 ? platforms[os][0] : UI.select("Select Platform", platforms[os])
253
+ platform = platforms[os.to_sym].length == 1 ? platforms[os.to_sym][0] : UI.select("Select Platform", platforms[os.to_sym])
248
254
  end
249
255
 
250
256
  Helper::AppcenterHelper.create_app(api_token, owner_type, owner_name, app_name, app_display_name, os, platform)
@@ -256,6 +262,7 @@ module Fastlane
256
262
 
257
263
  def self.run(params)
258
264
  values = params.values
265
+ upload_build_only = params[:upload_build_only]
259
266
  upload_dsym_only = params[:upload_dsym_only]
260
267
  upload_mapping_only = params[:upload_mapping_only]
261
268
 
@@ -267,8 +274,8 @@ module Fastlane
267
274
  params[:version] = release['short_version'] if release
268
275
  params[:build_number] = release['version'] if release
269
276
 
270
- self.run_dsym_upload(params) unless upload_mapping_only
271
- self.run_mapping_upload(params) unless upload_dsym_only
277
+ self.run_dsym_upload(params) unless upload_mapping_only || upload_build_only
278
+ self.run_mapping_upload(params) unless upload_dsym_only || upload_build_only
272
279
  end
273
280
 
274
281
  return values if Helper.test?
@@ -407,14 +414,27 @@ module Fastlane
407
414
  end,
408
415
  verify_block: proc do |value|
409
416
  platform = Actions.lane_context[SharedValues::PLATFORM_NAME]
410
- accepted_formats = Constants::SUPPORTED_EXTENSIONS[platform.to_sym] if platform
411
- unless accepted_formats
412
- UI.important("Unknown platform '#{platform}', consider using one of: #{Constants::SUPPORTED_EXTENSIONS.keys}")
413
- accepted_formats = Constants::ALL_SUPPORTED_EXTENSIONS
417
+ if platform
418
+ accepted_formats = Constants::SUPPORTED_EXTENSIONS[platform.to_sym]
419
+ unless accepted_formats
420
+ UI.important("Unknown platform '#{platform}', Supported are #{Constants::SUPPORTED_EXTENSIONS.keys}")
421
+ accepted_formats = Constants::ALL_SUPPORTED_EXTENSIONS
422
+ end
423
+ file_ext = Helper::AppcenterHelper.file_extname_full(value)
424
+ self.optional_error("Extension not supported: '#{file_ext}'. Supported formats for platform '#{platform}': #{accepted_formats.join ' '}") unless accepted_formats.include? file_ext
414
425
  end
415
- file_ext = Helper::AppcenterHelper.file_extname_full(value)
416
- self.optional_error("Extension not supported: '#{file_ext}'. Supported formats for platform '#{platform}': #{accepted_formats.join ' '}") unless accepted_formats.include? file_ext
417
426
  end),
427
+
428
+ FastlaneCore::ConfigItem.new(key: :upload_build_only,
429
+ env_name: "APPCENTER_DISTRIBUTE_UPLOAD_BUILD_ONLY",
430
+ description: "Flag to upload only the build to App Center. Skips uploading symbols or mapping",
431
+ optional: true,
432
+ is_string: false,
433
+ default_value: false,
434
+ conflicting_options: [:upload_dsym_only, :upload_mapping_only],
435
+ conflict_block: proc do |value|
436
+ UI.user_error!("You can't use 'upload_build_only' and '#{value.key}' options in one run")
437
+ end),
418
438
 
419
439
  FastlaneCore::ConfigItem.new(key: :dsym,
420
440
  env_name: "APPCENTER_DISTRIBUTE_DSYM",
@@ -6,13 +6,11 @@ module Fastlane
6
6
  # accounting for file types that can and should be zip-compressed
7
7
  # before they are uploaded
8
8
  def self.file_extname_full(path)
9
- is_zip = File.extname(path) == ".zip"
10
-
11
- # if file is not .zip'ed, these do not change basename and extname
12
- unzip_basename = File.basename(path, ".zip")
13
- unzip_extname = File.extname(unzip_basename)
9
+ %w(.app.zip .dSYM.zip).each do |suffix|
10
+ return suffix if path.to_s.downcase.end_with? suffix.downcase
11
+ end
14
12
 
15
- is_zip ? unzip_extname + ".zip" : unzip_extname
13
+ File.extname path
16
14
  end
17
15
 
18
16
  # create request
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
2
  module Appcenter
3
- VERSION = "1.6.0"
3
+ VERSION = "1.7.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane-plugin-appcenter
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0
4
+ version: 1.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Microsoft Corporation
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-01 00:00:00.000000000 Z
11
+ date: 2019-11-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -140,7 +140,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
140
140
  - !ruby/object:Gem::Version
141
141
  version: '0'
142
142
  requirements: []
143
- rubygems_version: 3.0.4
143
+ rubyforge_project:
144
+ rubygems_version: 2.5.2.3
144
145
  signing_key:
145
146
  specification_version: 4
146
147
  summary: Fastlane plugin for App Center