fastlane-plugin-appcenter 1.6.0 → 1.7.0

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
- 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