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
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 0cf08880b9ba588e79b23dd385311f4d5a194246
|
4
|
+
data.tar.gz: fe26549362f32bbd22293bc8110e432a7a94118a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
237
|
-
|
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? ?
|
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
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
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
|
-
|
10
|
-
|
11
|
-
|
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
|
-
|
13
|
+
File.extname path
|
16
14
|
end
|
17
15
|
|
18
16
|
# create request
|
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.
|
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-
|
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
|
-
|
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
|