fastlane 2.52.0.beta.20170809010003 → 2.52.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 +4 -4
- data/fastlane/lib/fastlane/.DS_Store +0 -0
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/produce/README.md +42 -7
- data/produce/lib/produce/commands_generator.rb +37 -0
- data/produce/lib/produce/merchant.rb +120 -0
- data/spaceship/lib/spaceship.rb +1 -0
- data/spaceship/lib/spaceship/portal/app.rb +7 -0
- data/spaceship/lib/spaceship/portal/merchant.rb +84 -0
- data/spaceship/lib/spaceship/portal/portal.rb +1 -0
- data/spaceship/lib/spaceship/portal/portal_client.rb +49 -0
- data/spaceship/lib/spaceship/portal/spaceship.rb +9 -0
- data/supply/lib/supply/options.rb +1 -1
- data/supply/lib/supply/uploader.rb +3 -3
- metadata +21 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c7f3c794df6dc0a5cd82ae0ed33a3cd555c58e02
|
4
|
+
data.tar.gz: bfc83e409c4b6daa53a5be411be8b9f645353c49
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5aa6e50c5bf45bb129d1e0978d46ffad40feef098efb8d01e1d986b19563ddff192e19544f91948ab83e841719b4323ae3eb97ae3d39fc17165677df27a89e58
|
7
|
+
data.tar.gz: 0bd5fe9a8a057d0bf66678614c74066f42a4e355a2c8361dace35878ae7dcac8760c70f810cfac31c21e71ee6680b095405d6cd43dbc304d632c886b8aee606d
|
Binary file
|
data/produce/README.md
CHANGED
@@ -61,6 +61,8 @@ Get in contact with the developers on Twitter: [@FastlaneTools](https://twitter.
|
|
61
61
|
- **Modify** Application Services on the Apple Developer Portal
|
62
62
|
- **Create** App Groups on the Apple Developer Portal
|
63
63
|
- **Associate** apps with App Groups on the Apple Developer Portal
|
64
|
+
- **Create** Merchant Identifiers on the Apple Developer Portal
|
65
|
+
- **Associate** apps with Merchant Identifiers on the Apple Developer Portal
|
64
66
|
- Support for **multiple Apple accounts**, storing your credentials securely in the Keychain
|
65
67
|
|
66
68
|
##### [Do you like fastlane? Be the first to know about updates and new fastlane tools](https://tinyletter.com/fastlane-tools)
|
@@ -78,15 +80,17 @@ Get in contact with the developers on Twitter: [@FastlaneTools](https://twitter.
|
|
78
80
|
To get a list of all available parameters:
|
79
81
|
|
80
82
|
fastlane produce --help
|
81
|
-
|
83
|
+
|
82
84
|
```
|
83
85
|
Commands: (* default)
|
84
|
-
associate_group
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
86
|
+
associate_group Associate with a group, which is created if needed or simply located otherwise
|
87
|
+
associate_merchant Associate with a merchant for use with Apple Pay. Apple Pay will be enabled for this app
|
88
|
+
create * Creates a new app on iTunes Connect and the Apple Developer Portal
|
89
|
+
disable_services Disable specific Application Services for a specific app on the Apple Developer Portal
|
90
|
+
enable_services Enable specific Application Services for a specific app on the Apple Developer Portal
|
91
|
+
group Ensure that a specific App Group exists
|
92
|
+
help Display global or [command] help documentation
|
93
|
+
merchant Ensure that a specific Merchant exists
|
90
94
|
|
91
95
|
Global Options:
|
92
96
|
--verbose
|
@@ -173,6 +177,37 @@ Get a list of all available options using
|
|
173
177
|
--vpn-conf Disable VPN Configuration
|
174
178
|
```
|
175
179
|
|
180
|
+
## Creating Apple Pay merchants and associating them with an App ID
|
181
|
+
|
182
|
+
If you want to create a new Apple Pay Merchant Identifier:
|
183
|
+
|
184
|
+
```
|
185
|
+
fastlane produce merchant -o merchant.com.example.production -r "Example Merchant Production"
|
186
|
+
```
|
187
|
+
|
188
|
+
Use `--help` for more information about all available parameters
|
189
|
+
```
|
190
|
+
fastlane produce merchant --help
|
191
|
+
```
|
192
|
+
|
193
|
+
If you want to associate an app with a Merchant Identifier:
|
194
|
+
|
195
|
+
```
|
196
|
+
fastlane produce associate_merchant -a com.krausefx.app merchant.com.example.production
|
197
|
+
```
|
198
|
+
|
199
|
+
If you want to associate an app with multiple Merchant Identifiers:
|
200
|
+
|
201
|
+
```
|
202
|
+
fastlane produce associate_merchant -a com.krausefx.app merchant.com.example.production merchant.com.example.sandbox
|
203
|
+
```
|
204
|
+
|
205
|
+
Use --help for more information about all available parameters
|
206
|
+
|
207
|
+
```
|
208
|
+
fastlane produce associate_merchant --help
|
209
|
+
```
|
210
|
+
|
176
211
|
## Environment Variables
|
177
212
|
|
178
213
|
All available values can also be passed using environment variables, run `fastlane produce --help` to get a list of all available parameters.
|
@@ -135,6 +135,43 @@ module Produce
|
|
135
135
|
end
|
136
136
|
end
|
137
137
|
|
138
|
+
command :merchant do |c|
|
139
|
+
c.syntax = 'fastlane produce merchant'
|
140
|
+
c.description = 'Ensure that a specific Merchant exists'
|
141
|
+
c.example 'Create merchant', 'fastlane produce merchant -o merchant.com.example.production -r "Example Merchant Production"'
|
142
|
+
|
143
|
+
c.option '-r', '--merchant_name STRING', String, 'Name for the merchant that is created (PRODUCE_MERCHANT_NAME)'
|
144
|
+
c.option '-o', '--merchant_identifier STRING', String, 'Merchant identifier for the merchant (PRODUCE_MERCHANT_IDENTIFIER)'
|
145
|
+
|
146
|
+
FastlaneCore::CommanderGenerator.new.generate(Produce::Options.available_options, command: c)
|
147
|
+
|
148
|
+
c.action do |args, options|
|
149
|
+
extra_options = [FastlaneCore::ConfigItem.new(key: :merchant_name, optional: true), FastlaneCore::ConfigItem.new(key: :merchant_identifier)]
|
150
|
+
all_options = Produce::Options.available_options + extra_options
|
151
|
+
allowed_keys = all_options.collect(&:key)
|
152
|
+
|
153
|
+
Produce.config = FastlaneCore::Configuration.create(all_options, options.__hash__.select { |key, value| allowed_keys.include? key })
|
154
|
+
|
155
|
+
require 'produce/merchant'
|
156
|
+
Produce::Merchant.new.create(options, args)
|
157
|
+
end
|
158
|
+
end
|
159
|
+
|
160
|
+
command :associate_merchant do |c|
|
161
|
+
c.syntax = 'fastlane produce associate_merchant -a APP_IDENTIFIER MERCHANT_IDENTIFIER1, MERCHANT_IDENTIFIER2, ...'
|
162
|
+
c.description = 'Associate with a merchant for use with Apple Pay. Apple Pay will be enabled for this app.'
|
163
|
+
c.example 'Associate with merchant', 'fastlane produce associate_merchant -a com.example.app merchant.com.example.production'
|
164
|
+
|
165
|
+
FastlaneCore::CommanderGenerator.new.generate(Produce::Options.available_options, command: c)
|
166
|
+
|
167
|
+
c.action do |args, options|
|
168
|
+
Produce.config = FastlaneCore::Configuration.create(Produce::Options.available_options, options.__hash__)
|
169
|
+
|
170
|
+
require 'produce/merchant'
|
171
|
+
Produce::Merchant.new.associate(options, args)
|
172
|
+
end
|
173
|
+
end
|
174
|
+
|
138
175
|
default_command :create
|
139
176
|
|
140
177
|
run!
|
@@ -0,0 +1,120 @@
|
|
1
|
+
require 'spaceship'
|
2
|
+
|
3
|
+
module Produce
|
4
|
+
class Merchant
|
5
|
+
def create(_options, _args)
|
6
|
+
login
|
7
|
+
|
8
|
+
merchant_identifier = detect_merchant_identifier
|
9
|
+
merchant = find_merchant(merchant_identifier)
|
10
|
+
|
11
|
+
if merchant
|
12
|
+
UI.success("[DevCenter] Merchant '#{merchant.bundle_id})' already exists, nothing to do on the Dev Center")
|
13
|
+
else
|
14
|
+
merchant_name = Produce.config[:merchant_name] || merchant_name_from_identifier(merchant_identifier)
|
15
|
+
UI.success("Creating new merchant '#{merchant_name}' with identifier '#{merchant_identifier}' on the Apple Dev Center")
|
16
|
+
merchant = Spaceship.merchant.create!(bundle_id: merchant_identifier, name: merchant_name, mac: self.class.mac?)
|
17
|
+
|
18
|
+
if merchant.name != merchant_name
|
19
|
+
UI.important("Your merchant name might include non-ASCII characters, which are not supported by the Apple Developer Portal.")
|
20
|
+
UI.important("To fix this a unique (internal) name '#{merchant.name}' has been created for you.")
|
21
|
+
end
|
22
|
+
|
23
|
+
UI.message("Created merchant #{merchant.merchant_id}")
|
24
|
+
UI.success("Finished creating new merchant '#{merchant_name}' on the Dev Center")
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def associate(_options, args)
|
29
|
+
login
|
30
|
+
|
31
|
+
app = Spaceship.app.find(app_identifier)
|
32
|
+
|
33
|
+
if app
|
34
|
+
app.update_service(Spaceship.app_service.apple_pay.on)
|
35
|
+
|
36
|
+
UI.message("Validating merchants before association")
|
37
|
+
|
38
|
+
# associate requires identifiers to exist. This splits the provided identifiers into existing/non-existing. See: https://ruby-doc.org/core/Enumerable.html#method-i-partition
|
39
|
+
valid_identifiers, errored_identifiers = args.partition { |identifier| merchant_exists?(identifier) }
|
40
|
+
new_merchants = valid_identifiers.map { |identifier| find_merchant(identifier) }
|
41
|
+
|
42
|
+
errored_identifiers.each do |merchant_identifier|
|
43
|
+
UI.message("[DevCenter] Merchant '#{merchant_identifier}' does not exist, please create it first, skipping for now")
|
44
|
+
end
|
45
|
+
|
46
|
+
UI.message("Finalising association with #{new_merchants.count} #{pluralize('merchant', new_merchants)}")
|
47
|
+
app.associate_merchants(new_merchants)
|
48
|
+
UI.success("Done!")
|
49
|
+
else
|
50
|
+
UI.message("[DevCenter] App '#{Produce.config[:app_identifier]}' does not exist, nothing to associate with the merchants")
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
def login
|
55
|
+
UI.message("Starting login with user '#{Produce.config[:username]}'")
|
56
|
+
Spaceship.login(Produce.config[:username], nil)
|
57
|
+
Spaceship.select_team
|
58
|
+
UI.message("Successfully logged in")
|
59
|
+
end
|
60
|
+
|
61
|
+
def app_identifier
|
62
|
+
Produce.config[:app_identifier]
|
63
|
+
end
|
64
|
+
|
65
|
+
def pluralize(singular, arr)
|
66
|
+
return singular if arr.count == 1
|
67
|
+
|
68
|
+
"#{singular}s"
|
69
|
+
end
|
70
|
+
|
71
|
+
def merchant_exists?(identifier)
|
72
|
+
find_merchant(identifier)
|
73
|
+
end
|
74
|
+
|
75
|
+
def detect_merchant_identifier
|
76
|
+
self.class.detect_merchant_identifier
|
77
|
+
end
|
78
|
+
|
79
|
+
def self.detect_merchant_identifier(config = Produce.config)
|
80
|
+
identifier = config[:merchant_identifier] || input("Merchant identifier (reverse-domain name style string starting with 'merchant'): ", ":merchant_identifier option is required")
|
81
|
+
prepare_identifier(identifier)
|
82
|
+
end
|
83
|
+
|
84
|
+
def self.input(message, error_message)
|
85
|
+
if UI.interactive?
|
86
|
+
UI.input(message)
|
87
|
+
else
|
88
|
+
UI.user_error!(error_message)
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
def self.prepare_identifier(identifier)
|
93
|
+
return identifier if identifier.start_with?("merchant.")
|
94
|
+
|
95
|
+
"merchant.#{identifier}"
|
96
|
+
end
|
97
|
+
|
98
|
+
def find_merchant(identifier)
|
99
|
+
self.class.find_merchant(identifier)
|
100
|
+
end
|
101
|
+
|
102
|
+
def self.find_merchant(identifier, merchant: Spaceship.merchant)
|
103
|
+
@cache ||= {}
|
104
|
+
@cache[identifier] ||= merchant.find(identifier, mac: mac?)
|
105
|
+
end
|
106
|
+
|
107
|
+
def self.mac?(config = Produce.config)
|
108
|
+
config[:platform].to_s == "mac"
|
109
|
+
end
|
110
|
+
|
111
|
+
def merchant_name_from_identifier(identifier)
|
112
|
+
self.class.merchant_name_from_identifier(identifier)
|
113
|
+
end
|
114
|
+
|
115
|
+
def self.merchant_name_from_identifier(identifier)
|
116
|
+
capitalized_words = identifier.split(".").map(&:capitalize)
|
117
|
+
capitalized_words.reverse.join(' ')
|
118
|
+
end
|
119
|
+
end
|
120
|
+
end
|
data/spaceship/lib/spaceship.rb
CHANGED
@@ -25,6 +25,7 @@ module Spaceship
|
|
25
25
|
Passbook = Spaceship::Portal::Passbook
|
26
26
|
WebsitePush = Spaceship::Portal::WebsitePush
|
27
27
|
AppService = Spaceship::Portal::AppService
|
28
|
+
Merchant = Spaceship::Portal::Merchant
|
28
29
|
|
29
30
|
# iTunes Connect
|
30
31
|
AppVersion = Spaceship::Tunes::AppVersion
|
@@ -144,6 +144,13 @@ module Spaceship
|
|
144
144
|
self.class.factory(app)
|
145
145
|
end
|
146
146
|
|
147
|
+
# Associate specific merchants with this app
|
148
|
+
# @return (App) The updated detailed app. This is nil if the app couldn't be found
|
149
|
+
def associate_merchants(merchants)
|
150
|
+
app = client.associate_merchants_with_app(self, merchants, mac?)
|
151
|
+
self.class.factory(app)
|
152
|
+
end
|
153
|
+
|
147
154
|
# Update a service for the app with given AppService object
|
148
155
|
# @return (App) The updated detailed app. This is nil if the app couldn't be found
|
149
156
|
def update_service(service)
|
@@ -0,0 +1,84 @@
|
|
1
|
+
module Spaceship
|
2
|
+
module Portal
|
3
|
+
# Represents a Merchant ID from the Developer Portal
|
4
|
+
class Merchant < PortalBase
|
5
|
+
# @return (String) The identifier of this merchant, provided by the Dev Portal
|
6
|
+
# @example
|
7
|
+
# "LM1UX73BAC"
|
8
|
+
attr_accessor :merchant_id
|
9
|
+
|
10
|
+
# @return (String) The name you provided for this merchant
|
11
|
+
# @example
|
12
|
+
# "Spaceship Production"
|
13
|
+
attr_accessor :name
|
14
|
+
|
15
|
+
# @return (String) the supported platform of this merchant
|
16
|
+
# @example
|
17
|
+
# "ios"
|
18
|
+
attr_accessor :platform
|
19
|
+
|
20
|
+
# Prefix provided by the Dev Portal
|
21
|
+
# @example
|
22
|
+
# "5A9972XTK2"
|
23
|
+
attr_accessor :prefix
|
24
|
+
|
25
|
+
# @return (String) The bundle_id (merchant identifier) of merchant id
|
26
|
+
# @example
|
27
|
+
# "merchant.com.krausefx.app.production"
|
28
|
+
attr_accessor :bundle_id
|
29
|
+
|
30
|
+
# @return (String) Status of the merchant
|
31
|
+
# @example
|
32
|
+
# "current"
|
33
|
+
attr_accessor :status
|
34
|
+
|
35
|
+
attr_mapping(
|
36
|
+
'omcId' => :merchant_id,
|
37
|
+
'name' => :name,
|
38
|
+
'prefix' => :prefix,
|
39
|
+
'identifier' => :bundle_id,
|
40
|
+
'status' => :status
|
41
|
+
)
|
42
|
+
|
43
|
+
class << self
|
44
|
+
# @param mac [Bool] Fetches Mac merchant if true
|
45
|
+
# @return (Array) Returns all merchants available for this account
|
46
|
+
def all(mac: false)
|
47
|
+
client.merchants(mac: mac).map { |merchant| new(merchant) }
|
48
|
+
end
|
49
|
+
|
50
|
+
# Creates a new Merchant on the Apple Dev Portal
|
51
|
+
#
|
52
|
+
# @param bundle_id [String] the bundle id (merchant_identifier) of the merchant
|
53
|
+
# @param name [String] the name of the Merchant
|
54
|
+
# @param mac [Bool] is this a Mac Merchant?
|
55
|
+
# @return (Merchant) The Merchant you just created
|
56
|
+
def create!(bundle_id: nil, name: nil, mac: false)
|
57
|
+
new_merchant = client.create_merchant!(name, bundle_id, mac: mac)
|
58
|
+
new(new_merchant)
|
59
|
+
end
|
60
|
+
|
61
|
+
# Find a specific Merchant ID based on the bundle_id
|
62
|
+
# @param mac [Bool] Searches Mac merchants if true
|
63
|
+
# @return (Merchant) The Merchant you're looking for. This is nil if the merchant can't be found.
|
64
|
+
def find(bundle_id, mac: false)
|
65
|
+
all(mac: mac).find do |merchant|
|
66
|
+
merchant.bundle_id == bundle_id
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
# Delete this Merchant
|
72
|
+
# @return (Merchant) The merchant you just deleted
|
73
|
+
def delete!
|
74
|
+
client.delete_merchant!(merchant_id, mac: mac?)
|
75
|
+
self
|
76
|
+
end
|
77
|
+
|
78
|
+
# @return (Bool) Is this a Mac merchant?
|
79
|
+
def mac?
|
80
|
+
platform == 'mac'
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
@@ -132,6 +132,18 @@ module Spaceship
|
|
132
132
|
details_for_app(app)
|
133
133
|
end
|
134
134
|
|
135
|
+
def associate_merchants_with_app(app, merchants, mac)
|
136
|
+
ensure_csrf(Spaceship::Merchant)
|
137
|
+
|
138
|
+
request(:post, "account/#{platform_slug(mac)}/identifiers/assignOMCToAppId.action", {
|
139
|
+
teamId: team_id,
|
140
|
+
appIdId: app.app_id,
|
141
|
+
omcIds: merchants.map(&:merchant_id)
|
142
|
+
})
|
143
|
+
|
144
|
+
details_for_app(app)
|
145
|
+
end
|
146
|
+
|
135
147
|
def valid_name_for(input)
|
136
148
|
latinized = input.to_slug.transliterate
|
137
149
|
latinized = latinized.gsub(/[^0-9A-Za-z\d\s]/, '') # remove non-valid characters
|
@@ -273,6 +285,43 @@ module Spaceship
|
|
273
285
|
parse_response(r)
|
274
286
|
end
|
275
287
|
|
288
|
+
#####################################################
|
289
|
+
# @!group Merchant
|
290
|
+
#####################################################
|
291
|
+
|
292
|
+
def merchants(mac: false)
|
293
|
+
paging do |page_number|
|
294
|
+
r = request(:post, "account/#{platform_slug(mac)}/identifiers/listOMCs.action", {
|
295
|
+
teamId: team_id,
|
296
|
+
pageNumber: page_number,
|
297
|
+
pageSize: page_size,
|
298
|
+
sort: 'name=asc'
|
299
|
+
})
|
300
|
+
parse_response(r, 'identifierList')
|
301
|
+
end
|
302
|
+
end
|
303
|
+
|
304
|
+
def create_merchant!(name, bundle_id, mac: false)
|
305
|
+
ensure_csrf(Spaceship::Merchant)
|
306
|
+
|
307
|
+
r = request(:post, "account/#{platform_slug(mac)}/identifiers/addOMC.action", {
|
308
|
+
name: name,
|
309
|
+
identifier: bundle_id,
|
310
|
+
teamId: team_id
|
311
|
+
})
|
312
|
+
parse_response(r, 'omcId')
|
313
|
+
end
|
314
|
+
|
315
|
+
def delete_merchant!(merchant_id, mac: false)
|
316
|
+
ensure_csrf(Spaceship::Merchant)
|
317
|
+
|
318
|
+
r = request(:post, "account/#{platform_slug(mac)}/identifiers/deleteOMC.action", {
|
319
|
+
teamId: team_id,
|
320
|
+
omcId: merchant_id
|
321
|
+
})
|
322
|
+
parse_response(r)
|
323
|
+
end
|
324
|
+
|
276
325
|
#####################################################
|
277
326
|
# @!group App Groups
|
278
327
|
#####################################################
|
@@ -78,6 +78,11 @@ module Spaceship
|
|
78
78
|
def provisioning_profile
|
79
79
|
Spaceship::ProvisioningProfile.set_client(@client)
|
80
80
|
end
|
81
|
+
|
82
|
+
# @return (Class) Access the merchants for the spaceship
|
83
|
+
def merchant
|
84
|
+
Spaceship::Merchant.set_client(@client)
|
85
|
+
end
|
81
86
|
end
|
82
87
|
end
|
83
88
|
|
@@ -126,5 +131,9 @@ module Spaceship
|
|
126
131
|
def client
|
127
132
|
Spaceship::Portal.client
|
128
133
|
end
|
134
|
+
|
135
|
+
def merchant
|
136
|
+
Spaceship::Portal.merchant
|
137
|
+
end
|
129
138
|
end
|
130
139
|
end
|
@@ -24,7 +24,7 @@ module Supply
|
|
24
24
|
FastlaneCore::ConfigItem.new(key: :rollout,
|
25
25
|
short_option: "-r",
|
26
26
|
description: "The percentage of the user fraction when uploading to the rollout track",
|
27
|
-
|
27
|
+
optional: true,
|
28
28
|
verify_block: proc do |value|
|
29
29
|
min = 0.0
|
30
30
|
max = 1.0
|
@@ -43,7 +43,7 @@ module Supply
|
|
43
43
|
# the actual value passed for the rollout argument does not matter because it will be ignored by the Google Play API
|
44
44
|
# but it has to be between 0.0 and 1.0 to pass the validity check. So we are passing the default value 0.1
|
45
45
|
client.update_track(Supply.config[:track], 0.1, nil)
|
46
|
-
client.update_track(Supply.config[:track_promote_to], Supply.config[:rollout], version_codes)
|
46
|
+
client.update_track(Supply.config[:track_promote_to], Supply.config[:rollout] || 0.1, version_codes)
|
47
47
|
end
|
48
48
|
|
49
49
|
def upload_changelogs(language)
|
@@ -157,8 +157,8 @@ module Supply
|
|
157
157
|
UI.message("Updating track '#{Supply.config[:track]}'...")
|
158
158
|
check_superseded_tracks(apk_version_codes) if Supply.config[:check_superseded_tracks]
|
159
159
|
|
160
|
-
if Supply.config[:track].eql?
|
161
|
-
client.update_track(Supply.config[:track], Supply.config[:rollout], apk_version_codes)
|
160
|
+
if Supply.config[:track].eql?("rollout")
|
161
|
+
client.update_track(Supply.config[:track], Supply.config[:rollout] || 0.1, apk_version_codes)
|
162
162
|
else
|
163
163
|
client.update_track(Supply.config[:track], 1.0, apk_version_codes)
|
164
164
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.52.0
|
4
|
+
version: 2.52.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Felix Krause
|
@@ -830,6 +830,7 @@ files:
|
|
830
830
|
- fastlane/lib/assets/s3_plist_template.erb
|
831
831
|
- fastlane/lib/assets/s3_version_template.erb
|
832
832
|
- fastlane/lib/fastlane.rb
|
833
|
+
- fastlane/lib/fastlane/.DS_Store
|
833
834
|
- fastlane/lib/fastlane/action.rb
|
834
835
|
- fastlane/lib/fastlane/action_collector.rb
|
835
836
|
- fastlane/lib/fastlane/actions/README.md
|
@@ -1233,6 +1234,7 @@ files:
|
|
1233
1234
|
- produce/lib/produce/group.rb
|
1234
1235
|
- produce/lib/produce/itunes_connect.rb
|
1235
1236
|
- produce/lib/produce/manager.rb
|
1237
|
+
- produce/lib/produce/merchant.rb
|
1236
1238
|
- produce/lib/produce/options.rb
|
1237
1239
|
- produce/lib/produce/service.rb
|
1238
1240
|
- scan/README.md
|
@@ -1317,6 +1319,7 @@ files:
|
|
1317
1319
|
- spaceship/lib/spaceship/portal/device.rb
|
1318
1320
|
- spaceship/lib/spaceship/portal/invite.rb
|
1319
1321
|
- spaceship/lib/spaceship/portal/key.rb
|
1322
|
+
- spaceship/lib/spaceship/portal/merchant.rb
|
1320
1323
|
- spaceship/lib/spaceship/portal/passbook.rb
|
1321
1324
|
- spaceship/lib/spaceship/portal/person.rb
|
1322
1325
|
- spaceship/lib/spaceship/portal/persons.rb
|
@@ -1403,24 +1406,24 @@ metadata:
|
|
1403
1406
|
post_install_message:
|
1404
1407
|
rdoc_options: []
|
1405
1408
|
require_paths:
|
1406
|
-
- spaceship/lib
|
1407
|
-
- scan/lib
|
1408
|
-
- sigh/lib
|
1409
|
-
- snapshot/lib
|
1410
|
-
- screengrab/lib
|
1411
|
-
- fastlane/lib
|
1412
1409
|
- cert/lib
|
1413
|
-
-
|
1414
|
-
- gym/lib
|
1415
|
-
- produce/lib
|
1410
|
+
- credentials_manager/lib
|
1416
1411
|
- deliver/lib
|
1417
|
-
-
|
1418
|
-
-
|
1412
|
+
- fastlane/lib
|
1413
|
+
- fastlane_core/lib
|
1419
1414
|
- frameit/lib
|
1420
|
-
-
|
1415
|
+
- gym/lib
|
1416
|
+
- match/lib
|
1417
|
+
- pem/lib
|
1421
1418
|
- pilot/lib
|
1422
1419
|
- precheck/lib
|
1423
|
-
-
|
1420
|
+
- produce/lib
|
1421
|
+
- scan/lib
|
1422
|
+
- screengrab/lib
|
1423
|
+
- sigh/lib
|
1424
|
+
- snapshot/lib
|
1425
|
+
- spaceship/lib
|
1426
|
+
- supply/lib
|
1424
1427
|
required_ruby_version: !ruby/object:Gem::Requirement
|
1425
1428
|
requirements:
|
1426
1429
|
- - ">="
|
@@ -1428,14 +1431,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
1428
1431
|
version: 2.0.0
|
1429
1432
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
1430
1433
|
requirements:
|
1431
|
-
- - "
|
1434
|
+
- - ">="
|
1432
1435
|
- !ruby/object:Gem::Version
|
1433
|
-
version:
|
1436
|
+
version: '0'
|
1434
1437
|
requirements: []
|
1435
1438
|
rubyforge_project:
|
1436
|
-
rubygems_version: 2.
|
1439
|
+
rubygems_version: 2.6.8
|
1437
1440
|
signing_key:
|
1438
1441
|
specification_version: 4
|
1439
1442
|
summary: The easiest way to automate beta deployments and releases for your iOS and
|
1440
1443
|
Android apps
|
1441
1444
|
test_files: []
|
1445
|
+
has_rdoc:
|