fastlane 2.52.0 → 2.53.0.beta.20170810010003
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/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
|