fastlane-plugin-appcenter 2.1.1 → 2.1.3
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 +4 -4
- data/README.md +3 -2
- data/lib/fastlane/plugin/appcenter/actions/appcenter_codepush_release_react.rb +15 -5
- data/lib/fastlane/plugin/appcenter/actions/appcenter_fetch_devices_action.rb +1 -0
- data/lib/fastlane/plugin/appcenter/actions/appcenter_upload_action.rb +37 -1
- data/lib/fastlane/plugin/appcenter/version.rb +1 -1
- metadata +17 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f468f229961130794b71b2a8d8ae96ad8c79056638bb1c9a41c41b32fbbe1186
|
4
|
+
data.tar.gz: '0921265446a2a0b0032662d9bdfc5cdcdb277e6cd59ae9e834506075b5897db1'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5a5ab1c1940dd5f3410c8d063945f3f91410990ee9f3f449aa40315caa61adb72c3b85b17e222e0cd98ee83274df783e0397af4e3c03510d35daa740388d8eef
|
7
|
+
data.tar.gz: d0fff96070b590f44163e8685c686b5e655523c0c3acb6bf934d15409b723165e962fe4a56637856eead7518839878a225c18696e9cbfd3268802cb73a00b9ac
|
data/README.md
CHANGED
@@ -161,8 +161,9 @@ Here is the list of all existing parameters:
|
|
161
161
|
| `bundle_name` <br/> `APPCENTER_CODEPUSH_BUNDLE_NAME` | Specifies the name of the bundle file |
|
162
162
|
| `output_dir` <br/> `APPCENTER_CODEPUSH_OUTPUT` | Specifies path to where the bundle and sourcemap should be written |
|
163
163
|
| `sourcemap_output` <br/> `APPCENTER_CODEPUSH_SOURCEMAP_OUTPUT` | Specifies path to write sourcemaps to |
|
164
|
-
| `development` <br/> `
|
165
|
-
| `private_key_path` <br/> `APPCENTER_CODEPUSH_PRIVATE_KEY_PATH` | Specifies path to private key that will be used for signing bundles
|
164
|
+
| `development` <br/> `APPCENTER_CODEPUSH_DEVELOPMENT` | Specifies whether to generate dev or release build (default: `false`) |
|
165
|
+
| `private_key_path` <br/> `APPCENTER_CODEPUSH_PRIVATE_KEY_PATH` | Specifies path to private key that will be used for signing bundles |
|
166
|
+
| `extra_bundler_options` <br/> `APPCENTER_CODEPUSH_EXTRA_BUNDLER_OPTIONS` | A list of extra options that get passed to the react-native bundler |
|
166
167
|
|
167
168
|
## Example
|
168
169
|
|
@@ -33,11 +33,12 @@ module Fastlane
|
|
33
33
|
plist_file = params[:plist_file]
|
34
34
|
xcode_project_file = params[:xcode_project_file]
|
35
35
|
use_hermes = params[:use_hermes]
|
36
|
+
extra_bundler_options = params[:extra_bundler_options]
|
36
37
|
|
37
38
|
base_executable = "appcenter "
|
38
39
|
|
39
40
|
if use_local_appcenter_cli
|
40
|
-
base_executable = "npm exec " + base_executable
|
41
|
+
base_executable = "npm exec -- " + base_executable
|
41
42
|
end
|
42
43
|
|
43
44
|
command = base_executable + "codepush release-react --token #{token} --app #{owner}/#{app} --deployment-name #{deployment} --development #{dev} "
|
@@ -78,6 +79,10 @@ module Fastlane
|
|
78
79
|
unless use_hermes.nil?
|
79
80
|
command += "--use-hermes #{use_hermes} "
|
80
81
|
end
|
82
|
+
if extra_bundler_options
|
83
|
+
command += extra_bundler_options.map { |option| "--extra-bundler-option='#{option}' " }.join
|
84
|
+
end
|
85
|
+
|
81
86
|
if dry_run
|
82
87
|
UI.message("Dry run!".red + " Would have run: " + command + "\n")
|
83
88
|
else
|
@@ -174,17 +179,17 @@ module Fastlane
|
|
174
179
|
env_name: "APPCENTER_CODEPUSH_USE_LOCAL_APPCENTER_CLI",
|
175
180
|
optional: true,
|
176
181
|
default_value: false,
|
177
|
-
|
182
|
+
description: "When true, the appcenter cli installed in the project directory is used"),
|
178
183
|
FastlaneCore::ConfigItem.new(key: :plist_file,
|
179
184
|
type: String,
|
180
185
|
env_name: "APPCENTER_CODEPUSH_PLIST_FILE",
|
181
186
|
optional: true,
|
182
|
-
|
187
|
+
description: "Path to the Info.plist"),
|
183
188
|
FastlaneCore::ConfigItem.new(key: :xcode_project_file,
|
184
189
|
type: String,
|
185
190
|
env_name: "APPCENTER_CODEPUSH_XCODE_PROJECT_FILE",
|
186
191
|
optional: true,
|
187
|
-
|
192
|
+
description: "Path to the .pbxproj file"),
|
188
193
|
FastlaneCore::ConfigItem.new(key: :private_key_path,
|
189
194
|
type: String,
|
190
195
|
env_name: "APPCENTER_CODEPUSH_PRIVATE_KEY_PATH",
|
@@ -194,7 +199,12 @@ module Fastlane
|
|
194
199
|
type: Boolean,
|
195
200
|
env_name: "APPCENTER_CODEPUSH_USE_HERMES",
|
196
201
|
optional: true,
|
197
|
-
description: "Enable hermes and bypass automatic checks")
|
202
|
+
description: "Enable hermes and bypass automatic checks"),
|
203
|
+
FastlaneCore::ConfigItem.new(key: :extra_bundler_options,
|
204
|
+
type: Array,
|
205
|
+
env_name: "APPCENTER_CODEPUSH_EXTRA_BUNDLER_OPTIONS",
|
206
|
+
optional: true,
|
207
|
+
description: "Options that get passed to the react-native bundler"),
|
198
208
|
]
|
199
209
|
end
|
200
210
|
|
@@ -9,6 +9,7 @@ module Fastlane
|
|
9
9
|
APPCENTER_OWNER_NAME = :APPCENTER_OWNER_NAME
|
10
10
|
APPCENTER_APP_NAME = :APPCENTER_APP_NAME
|
11
11
|
APPCENTER_DISTRIBUTE_DESTINATIONS = :APPCENTER_DISTRIBUTE_DESTINATIONS
|
12
|
+
APPCENTER_DISTRIBUTE_DESTINATION_IDS = :APPCENTER_DISTRIBUTE_DESTINATION_IDS
|
12
13
|
end
|
13
14
|
|
14
15
|
class AppcenterFetchDevicesAction < Action
|
@@ -133,6 +133,7 @@ module Fastlane
|
|
133
133
|
owner_type = params[:owner_type]
|
134
134
|
app_name = params[:app_name]
|
135
135
|
destinations = params[:destinations]
|
136
|
+
destination_ids = params[:destination_ids]
|
136
137
|
destination_type = params[:destination_type]
|
137
138
|
mandatory_update = params[:mandatory_update]
|
138
139
|
notify_testers = params[:notify_testers]
|
@@ -172,6 +173,7 @@ module Fastlane
|
|
172
173
|
else
|
173
174
|
self.optional_error("Can't distribute #{file_ext} to stores, please use `destination_type: 'group'`") unless Constants::STORE_SUPPORTED_EXTENSIONS.include? file_ext
|
174
175
|
UI.user_error!("The combination of `destinations: '*'` and `destination_type: 'store'` is invalid, please use `destination_type: 'group'` or explicitly specify the destinations") if destinations == "*"
|
176
|
+
UI.user_error!("The combination of `destination_ids` and `destination_type: 'store'` is invalid, please use `destination_type: 'group'` or use `destinations`") unless destination_ids.to_s.strip.empty?
|
175
177
|
end
|
176
178
|
|
177
179
|
release_upload_body = nil
|
@@ -248,7 +250,12 @@ module Fastlane
|
|
248
250
|
else
|
249
251
|
destinations_array = destinations.split(',').map(&:strip)
|
250
252
|
end
|
251
|
-
|
253
|
+
|
254
|
+
destination_ids_array = []
|
255
|
+
unless destination_ids.to_s.empty?
|
256
|
+
destination_ids_array = destination_ids.split(',').map(&:strip)
|
257
|
+
end
|
258
|
+
|
252
259
|
destinations_array.each do |destination_name|
|
253
260
|
destination = Helper::AppcenterHelper.get_destination(api_token, owner_name, app_name, destination_type, destination_name)
|
254
261
|
if destination
|
@@ -264,6 +271,17 @@ module Fastlane
|
|
264
271
|
end
|
265
272
|
end
|
266
273
|
|
274
|
+
unless destination_ids_array.empty?
|
275
|
+
destination_ids_array.each do |destination_id|
|
276
|
+
distributed_release = Helper::AppcenterHelper.add_to_destination(api_token, owner_name, app_name, release_id, destination_type, destination_id, mandatory_update, notify_testers)
|
277
|
+
if distributed_release
|
278
|
+
UI.success("Release '#{release_id}' (#{distributed_release['short_version']}) was successfully distributed to #{destination_type} \"#{destination_id}\"")
|
279
|
+
else
|
280
|
+
UI.error("Release '#{release_id}' was not found for destination '#{destination_id}'")
|
281
|
+
end
|
282
|
+
end
|
283
|
+
end
|
284
|
+
|
267
285
|
safe_download_url = Helper::AppcenterHelper.get_install_url(owner_type, owner_name, app_name)
|
268
286
|
UI.message("Release '#{release_id}' is available for download at: #{safe_download_url}")
|
269
287
|
else
|
@@ -582,6 +600,13 @@ module Fastlane
|
|
582
600
|
optional: true,
|
583
601
|
type: String),
|
584
602
|
|
603
|
+
FastlaneCore::ConfigItem.new(key: :destination_ids,
|
604
|
+
env_name: "APPCENTER_DISTRIBUTE_DESTINATION_IDS",
|
605
|
+
description: "Comma separated list of destination ids, use '00000000-0000-0000-0000-000000000000' for distributing to the Collaborators group. Only distribution groups are supported",
|
606
|
+
default_value: Actions.lane_context[SharedValues::APPCENTER_DISTRIBUTE_DESTINATION_IDS],
|
607
|
+
optional: true,
|
608
|
+
type: String),
|
609
|
+
|
585
610
|
FastlaneCore::ConfigItem.new(key: :destination_type,
|
586
611
|
env_name: "APPCENTER_DISTRIBUTE_DESTINATION_TYPE",
|
587
612
|
description: "Destination type of distribution destination. 'group' and 'store' are supported",
|
@@ -701,6 +726,17 @@ module Fastlane
|
|
701
726
|
release_notes: "release notes",
|
702
727
|
notify_testers: false
|
703
728
|
)',
|
729
|
+
'appcenter_upload(
|
730
|
+
api_token: "...",
|
731
|
+
owner_name: "appcenter_owner",
|
732
|
+
app_name: "testing_ios_app",
|
733
|
+
file: "./app-release.ipa",
|
734
|
+
destination_ids: "00000000-0000-0000-0000-000000000000,12341234-1234-1234-1234-123412341234",
|
735
|
+
destination_type: "group",
|
736
|
+
dsym: "./app.dSYM.zip",
|
737
|
+
release_notes: "release notes",
|
738
|
+
notify_testers: false
|
739
|
+
)',
|
704
740
|
'appcenter_upload(
|
705
741
|
api_token: "...",
|
706
742
|
owner_name: "appcenter_owner",
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane-plugin-appcenter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Microsoft Corporation
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-01-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: csv
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: bundler
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -156,7 +170,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
156
170
|
- !ruby/object:Gem::Version
|
157
171
|
version: '0'
|
158
172
|
requirements: []
|
159
|
-
rubygems_version: 3.3.
|
173
|
+
rubygems_version: 3.3.27
|
160
174
|
signing_key:
|
161
175
|
specification_version: 4
|
162
176
|
summary: Fastlane plugin for App Center
|