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