fastlane 2.52.0 → 2.53.0.beta.20170810010003
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/actions/modify_services.rb +157 -0
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane_core/lib/fastlane_core/ui/implementations/shell.rb +1 -1
- data/frameit/README.md +4 -1
- data/frameit/lib/frameit/config_parser.rb +2 -2
- data/frameit/lib/frameit/editor.rb +25 -11
- data/produce/README.md +1 -0
- data/produce/lib/produce/itunes_connect.rb +2 -2
- data/produce/lib/produce/options.rb +7 -1
- data/spaceship/lib/spaceship/tunes/application.rb +3 -2
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +6 -1
- metadata +19 -20
- data/fastlane/lib/fastlane/.DS_Store +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 35a5438c6cd747913c5a9cf28d576bc5a5604257
|
4
|
+
data.tar.gz: 04ae63f0cce1d058af9dbe12d473540f6f30c422
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 545f1f6239c5c61ee479f347419427e3b39c3825f465c09d6a9cbf28b561c6fe1e68366ed057239aa17917789da028bee547690fc8999dbc96b7e91b2324b9a2
|
7
|
+
data.tar.gz: cd58ec8f522573c123eb187e283b51cbd7d534690f713ff276b97c9058fd9edab45183139c8084ebc51f41c6edfc497b57cb4e7ad87e28c723a9f0dc57fc7bde
|
@@ -0,0 +1,157 @@
|
|
1
|
+
module Fastlane
|
2
|
+
module Actions
|
3
|
+
class ModifyServicesAction < Action
|
4
|
+
def self.run(params)
|
5
|
+
require 'produce'
|
6
|
+
|
7
|
+
return if Helper.test?
|
8
|
+
|
9
|
+
Produce.config = params
|
10
|
+
|
11
|
+
Dir.chdir(FastlaneCore::FastlaneFolder.path || Dir.pwd) do
|
12
|
+
require 'produce/service'
|
13
|
+
services = params[:services]
|
14
|
+
|
15
|
+
enabled_services = services.reject { |k, v| v == 'off' }
|
16
|
+
disabled_services = services.select { |k, v| v == 'off' }
|
17
|
+
|
18
|
+
enabled_services_object = self.service_object
|
19
|
+
enabled_services.each do |k, v|
|
20
|
+
enabled_services_object.__hash__[k] = true
|
21
|
+
enabled_services_object.send("#{k}=", v)
|
22
|
+
end
|
23
|
+
Produce::Service.enable(enabled_services_object, nil) unless enabled_services.empty?
|
24
|
+
|
25
|
+
disabled_services_object = self.service_object
|
26
|
+
disabled_services.each do |k, v|
|
27
|
+
disabled_services_object.__hash__[k] = true
|
28
|
+
disabled_services_object.send("#{k}=", v)
|
29
|
+
end
|
30
|
+
Produce::Service.disable(disabled_services_object, nil) unless disabled_services.empty?
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.service_object
|
35
|
+
service_object = Object.new
|
36
|
+
service_object.class.module_eval { attr_accessor :__hash__ }
|
37
|
+
service_object.__hash__ = {}
|
38
|
+
Produce::DeveloperCenter::ALLOWED_SERVICES.keys.each do |service|
|
39
|
+
name = self.services_mapping[service]
|
40
|
+
service_object.class.module_eval { attr_accessor :"#{name}" }
|
41
|
+
end
|
42
|
+
service_object
|
43
|
+
end
|
44
|
+
|
45
|
+
def self.services_mapping
|
46
|
+
{
|
47
|
+
app_group: 'app_group',
|
48
|
+
apple_pay: 'apple_pay',
|
49
|
+
associated_domains: 'associated_domains',
|
50
|
+
data_protection: 'data_protection',
|
51
|
+
game_center: 'game_center',
|
52
|
+
health_kit: 'healthkit',
|
53
|
+
home_kit: 'homekit',
|
54
|
+
wireless_accessory: 'wireless_conf',
|
55
|
+
icloud: 'icloud',
|
56
|
+
in_app_purchase: 'in_app_purchase',
|
57
|
+
inter_app_audio: 'inter_app_audio',
|
58
|
+
passbook: 'passbook',
|
59
|
+
push_notification: 'push_notification',
|
60
|
+
siri_kit: 'sirikit',
|
61
|
+
vpn_configuration: 'vpn_conf'
|
62
|
+
}
|
63
|
+
end
|
64
|
+
|
65
|
+
def self.allowed_services_description
|
66
|
+
return Produce::DeveloperCenter::ALLOWED_SERVICES.map do |k, v|
|
67
|
+
"#{k}: (#{v.join('|')})"
|
68
|
+
end.join(", ")
|
69
|
+
end
|
70
|
+
|
71
|
+
def self.description
|
72
|
+
'Modifies the services of the app created on Developer Portal'
|
73
|
+
end
|
74
|
+
|
75
|
+
def self.details
|
76
|
+
[
|
77
|
+
"Options are same as 'enable_services' in produce action",
|
78
|
+
"https://github.com/fastlane/fastlane/tree/master/produce"
|
79
|
+
].join("\n")
|
80
|
+
end
|
81
|
+
|
82
|
+
def self.available_options
|
83
|
+
require 'produce'
|
84
|
+
user = CredentialsManager::AppfileConfig.try_fetch_value(:apple_dev_portal_id)
|
85
|
+
user ||= CredentialsManager::AppfileConfig.try_fetch_value(:apple_id)
|
86
|
+
[
|
87
|
+
FastlaneCore::ConfigItem.new(key: :username,
|
88
|
+
short_option: "-u",
|
89
|
+
env_name: "PRODUCE_USERNAME",
|
90
|
+
description: "Your Apple ID Username",
|
91
|
+
default_value: user),
|
92
|
+
FastlaneCore::ConfigItem.new(key: :app_identifier,
|
93
|
+
env_name: "PRODUCE_APP_IDENTIFIER",
|
94
|
+
short_option: "-a",
|
95
|
+
description: "App Identifier (Bundle ID, e.g. com.krausefx.app)",
|
96
|
+
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier)),
|
97
|
+
FastlaneCore::ConfigItem.new(key: :services,
|
98
|
+
display_in_shell: false,
|
99
|
+
env_name: "PRODUCE_ENABLE_SERVICES",
|
100
|
+
description: "Array with Spaceship App Services (e.g. #{allowed_services_description})",
|
101
|
+
is_string: false,
|
102
|
+
default_value: {},
|
103
|
+
verify_block: proc do |value|
|
104
|
+
allowed_keys = Produce::DeveloperCenter::ALLOWED_SERVICES.keys
|
105
|
+
UI.user_error!("enable_services has to be of type Hash") unless value.kind_of?(Hash)
|
106
|
+
value.each do |key, v|
|
107
|
+
UI.user_error!("The key: '#{key}' is not supported in `enable_services' - following keys are available: [#{allowed_keys.join(',')}]") unless allowed_keys.include? key.to_sym
|
108
|
+
end
|
109
|
+
end),
|
110
|
+
FastlaneCore::ConfigItem.new(key: :team_id,
|
111
|
+
short_option: "-b",
|
112
|
+
env_name: "PRODUCE_TEAM_ID",
|
113
|
+
description: "The ID of your Developer Portal team if you're in multiple teams",
|
114
|
+
optional: true,
|
115
|
+
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:team_id),
|
116
|
+
verify_block: proc do |value|
|
117
|
+
ENV["FASTLANE_TEAM_ID"] = value.to_s
|
118
|
+
end),
|
119
|
+
FastlaneCore::ConfigItem.new(key: :team_name,
|
120
|
+
short_option: "-l",
|
121
|
+
env_name: "PRODUCE_TEAM_NAME",
|
122
|
+
description: "The name of your Developer Portal team if you're in multiple teams",
|
123
|
+
optional: true,
|
124
|
+
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:team_name),
|
125
|
+
verify_block: proc do |value|
|
126
|
+
ENV["FASTLANE_TEAM_NAME"] = value.to_s
|
127
|
+
end)
|
128
|
+
]
|
129
|
+
end
|
130
|
+
|
131
|
+
def self.author
|
132
|
+
"bhimsenpadalkar"
|
133
|
+
end
|
134
|
+
|
135
|
+
def self.is_supported?(platform)
|
136
|
+
platform == :ios
|
137
|
+
end
|
138
|
+
|
139
|
+
def self.example_code
|
140
|
+
[
|
141
|
+
'modify_services(
|
142
|
+
username: "test.account@gmail.com",
|
143
|
+
app_identifier: "com.someorg.app",
|
144
|
+
services: {
|
145
|
+
push_notifications: "on",
|
146
|
+
associated_domains: "off"
|
147
|
+
}
|
148
|
+
)'
|
149
|
+
]
|
150
|
+
end
|
151
|
+
|
152
|
+
def self.category
|
153
|
+
:misc
|
154
|
+
end
|
155
|
+
end
|
156
|
+
end
|
157
|
+
end
|
data/frameit/README.md
CHANGED
@@ -141,7 +141,8 @@ Use it to define the general information:
|
|
141
141
|
"background": "./background.jpg",
|
142
142
|
"padding": 50,
|
143
143
|
"show_complete_frame": false,
|
144
|
-
"stack_title" : false
|
144
|
+
"stack_title" : false,
|
145
|
+
"title_below_image": true
|
145
146
|
},
|
146
147
|
|
147
148
|
"data": [
|
@@ -176,6 +177,8 @@ The `stack_title` value specifies whether `frameit` should display the keyword a
|
|
176
177
|
|
177
178
|
The `show_complete_frame` value specifies whether `frameit` should shrink the device and frame so that they show in full in the framed screenshot. If it is false, then they can hang over the bottom of the screenshot.
|
178
179
|
|
180
|
+
The `title_below_image` value specifies whether `frameit` should place the title below the screenshot. If it is false, it will be placed above the screenshot.
|
181
|
+
|
179
182
|
The `filter` value is a part of the screenshot named for which the given option should be used. If a screenshot is named `iPhone5_Brainstorming.png` the first entry in the `data` array will be used.
|
180
183
|
|
181
184
|
You can find a more complex [configuration](https://github.com/fastlane/examples/blob/master/MindNode/screenshots/Framefile.json) to also support Chinese, Japanese and Korean languages.
|
@@ -83,8 +83,8 @@ module Frameit
|
|
83
83
|
unless value.kind_of?(Integer) || value.split('x').length == 2 || (value.end_with?('%') && value.to_f > 0)
|
84
84
|
UI.user_error!("padding must be type integer or pair of integers of format 'AxB' or a percentage of screen size")
|
85
85
|
end
|
86
|
-
when 'show_complete_frame'
|
87
|
-
UI.user_error! "
|
86
|
+
when 'show_complete_frame', 'title_below_image'
|
87
|
+
UI.user_error! "'#{key}' must be a Boolean" unless [true, false].include?(value)
|
88
88
|
when 'font_scale_factor'
|
89
89
|
UI.user_error!("font_scale_factor must be numeric") unless value.kind_of?(Numeric)
|
90
90
|
end
|
@@ -3,7 +3,7 @@ module Frameit
|
|
3
3
|
attr_accessor :screenshot # reference to the screenshot object to fetch the path, title, etc.
|
4
4
|
attr_accessor :frame # the frame of the device
|
5
5
|
attr_accessor :image # the current image used for editing
|
6
|
-
attr_accessor :
|
6
|
+
attr_accessor :space_to_device
|
7
7
|
|
8
8
|
def frame!(screenshot)
|
9
9
|
self.screenshot = screenshot
|
@@ -104,7 +104,7 @@ module Frameit
|
|
104
104
|
def complex_framing
|
105
105
|
background = generate_background
|
106
106
|
|
107
|
-
self.
|
107
|
+
self.space_to_device = vertical_frame_padding
|
108
108
|
|
109
109
|
if fetch_config['title']
|
110
110
|
background = put_title_into_background(background, fetch_config['stack_title'])
|
@@ -116,7 +116,7 @@ module Frameit
|
|
116
116
|
|
117
117
|
# Decrease the size of the framed screenshot to fit into the defined padding + background
|
118
118
|
frame_width = background.width - horizontal_frame_padding * 2
|
119
|
-
frame_height = background.height -
|
119
|
+
frame_height = background.height - space_to_device - vertical_frame_padding
|
120
120
|
|
121
121
|
if fetch_config['show_complete_frame']
|
122
122
|
# calculate the final size of the screenshot to resize in one go
|
@@ -177,10 +177,17 @@ module Frameit
|
|
177
177
|
|
178
178
|
def put_device_into_background(background)
|
179
179
|
left_space = (background.width / 2.0 - image.width / 2.0).round
|
180
|
+
title_below_image = fetch_config['title_below_image']
|
180
181
|
|
181
182
|
@image = background.composite(image, "png") do |c|
|
182
183
|
c.compose "Over"
|
183
|
-
|
184
|
+
if title_below_image
|
185
|
+
show_complete_frame = fetch_config['show_complete_frame']
|
186
|
+
c.geometry "+#{left_space}+#{background.height - image.height - space_to_device}" unless show_complete_frame
|
187
|
+
c.geometry "+#{left_space}+#{vertical_frame_padding}" if show_complete_frame
|
188
|
+
else
|
189
|
+
c.geometry "+#{left_space}+#{space_to_device}"
|
190
|
+
end
|
184
191
|
end
|
185
192
|
|
186
193
|
return image
|
@@ -205,8 +212,8 @@ module Frameit
|
|
205
212
|
text.resize "#{(smaller * text.width).round}x"
|
206
213
|
end
|
207
214
|
end
|
208
|
-
# Add the title above the device
|
209
215
|
|
216
|
+
# Add the title above or below the device
|
210
217
|
def put_title_into_background_stacked(background, title, keyword)
|
211
218
|
resize_text(title)
|
212
219
|
resize_text(keyword)
|
@@ -222,16 +229,20 @@ module Frameit
|
|
222
229
|
title_left_space = (background.width / 2.0 - title_width / 2.0).round
|
223
230
|
keyword_left_space = (background.width / 2.0 - keyword_width / 2.0).round
|
224
231
|
|
225
|
-
self.
|
232
|
+
self.space_to_device += title.height + keyword.height + spacing_between_title_and_keyword + vertical_padding
|
233
|
+
title_below_image = fetch_config['title_below_image']
|
226
234
|
# keyword
|
227
235
|
background = background.composite(keyword, "png") do |c|
|
228
236
|
c.compose "Over"
|
229
|
-
c.geometry "+#{keyword_left_space}+#{keyword_top_space}"
|
237
|
+
c.geometry "+#{keyword_left_space}+#{keyword_top_space}" unless title_below_image
|
238
|
+
c.geometry "+#{keyword_left_space}+#{background.height - space_to_device + keyword_top_space}" if title_below_image
|
230
239
|
end
|
231
240
|
# Then, put the title on top of the screenshot next to the keyword
|
241
|
+
# Then, put the title above/below of the screenshot next to the keyword
|
232
242
|
background = background.composite(title, "png") do |c|
|
233
243
|
c.compose "Over"
|
234
|
-
c.geometry "+#{title_left_space}+#{title_top_space}"
|
244
|
+
c.geometry "+#{title_left_space}+#{title_top_space}" unless title_below_image
|
245
|
+
c.geometry "+#{title_left_space}+#{background.height - space_to_device + title_top_space}" if title_below_image
|
235
246
|
end
|
236
247
|
background
|
237
248
|
end
|
@@ -268,14 +279,16 @@ module Frameit
|
|
268
279
|
vertical_padding = vertical_frame_padding
|
269
280
|
top_space = vertical_padding + (actual_font_size - title.height) / 2
|
270
281
|
left_space = (background.width / 2.0 - sum_width / 2.0).round
|
282
|
+
title_below_image = fetch_config['title_below_image']
|
271
283
|
|
272
|
-
self.
|
284
|
+
self.space_to_device += actual_font_size + vertical_padding
|
273
285
|
|
274
286
|
# First, put the keyword on top of the screenshot, if we have one
|
275
287
|
if keyword
|
276
288
|
background = background.composite(keyword, "png") do |c|
|
277
289
|
c.compose "Over"
|
278
|
-
c.geometry "+#{left_space}+#{top_space}"
|
290
|
+
c.geometry "+#{left_space}+#{top_space}" unless title_below_image
|
291
|
+
c.geometry "+#{left_space}+#{background.height - space_to_device + top_space}" if title_below_image
|
279
292
|
end
|
280
293
|
|
281
294
|
left_space += keyword.width + (keyword_padding * smaller)
|
@@ -284,7 +297,8 @@ module Frameit
|
|
284
297
|
# Then, put the title on top of the screenshot next to the keyword
|
285
298
|
background = background.composite(title, "png") do |c|
|
286
299
|
c.compose "Over"
|
287
|
-
c.geometry "+#{left_space}+#{top_space}"
|
300
|
+
c.geometry "+#{left_space}+#{top_space}" unless title_below_image
|
301
|
+
c.geometry "+#{left_space}+#{background.height - space_to_device + top_space}" if title_below_image
|
288
302
|
end
|
289
303
|
background
|
290
304
|
end
|
data/produce/README.md
CHANGED
@@ -109,6 +109,7 @@ To get a list of all available parameters:
|
|
109
109
|
-c, --company_name STRING The name of your company. Only required if it's the first app you create (PRODUCE_COMPANY_NAME)
|
110
110
|
-i, --skip_itc [VALUE] Skip the creation of the app on iTunes Connect (PRODUCE_SKIP_ITC)
|
111
111
|
-d, --skip_devcenter [VALUE] Skip the creation of the app on the Apple Developer Portal (PRODUCE_SKIP_DEVCENTER)
|
112
|
+
-s, --itc_users ARRAY Array of iTunes Connect users. If provided, you can limit access to this newly created app for users with the App Manager, Developer, Marketer or Sales roles (ITC_USERS)
|
112
113
|
-b, --team_id STRING The ID of your Developer Portal team if you're in multiple teams (PRODUCE_TEAM_ID)
|
113
114
|
-l, --team_name STRING The name of your Developer Portal team if you're in multiple teams (PRODUCE_TEAM_NAME)
|
114
115
|
-k, --itc_team_id [VALUE] The ID of your iTunes Connect team if you're in multiple teams (PRODUCE_ITC_TEAM_ID)
|
@@ -21,14 +21,14 @@ module Produce
|
|
21
21
|
UI.success "Creating new app '#{Produce.config[:app_name]}' on iTunes Connect"
|
22
22
|
|
23
23
|
Produce.config[:bundle_identifier_suffix] = '' unless wildcard_bundle?
|
24
|
-
|
25
24
|
generated_app = Spaceship::Tunes::Application.create!(name: Produce.config[:app_name],
|
26
25
|
primary_language: language,
|
27
26
|
sku: Produce.config[:sku].to_s, # might be an int
|
28
27
|
bundle_id: app_identifier,
|
29
28
|
bundle_id_suffix: Produce.config[:bundle_identifier_suffix],
|
30
29
|
company_name: Produce.config[:company_name],
|
31
|
-
platform: Produce.config[:platform]
|
30
|
+
platform: Produce.config[:platform],
|
31
|
+
itunes_connect_users: Produce.config[:itc_users])
|
32
32
|
|
33
33
|
UI.crash!("Something went wrong when creating the new app on iTC") if generated_app["adamId"].to_s.empty?
|
34
34
|
|
@@ -65,7 +65,13 @@ module Produce
|
|
65
65
|
description: "Skip the creation of the app on iTunes Connect",
|
66
66
|
is_string: false,
|
67
67
|
default_value: false),
|
68
|
-
|
68
|
+
FastlaneCore::ConfigItem.new(key: :itc_users,
|
69
|
+
short_option: "-s",
|
70
|
+
env_name: "ITC_USERS",
|
71
|
+
optional: true,
|
72
|
+
type: Array,
|
73
|
+
description: "Array of iTunes Connect users. If provided, you can limit access to this newly created app for users with the App Manager, Developer, Marketer or Sales roles",
|
74
|
+
is_string: false),
|
69
75
|
# Deprecating this in favor of a rename from "enabled_features" to "enable_services"
|
70
76
|
FastlaneCore::ConfigItem.new(key: :enabled_features,
|
71
77
|
deprecated: "Please use `enable_services` instead",
|
@@ -77,7 +77,7 @@ module Spaceship
|
|
77
77
|
# @param platform (String): Platform one of (ios,osx)
|
78
78
|
# should it be an ios or an osx app
|
79
79
|
|
80
|
-
def create!(name: nil, primary_language: nil, version: nil, sku: nil, bundle_id: nil, bundle_id_suffix: nil, company_name: nil, platform: nil)
|
80
|
+
def create!(name: nil, primary_language: nil, version: nil, sku: nil, bundle_id: nil, bundle_id_suffix: nil, company_name: nil, platform: nil, itunes_connect_users: nil)
|
81
81
|
puts "The `version` parameter is deprecated. Use `ensure_version!` method instead" if version
|
82
82
|
client.create_application!(name: name,
|
83
83
|
primary_language: primary_language,
|
@@ -85,7 +85,8 @@ module Spaceship
|
|
85
85
|
bundle_id: bundle_id,
|
86
86
|
bundle_id_suffix: bundle_id_suffix,
|
87
87
|
company_name: company_name,
|
88
|
-
platform: platform
|
88
|
+
platform: platform,
|
89
|
+
itunes_connect_users: itunes_connect_users)
|
89
90
|
end
|
90
91
|
end
|
91
92
|
|
@@ -210,7 +210,7 @@ module Spaceship
|
|
210
210
|
# @param sku (String): A unique ID for your app that is not visible on the App Store.
|
211
211
|
# @param bundle_id (String): The bundle ID must match the one you used in Xcode. It
|
212
212
|
# can't be changed after you submit your first build.
|
213
|
-
def create_application!(name: nil, primary_language: nil, version: nil, sku: nil, bundle_id: nil, bundle_id_suffix: nil, company_name: nil, platform: nil)
|
213
|
+
def create_application!(name: nil, primary_language: nil, version: nil, sku: nil, bundle_id: nil, bundle_id_suffix: nil, company_name: nil, platform: nil, itunes_connect_users: nil)
|
214
214
|
puts "The `version` parameter is deprecated. Use `Spaceship::Tunes::Application.ensure_version!` method instead" if version
|
215
215
|
|
216
216
|
# First, we need to fetch the data from Apple, which we then modify with the user's values
|
@@ -233,6 +233,11 @@ module Spaceship
|
|
233
233
|
data['initialPlatform'] = platform
|
234
234
|
data['enabledPlatformsForCreation'] = { value: [platform] }
|
235
235
|
|
236
|
+
unless itunes_connect_users.nil?
|
237
|
+
data['iTunesConnectUsers']['grantedAllUsers'] = false
|
238
|
+
data['iTunesConnectUsers']['grantedUsers'] = data['iTunesConnectUsers']['availableUsers'].select { |user| itunes_connect_users.include? user['username'] }
|
239
|
+
end
|
240
|
+
|
236
241
|
# Now send back the modified hash
|
237
242
|
r = request(:post) do |req|
|
238
243
|
req.url 'ra/apps/create/v2'
|
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.
|
4
|
+
version: 2.53.0.beta.20170810010003
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Felix Krause
|
@@ -15,7 +15,7 @@ authors:
|
|
15
15
|
autorequire:
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
|
-
date: 2017-08-
|
18
|
+
date: 2017-08-10 00:00:00.000000000 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: slack-notifier
|
@@ -830,7 +830,6 @@ 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
|
834
833
|
- fastlane/lib/fastlane/action.rb
|
835
834
|
- fastlane/lib/fastlane/action_collector.rb
|
836
835
|
- fastlane/lib/fastlane/actions/README.md
|
@@ -932,6 +931,7 @@ files:
|
|
932
931
|
- fastlane/lib/fastlane/actions/mailgun.rb
|
933
932
|
- fastlane/lib/fastlane/actions/make_changelog_from_jenkins.rb
|
934
933
|
- fastlane/lib/fastlane/actions/match.rb
|
934
|
+
- fastlane/lib/fastlane/actions/modify_services.rb
|
935
935
|
- fastlane/lib/fastlane/actions/nexus_upload.rb
|
936
936
|
- fastlane/lib/fastlane/actions/notification.rb
|
937
937
|
- fastlane/lib/fastlane/actions/notify.rb
|
@@ -1406,24 +1406,24 @@ metadata:
|
|
1406
1406
|
post_install_message:
|
1407
1407
|
rdoc_options: []
|
1408
1408
|
require_paths:
|
1409
|
-
-
|
1410
|
-
-
|
1411
|
-
-
|
1409
|
+
- spaceship/lib
|
1410
|
+
- scan/lib
|
1411
|
+
- sigh/lib
|
1412
|
+
- snapshot/lib
|
1413
|
+
- screengrab/lib
|
1412
1414
|
- fastlane/lib
|
1413
|
-
-
|
1414
|
-
-
|
1415
|
+
- cert/lib
|
1416
|
+
- pem/lib
|
1415
1417
|
- gym/lib
|
1418
|
+
- produce/lib
|
1419
|
+
- deliver/lib
|
1420
|
+
- supply/lib
|
1416
1421
|
- match/lib
|
1417
|
-
-
|
1422
|
+
- frameit/lib
|
1423
|
+
- credentials_manager/lib
|
1418
1424
|
- pilot/lib
|
1419
1425
|
- precheck/lib
|
1420
|
-
-
|
1421
|
-
- scan/lib
|
1422
|
-
- screengrab/lib
|
1423
|
-
- sigh/lib
|
1424
|
-
- snapshot/lib
|
1425
|
-
- spaceship/lib
|
1426
|
-
- supply/lib
|
1426
|
+
- fastlane_core/lib
|
1427
1427
|
required_ruby_version: !ruby/object:Gem::Requirement
|
1428
1428
|
requirements:
|
1429
1429
|
- - ">="
|
@@ -1431,15 +1431,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
1431
1431
|
version: 2.0.0
|
1432
1432
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
1433
1433
|
requirements:
|
1434
|
-
- - "
|
1434
|
+
- - ">"
|
1435
1435
|
- !ruby/object:Gem::Version
|
1436
|
-
version:
|
1436
|
+
version: 1.3.1
|
1437
1437
|
requirements: []
|
1438
1438
|
rubyforge_project:
|
1439
|
-
rubygems_version: 2.
|
1439
|
+
rubygems_version: 2.4.5.1
|
1440
1440
|
signing_key:
|
1441
1441
|
specification_version: 4
|
1442
1442
|
summary: The easiest way to automate beta deployments and releases for your iOS and
|
1443
1443
|
Android apps
|
1444
1444
|
test_files: []
|
1445
|
-
has_rdoc:
|
Binary file
|