fastlane 1.24.0 → 1.25.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/assets/FastfileTemplate +1 -4
- data/lib/fastlane/actions/cocoapods.rb +19 -2
- data/lib/fastlane/actions/hockey.rb +1 -1
- data/lib/fastlane/actions/import_from_git.rb +1 -1
- data/lib/fastlane/actions/register_devices.rb +2 -2
- data/lib/fastlane/actions/set_changelog.rb +1 -4
- data/lib/fastlane/actions/set_github_release.rb +4 -3
- data/lib/fastlane/actions/unlock_keychain.rb +97 -0
- data/lib/fastlane/command_line_handler.rb +2 -2
- data/lib/fastlane/fast_file.rb +13 -19
- data/lib/fastlane/helper/sh_helper.rb +14 -9
- data/lib/fastlane/setup.rb +3 -1
- data/lib/fastlane/version.rb +1 -1
- metadata +24 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d3dfcedf5ac0b272b5a1c08e2db5cc401152f748
|
4
|
+
data.tar.gz: 9c552d89e71e93de66eb151e95d2cb1d31128da8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c2839d75b434b3f866be56449b9d4f579bb31ccf901d43aa238842d1e5665007d975067fd7eb5ffee2b93b9f316dccf01b0808644a1b3ed41033b9eec588c02f
|
7
|
+
data.tar.gz: 76f073a6ed2428e1ca28b32d0e389825f4e471ca2a1edc331197046614c1e111661c263a581ef7309d0cd65a1730006e5047a98a5bf34dfc296e72c109d7fd2e
|
data/lib/assets/FastfileTemplate
CHANGED
@@ -22,12 +22,10 @@ default_platform :ios
|
|
22
22
|
|
23
23
|
|
24
24
|
platform :ios do
|
25
|
-
|
26
25
|
before_all do
|
27
26
|
# ENV["SLACK_URL"] = "https://hooks.slack.com/services/..."
|
28
|
-
|
29
27
|
cocoapods
|
30
|
-
|
28
|
+
carthage
|
31
29
|
# increment_build_number
|
32
30
|
|
33
31
|
gym[[SCHEME]] # Build your app - more options available
|
@@ -70,7 +68,6 @@ platform :ios do
|
|
70
68
|
# )
|
71
69
|
end
|
72
70
|
|
73
|
-
|
74
71
|
error do |lane, exception|
|
75
72
|
# slack(
|
76
73
|
# message: exception.message,
|
@@ -4,6 +4,15 @@ module Fastlane
|
|
4
4
|
def self.run(params)
|
5
5
|
cmd = []
|
6
6
|
|
7
|
+
unless params[:podfile].nil?
|
8
|
+
if params[:podfile].end_with?('Podfile')
|
9
|
+
podfile_folder = File.dirname(params[:podfile])
|
10
|
+
else
|
11
|
+
podfile_folder = params[:podfile]
|
12
|
+
end
|
13
|
+
cmd << ["cd '#{podfile_folder}' &&"]
|
14
|
+
end
|
15
|
+
|
7
16
|
cmd << ['bundle exec'] if File.exist?('Gemfile') && params[:use_bundle_exec]
|
8
17
|
cmd << ['pod install']
|
9
18
|
|
@@ -57,7 +66,15 @@ module Fastlane
|
|
57
66
|
env_name: "FL_COCOAPODS_USE_BUNDLE_EXEC",
|
58
67
|
description: "Use bundle exec when there is a Gemfile presented",
|
59
68
|
is_string: false,
|
60
|
-
default_value: true)
|
69
|
+
default_value: true),
|
70
|
+
FastlaneCore::ConfigItem.new(key: :podfile,
|
71
|
+
env_name: "FL_COCOAPODS_PODFILE",
|
72
|
+
description: "Explicitly specify the path to the Cocoapods' Podfile. You can either set it to the Podfile's path or to the folder containing the Podfile file",
|
73
|
+
optional: true,
|
74
|
+
is_string: true,
|
75
|
+
verify_block: proc do |value|
|
76
|
+
raise "Could not find Podfile".red unless File.exist?(value) || Helper.test?
|
77
|
+
end)
|
61
78
|
]
|
62
79
|
end
|
63
80
|
|
@@ -66,7 +83,7 @@ module Fastlane
|
|
66
83
|
end
|
67
84
|
|
68
85
|
def self.authors
|
69
|
-
["KrauseFx", "tadpol", "birmacher"]
|
86
|
+
["KrauseFx", "tadpol", "birmacher", "Liquidsoul"]
|
70
87
|
end
|
71
88
|
end
|
72
89
|
end
|
@@ -15,8 +15,8 @@ module Fastlane
|
|
15
15
|
devices = params[:devices]
|
16
16
|
devices_file = params[:devices_file]
|
17
17
|
|
18
|
-
credentials = CredentialsManager::
|
19
|
-
Spaceship::Portal.login(credentials.
|
18
|
+
credentials = CredentialsManager::AccountManager.new(user: params[:username])
|
19
|
+
Spaceship::Portal.login(credentials.user, credentials.password)
|
20
20
|
|
21
21
|
if devices
|
22
22
|
device_objs = devices.map do |k, v|
|
@@ -84,10 +84,7 @@ module Fastlane
|
|
84
84
|
short_option: "-u",
|
85
85
|
env_name: "FASTLANE_USERNAME",
|
86
86
|
description: "Your Apple ID Username",
|
87
|
-
default_value:
|
88
|
-
verify_block: proc do |value|
|
89
|
-
CredentialsManager::PasswordManager.shared_manager(value)
|
90
|
-
end),
|
87
|
+
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:apple_id)),
|
91
88
|
FastlaneCore::ConfigItem.new(key: :version,
|
92
89
|
env_name: "FL_SET_CHANGELOG_VERSION",
|
93
90
|
description: "The version number to create/update",
|
@@ -14,14 +14,15 @@ module Fastlane
|
|
14
14
|
Helper.log.info "Will also upload assets #{params[:upload_assets]}.".yellow if params[:upload_assets]
|
15
15
|
|
16
16
|
require 'json'
|
17
|
-
|
17
|
+
body_obj = {
|
18
18
|
'tag_name' => params[:tag_name],
|
19
|
-
'target_commitish' => params[:commitish],
|
20
19
|
'name' => params[:name],
|
21
20
|
'body' => params[:description],
|
22
21
|
'draft' => params[:is_draft],
|
23
22
|
'prerelease' => params[:is_prerelease]
|
24
|
-
}
|
23
|
+
}
|
24
|
+
body_obj['target_commitish'] = params[:commitish] if params[:commitish]
|
25
|
+
body = body_obj.to_json
|
25
26
|
|
26
27
|
repo_name = params[:repository_name]
|
27
28
|
api_token = params[:api_token]
|
@@ -0,0 +1,97 @@
|
|
1
|
+
module Fastlane
|
2
|
+
module Actions
|
3
|
+
class UnlockKeychainAction < Action
|
4
|
+
def self.run(params)
|
5
|
+
keychain_path = self.expand_keychain_path(params[:path])
|
6
|
+
add_to_search_list = params[:add_to_search_list]
|
7
|
+
|
8
|
+
if keychain_path.empty?
|
9
|
+
raise "Could not find the keychain file: #{keychain_path}".red
|
10
|
+
end
|
11
|
+
|
12
|
+
# add to search list if not already added
|
13
|
+
if add_to_search_list
|
14
|
+
add_keychain_to_search_list(keychain_path)
|
15
|
+
end
|
16
|
+
|
17
|
+
escaped_path = keychain_path.shellescape
|
18
|
+
escaped_password = params[:password].shellescape
|
19
|
+
|
20
|
+
commands = []
|
21
|
+
# unlock given keychain and disable lock and timeout
|
22
|
+
commands << Fastlane::Actions.sh("security unlock-keychain -p #{escaped_password} #{escaped_path}", log: false)
|
23
|
+
commands << Fastlane::Actions.sh("security set-keychain-settings #{escaped_path}", log: false)
|
24
|
+
commands
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.add_keychain_to_search_list(keychain_path)
|
28
|
+
escaped_path = keychain_path.shellescape
|
29
|
+
|
30
|
+
result = Fastlane::Actions.sh("security list-keychains", log: false)
|
31
|
+
|
32
|
+
# add the keychain to the keychains list
|
33
|
+
# the basic strategy is to open the keychain file with Keychain Access
|
34
|
+
unless result.include?(keychain_path)
|
35
|
+
commands = []
|
36
|
+
commands << Fastlane::Actions.sh("open #{escaped_path}")
|
37
|
+
commands
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def self.expand_keychain_path(keychain_path)
|
42
|
+
possible_locations = []
|
43
|
+
possible_locations << keychain_path
|
44
|
+
possible_locations << "~/Library/Keychains/#{keychain_path}"
|
45
|
+
possible_locations << "~/Library/Keychains/#{keychain_path}.keychain"
|
46
|
+
|
47
|
+
possible_locations.each do |location|
|
48
|
+
expanded_location = File.expand_path(location)
|
49
|
+
if File.exist?(expanded_location)
|
50
|
+
return expanded_location
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
return ""
|
55
|
+
end
|
56
|
+
|
57
|
+
#####################################################
|
58
|
+
# @!group Documentation
|
59
|
+
#####################################################
|
60
|
+
|
61
|
+
def self.description
|
62
|
+
"Unlock a keychain"
|
63
|
+
end
|
64
|
+
|
65
|
+
def self.details
|
66
|
+
"Unlocks the give keychain file and adds it to the keychain search list"
|
67
|
+
end
|
68
|
+
|
69
|
+
def self.available_options
|
70
|
+
[
|
71
|
+
FastlaneCore::ConfigItem.new(key: :path,
|
72
|
+
env_name: "FL_UNLOCK_KEYCHAIN_PATH",
|
73
|
+
description: "Path to the Keychain file",
|
74
|
+
optional: false),
|
75
|
+
FastlaneCore::ConfigItem.new(key: :password,
|
76
|
+
env_name: "FL_UNLOCK_KEYCHAIN_PASSWORD",
|
77
|
+
description: "Keychain password",
|
78
|
+
optional: false),
|
79
|
+
FastlaneCore::ConfigItem.new(key: :add_to_search_list,
|
80
|
+
env_name: "FL_UNLOCK_KEYCHAIN_ADD_TO_SEARCH_LIST",
|
81
|
+
description: "Add to keychain search list",
|
82
|
+
is_string: false,
|
83
|
+
default_value: true)
|
84
|
+
|
85
|
+
]
|
86
|
+
end
|
87
|
+
|
88
|
+
def self.authors
|
89
|
+
["xfreebird"]
|
90
|
+
end
|
91
|
+
|
92
|
+
def self.is_supported?(platform)
|
93
|
+
true
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
@@ -8,8 +8,8 @@ module Fastlane
|
|
8
8
|
platform_lane_info = [] # the part that's responsible for the lane/platform definition
|
9
9
|
args.each do |current|
|
10
10
|
if current.include? ":" # that's a key/value which we want to pass to the lane
|
11
|
-
key, value = current.split(":")
|
12
|
-
raise "Please pass values like this: key:value" unless key.length > 0
|
11
|
+
key, value = current.split(":", 2)
|
12
|
+
raise "Please pass values like this: key:value" unless key.length > 0
|
13
13
|
value = convert_value(value)
|
14
14
|
Helper.log.debug "Using #{key}: #{value}".green
|
15
15
|
lane_parameters[key.to_sym] = value
|
data/lib/fastlane/fast_file.rb
CHANGED
@@ -196,41 +196,35 @@ module Fastlane
|
|
196
196
|
# Checkout the repo
|
197
197
|
repo_name = url.split("/").last
|
198
198
|
|
199
|
-
|
199
|
+
clone_folder = File.join("/tmp", "fl_clones", repo_name)
|
200
200
|
|
201
201
|
branch_option = ""
|
202
202
|
branch_option = "--branch #{branch}" if branch != 'HEAD'
|
203
203
|
|
204
|
-
clone_command = "git clone '#{url}' '#{
|
205
|
-
|
206
|
-
if
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
rescue
|
211
|
-
# Something went wrong, clear the folder and pull again
|
212
|
-
Actions.sh("rm -rf '#{folder}'")
|
213
|
-
Actions.sh(clone_command)
|
214
|
-
end
|
215
|
-
else
|
216
|
-
# When this fails, we have to clone the git repo
|
217
|
-
Helper.log.info "Cloning remote git repo..."
|
218
|
-
Actions.sh(clone_command)
|
204
|
+
clone_command = "git clone '#{url}' '#{clone_folder}' --depth 1 -n #{branch_option}"
|
205
|
+
|
206
|
+
if Dir.exist? clone_folder
|
207
|
+
# We want to re-clone if the folder already exists
|
208
|
+
Helper.log.info "Deleting existing git repo..."
|
209
|
+
Actions.sh("rm -rf '#{clone_folder}'")
|
219
210
|
end
|
220
211
|
|
221
|
-
|
212
|
+
Helper.log.info "Cloning remote git repo..."
|
213
|
+
Actions.sh(clone_command)
|
214
|
+
|
215
|
+
Actions.sh("cd '#{clone_folder}' && git checkout #{branch} '#{path}'")
|
222
216
|
|
223
217
|
# We also want to check out all the local actions of this fastlane setup
|
224
218
|
containing = path.split(File::SEPARATOR)[0..-2]
|
225
219
|
containing = "." if containing.count == 0
|
226
220
|
actions_folder = File.join(containing, "actions")
|
227
221
|
begin
|
228
|
-
Actions.sh("cd '#{
|
222
|
+
Actions.sh("cd '#{clone_folder}' && git checkout #{branch} '#{actions_folder}'")
|
229
223
|
rescue
|
230
224
|
# We don't care about a failure here, as local actions are optional
|
231
225
|
end
|
232
226
|
|
233
|
-
import(File.join(
|
227
|
+
import(File.join(clone_folder, path))
|
234
228
|
end
|
235
229
|
end
|
236
230
|
|
@@ -21,19 +21,24 @@ module Fastlane
|
|
21
21
|
if Helper.test?
|
22
22
|
result << command # only for the tests
|
23
23
|
else
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
24
|
+
begin
|
25
|
+
PTY.spawn(command) do |r, w, pid|
|
26
|
+
begin
|
27
|
+
r.each_line do |line|
|
28
|
+
Helper.log.info ['[SHELL]', line.strip].join(': ')
|
29
|
+
result << line
|
30
|
+
end
|
31
|
+
rescue Errno::EIO
|
32
|
+
end
|
33
|
+
Process.wait(pid)
|
29
34
|
end
|
30
|
-
|
31
|
-
|
35
|
+
exit_status = $?.to_i
|
36
|
+
rescue PTY::ChildExited => e
|
37
|
+
exit_status = e.status.to_i
|
32
38
|
end
|
33
39
|
|
34
40
|
if exit_status != 0
|
35
|
-
|
36
|
-
raise "Exit status of command '#{command}' was #{exit_status} instead of 0. \n#{result}"
|
41
|
+
raise "Exit status of command '#{command}' was #{exit_status} instead of 0.\n#{result}"
|
37
42
|
end
|
38
43
|
end
|
39
44
|
|
data/lib/fastlane/setup.rb
CHANGED
@@ -88,6 +88,7 @@ module Fastlane
|
|
88
88
|
@tools[:snapshot] = File.exist?(File.join(folder, 'Snapfile'))
|
89
89
|
@tools[:xctool] = File.exist?(File.join(File.expand_path('..', folder), '.xctool-args'))
|
90
90
|
@tools[:cocoapods] = File.exist?(File.join(File.expand_path('..', folder), 'Podfile'))
|
91
|
+
@tools[:carthage] = File.exist?(File.join(File.expand_path('..', folder), 'Cartfile'))
|
91
92
|
@tools[:sigh] = false
|
92
93
|
end
|
93
94
|
|
@@ -137,7 +138,8 @@ module Fastlane
|
|
137
138
|
template.gsub!('snapshot', '# snapshot') unless @tools[:snapshot]
|
138
139
|
template.gsub!('sigh', '# sigh') unless @tools[:sigh]
|
139
140
|
template.gsub!('xctool', '# xctool') unless @tools[:xctool]
|
140
|
-
template.gsub!('cocoapods', '
|
141
|
+
template.gsub!('cocoapods', '') unless @tools[:cocoapods]
|
142
|
+
template.gsub!('carthage', '') unless @tools[:carthage]
|
141
143
|
template.gsub!('[[FASTLANE_VERSION]]', Fastlane::VERSION)
|
142
144
|
|
143
145
|
@tools.each do |key, value|
|
data/lib/fastlane/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.25.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Felix Krause
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-09-
|
11
|
+
date: 2015-09-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -212,7 +212,7 @@ dependencies:
|
|
212
212
|
requirements:
|
213
213
|
- - ">="
|
214
214
|
- !ruby/object:Gem::Version
|
215
|
-
version: 0.
|
215
|
+
version: 0.16.1
|
216
216
|
- - "<"
|
217
217
|
- !ruby/object:Gem::Version
|
218
218
|
version: 1.0.0
|
@@ -222,7 +222,7 @@ dependencies:
|
|
222
222
|
requirements:
|
223
223
|
- - ">="
|
224
224
|
- !ruby/object:Gem::Version
|
225
|
-
version: 0.
|
225
|
+
version: 0.16.1
|
226
226
|
- - "<"
|
227
227
|
- !ruby/object:Gem::Version
|
228
228
|
version: 1.0.0
|
@@ -232,7 +232,7 @@ dependencies:
|
|
232
232
|
requirements:
|
233
233
|
- - ">="
|
234
234
|
- !ruby/object:Gem::Version
|
235
|
-
version: 0.
|
235
|
+
version: 0.8.1
|
236
236
|
- - "<"
|
237
237
|
- !ruby/object:Gem::Version
|
238
238
|
version: 1.0.0
|
@@ -242,7 +242,7 @@ dependencies:
|
|
242
242
|
requirements:
|
243
243
|
- - ">="
|
244
244
|
- !ruby/object:Gem::Version
|
245
|
-
version: 0.
|
245
|
+
version: 0.8.1
|
246
246
|
- - "<"
|
247
247
|
- !ruby/object:Gem::Version
|
248
248
|
version: 1.0.0
|
@@ -252,7 +252,7 @@ dependencies:
|
|
252
252
|
requirements:
|
253
253
|
- - ">="
|
254
254
|
- !ruby/object:Gem::Version
|
255
|
-
version: 0.
|
255
|
+
version: 0.6.0
|
256
256
|
- - "<"
|
257
257
|
- !ruby/object:Gem::Version
|
258
258
|
version: 1.0.0
|
@@ -262,7 +262,7 @@ dependencies:
|
|
262
262
|
requirements:
|
263
263
|
- - ">="
|
264
264
|
- !ruby/object:Gem::Version
|
265
|
-
version: 0.
|
265
|
+
version: 0.6.0
|
266
266
|
- - "<"
|
267
267
|
- !ruby/object:Gem::Version
|
268
268
|
version: 1.0.0
|
@@ -292,7 +292,7 @@ dependencies:
|
|
292
292
|
requirements:
|
293
293
|
- - ">="
|
294
294
|
- !ruby/object:Gem::Version
|
295
|
-
version: 0.9.
|
295
|
+
version: 0.9.3
|
296
296
|
- - "<"
|
297
297
|
- !ruby/object:Gem::Version
|
298
298
|
version: 1.0.0
|
@@ -302,7 +302,7 @@ dependencies:
|
|
302
302
|
requirements:
|
303
303
|
- - ">="
|
304
304
|
- !ruby/object:Gem::Version
|
305
|
-
version: 0.9.
|
305
|
+
version: 0.9.3
|
306
306
|
- - "<"
|
307
307
|
- !ruby/object:Gem::Version
|
308
308
|
version: 1.0.0
|
@@ -332,7 +332,7 @@ dependencies:
|
|
332
332
|
requirements:
|
333
333
|
- - ">="
|
334
334
|
- !ruby/object:Gem::Version
|
335
|
-
version: 0.
|
335
|
+
version: 0.8.0
|
336
336
|
- - "<"
|
337
337
|
- !ruby/object:Gem::Version
|
338
338
|
version: 1.0.0
|
@@ -342,7 +342,7 @@ dependencies:
|
|
342
342
|
requirements:
|
343
343
|
- - ">="
|
344
344
|
- !ruby/object:Gem::Version
|
345
|
-
version: 0.
|
345
|
+
version: 0.8.0
|
346
346
|
- - "<"
|
347
347
|
- !ruby/object:Gem::Version
|
348
348
|
version: 1.0.0
|
@@ -352,7 +352,7 @@ dependencies:
|
|
352
352
|
requirements:
|
353
353
|
- - ">="
|
354
354
|
- !ruby/object:Gem::Version
|
355
|
-
version: 0.3.
|
355
|
+
version: 0.3.2
|
356
356
|
- - "<"
|
357
357
|
- !ruby/object:Gem::Version
|
358
358
|
version: 1.0.0
|
@@ -362,7 +362,7 @@ dependencies:
|
|
362
362
|
requirements:
|
363
363
|
- - ">="
|
364
364
|
- !ruby/object:Gem::Version
|
365
|
-
version: 0.3.
|
365
|
+
version: 0.3.2
|
366
366
|
- - "<"
|
367
367
|
- !ruby/object:Gem::Version
|
368
368
|
version: 1.0.0
|
@@ -372,7 +372,7 @@ dependencies:
|
|
372
372
|
requirements:
|
373
373
|
- - ">="
|
374
374
|
- !ruby/object:Gem::Version
|
375
|
-
version: 0.10.
|
375
|
+
version: 0.10.7
|
376
376
|
- - "<"
|
377
377
|
- !ruby/object:Gem::Version
|
378
378
|
version: 1.0.0
|
@@ -382,7 +382,7 @@ dependencies:
|
|
382
382
|
requirements:
|
383
383
|
- - ">="
|
384
384
|
- !ruby/object:Gem::Version
|
385
|
-
version: 0.10.
|
385
|
+
version: 0.10.7
|
386
386
|
- - "<"
|
387
387
|
- !ruby/object:Gem::Version
|
388
388
|
version: 1.0.0
|
@@ -392,7 +392,7 @@ dependencies:
|
|
392
392
|
requirements:
|
393
393
|
- - ">="
|
394
394
|
- !ruby/object:Gem::Version
|
395
|
-
version: 0.6.
|
395
|
+
version: 0.6.2
|
396
396
|
- - "<"
|
397
397
|
- !ruby/object:Gem::Version
|
398
398
|
version: 1.0.0
|
@@ -402,7 +402,7 @@ dependencies:
|
|
402
402
|
requirements:
|
403
403
|
- - ">="
|
404
404
|
- !ruby/object:Gem::Version
|
405
|
-
version: 0.6.
|
405
|
+
version: 0.6.2
|
406
406
|
- - "<"
|
407
407
|
- !ruby/object:Gem::Version
|
408
408
|
version: 1.0.0
|
@@ -412,7 +412,7 @@ dependencies:
|
|
412
412
|
requirements:
|
413
413
|
- - ">="
|
414
414
|
- !ruby/object:Gem::Version
|
415
|
-
version: 0.4.
|
415
|
+
version: 0.4.6
|
416
416
|
- - "<"
|
417
417
|
- !ruby/object:Gem::Version
|
418
418
|
version: 1.0.0
|
@@ -422,7 +422,7 @@ dependencies:
|
|
422
422
|
requirements:
|
423
423
|
- - ">="
|
424
424
|
- !ruby/object:Gem::Version
|
425
|
-
version: 0.4.
|
425
|
+
version: 0.4.6
|
426
426
|
- - "<"
|
427
427
|
- !ruby/object:Gem::Version
|
428
428
|
version: 1.0.0
|
@@ -432,7 +432,7 @@ dependencies:
|
|
432
432
|
requirements:
|
433
433
|
- - ">="
|
434
434
|
- !ruby/object:Gem::Version
|
435
|
-
version: 0.1.
|
435
|
+
version: 0.1.7
|
436
436
|
- - "<"
|
437
437
|
- !ruby/object:Gem::Version
|
438
438
|
version: 1.0.0
|
@@ -442,7 +442,7 @@ dependencies:
|
|
442
442
|
requirements:
|
443
443
|
- - ">="
|
444
444
|
- !ruby/object:Gem::Version
|
445
|
-
version: 0.1.
|
445
|
+
version: 0.1.7
|
446
446
|
- - "<"
|
447
447
|
- !ruby/object:Gem::Version
|
448
448
|
version: 1.0.0
|
@@ -662,6 +662,7 @@ files:
|
|
662
662
|
- lib/fastlane/actions/testflight.rb
|
663
663
|
- lib/fastlane/actions/testmunk.rb
|
664
664
|
- lib/fastlane/actions/typetalk.rb
|
665
|
+
- lib/fastlane/actions/unlock_keychain.rb
|
665
666
|
- lib/fastlane/actions/update_app_group_identifiers.rb
|
666
667
|
- lib/fastlane/actions/update_fastlane.rb
|
667
668
|
- lib/fastlane/actions/update_info_plist.rb
|
@@ -711,7 +712,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
711
712
|
version: '0'
|
712
713
|
requirements: []
|
713
714
|
rubyforge_project:
|
714
|
-
rubygems_version: 2.4.
|
715
|
+
rubygems_version: 2.4.6
|
715
716
|
signing_key:
|
716
717
|
specification_version: 4
|
717
718
|
summary: Connect all iOS deployment tools into one streamlined workflow
|