fastlane 2.52.0.beta.20170809010003 → 2.52.0
Sign up to get free protection for your applications and to get access to all the features.
- 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:
|