fastlane 1.6.0 → 1.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -0
- data/lib/fastlane/actions/actions_helper.rb +4 -4
- data/lib/fastlane/actions/appstore.rb +43 -0
- data/lib/fastlane/actions/backup_file.rb +1 -1
- data/lib/fastlane/actions/crashlytics.rb +1 -1
- data/lib/fastlane/actions/create_keychain.rb +72 -0
- data/lib/fastlane/actions/delete_keychain.rb +32 -0
- data/lib/fastlane/actions/hipchat.rb +12 -2
- data/lib/fastlane/actions/import_certificate.rb +44 -0
- data/lib/fastlane/actions/ipa.rb +5 -3
- data/lib/fastlane/actions/lcov.rb +88 -0
- data/lib/fastlane/actions/mailgun.rb +4 -4
- data/lib/fastlane/actions/restore_file.rb +1 -1
- data/lib/fastlane/actions/s3.rb +3 -3
- data/lib/fastlane/actions/testflight.rb +1 -1
- data/lib/fastlane/actions/update_app_group_identifiers.rb +72 -0
- data/lib/fastlane/actions_list.rb +1 -1
- data/lib/fastlane/version.rb +1 -1
- metadata +67 -61
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 521097e544587a1185b8ac7e3d9d3a990e35120f
|
4
|
+
data.tar.gz: 9c467b742ddd690a9ee6d9e803bfbea5c7cb03bf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d9ce43c580294d971c8209c157400d2e6883bcb3aef334b5e7aea46ed3fa7f66b7e47c8cb554f0a4dd956d68173d7093744223d91874f129731ab3d14ea3d2f6
|
7
|
+
data.tar.gz: 4f35fd111ac94e48051922a7da6e6fd4ebe69a6e36a6f46ef3ca6f8aa4359cf963871a30139fdd1863c4d98c9a2b34cb921c85decab80d6be6bbfa80c4db521e
|
data/README.md
CHANGED
@@ -116,6 +116,8 @@ The setup assistant will create all the necessary files for you, using the exist
|
|
116
116
|
|
117
117
|
For more details, please follow the [fastlane guide](https://github.com/KrauseFx/fastlane/blob/master/docs/Guide.md) or [documentation](https://github.com/KrauseFx/fastlane/blob/master/docs).
|
118
118
|
|
119
|
+
There is also a [Japanese fastlane guide](http://qiita.com/gin0606/items/162d756dfda7b84e97d4) available.
|
120
|
+
|
119
121
|
## Available commands
|
120
122
|
|
121
123
|
Usually you'll use fastlane by triggering individual lanes:
|
@@ -68,18 +68,18 @@ module Fastlane
|
|
68
68
|
|
69
69
|
# Execute a shell command
|
70
70
|
# This method will output the string and execute it
|
71
|
-
def self.sh(command)
|
72
|
-
sh_no_action(command)
|
71
|
+
def self.sh(command, log: true)
|
72
|
+
sh_no_action(command, log: log)
|
73
73
|
end
|
74
74
|
|
75
|
-
def self.sh_no_action(command)
|
75
|
+
def self.sh_no_action(command, log: true)
|
76
76
|
# Set the encoding first, the user might have set it wrong
|
77
77
|
previous_encoding = [Encoding.default_external, Encoding.default_internal]
|
78
78
|
Encoding.default_external = Encoding::UTF_8
|
79
79
|
Encoding.default_internal = Encoding::UTF_8
|
80
80
|
|
81
81
|
command = command.join(' ') if command.is_a?(Array) # since it's an array of one element when running from the Fastfile
|
82
|
-
Helper.log.info ['[SHELL COMMAND]', command.yellow].join(': ')
|
82
|
+
Helper.log.info ['[SHELL COMMAND]', command.yellow].join(': ') if log
|
83
83
|
|
84
84
|
result = ''
|
85
85
|
unless Helper.test?
|
@@ -0,0 +1,43 @@
|
|
1
|
+
module Fastlane
|
2
|
+
module Actions
|
3
|
+
module SharedValues
|
4
|
+
end
|
5
|
+
|
6
|
+
class AppstoreAction < Action
|
7
|
+
def self.run(params)
|
8
|
+
values = params.values
|
9
|
+
values[:beta] = false # always false for App Store
|
10
|
+
real_options = FastlaneCore::Configuration.create(Actions::DeliverAction.available_options, values)
|
11
|
+
return real_options if Helper.is_test?
|
12
|
+
|
13
|
+
Actions::DeliverAction.run(real_options)
|
14
|
+
end
|
15
|
+
|
16
|
+
#####################################################
|
17
|
+
# @!group Documentation
|
18
|
+
#####################################################
|
19
|
+
|
20
|
+
def self.description
|
21
|
+
"Upload new metadata to iTunes Connect and optionally a new binary"
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.available_options
|
25
|
+
options = DeliverAction.available_options
|
26
|
+
options.delete_if { |i| i.key == :beta } # we don't want to have beta values here
|
27
|
+
return options
|
28
|
+
end
|
29
|
+
|
30
|
+
def self.output
|
31
|
+
[]
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.author
|
35
|
+
'KrauseFx'
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.is_supported?(platform)
|
39
|
+
Actions::DeliverAction.is_supported?platform
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -51,7 +51,7 @@ module Fastlane
|
|
51
51
|
[
|
52
52
|
FastlaneCore::ConfigItem.new(key: :crashlytics_path,
|
53
53
|
env_name: "CRASHLYTICS_FRAMEWORK_PATH",
|
54
|
-
description: "Path to
|
54
|
+
description: "Path to the submit binary in the Crashlytics bundle",
|
55
55
|
verify_block: Proc.new do |value|
|
56
56
|
raise "No Crashlytics path given or found, pass using `crashlytics_path: 'path'`".red unless File.exists?(value)
|
57
57
|
end),
|
@@ -0,0 +1,72 @@
|
|
1
|
+
require 'shellwords'
|
2
|
+
|
3
|
+
module Fastlane
|
4
|
+
module Actions
|
5
|
+
class CreateKeychainAction < Action
|
6
|
+
def self.run(params)
|
7
|
+
escaped_name = params[:name].shellescape
|
8
|
+
escaped_password = params[:password].shellescape
|
9
|
+
|
10
|
+
commands = []
|
11
|
+
commands << Fastlane::Actions.sh("security create-keychain -p #{escaped_password} #{escaped_name}", log:false)
|
12
|
+
|
13
|
+
commands << Fastlane::Actions.sh("security default-keychain -s #{escaped_name}", log:false) if params[:default_keychain]
|
14
|
+
commands << Fastlane::Actions.sh("security unlock-keychain -p #{escaped_password} #{escaped_name}", log:false) if params[:unlock]
|
15
|
+
|
16
|
+
command = "security set-keychain-settings"
|
17
|
+
command << " -t #{params[:timeout]}" if params[:timeout]
|
18
|
+
command << " -l" if params[:lock_when_sleeps]
|
19
|
+
command << " -u" if params[:lock_after_timeout]
|
20
|
+
command << " ~/Library/Keychains/#{escaped_name}"
|
21
|
+
|
22
|
+
commands << Fastlane::Actions.sh(command, log:false)
|
23
|
+
commands
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.description
|
27
|
+
"Create a new Keychain"
|
28
|
+
end
|
29
|
+
|
30
|
+
def self.available_options
|
31
|
+
[
|
32
|
+
FastlaneCore::ConfigItem.new(key: :name,
|
33
|
+
env_name: "KEYCHAIN_NAME",
|
34
|
+
description: "Keychain name",
|
35
|
+
optional: false),
|
36
|
+
FastlaneCore::ConfigItem.new(key: :password,
|
37
|
+
env_name: "KEYCHAIN_PASSWORD",
|
38
|
+
description: "Password for the keychain",
|
39
|
+
optional: false),
|
40
|
+
FastlaneCore::ConfigItem.new(key: :default_keychain,
|
41
|
+
description: 'Set the default keychain',
|
42
|
+
is_string: false,
|
43
|
+
default_value: false),
|
44
|
+
FastlaneCore::ConfigItem.new(key: :unlock,
|
45
|
+
description: 'Unlock keychain after create',
|
46
|
+
is_string: false,
|
47
|
+
default_value: false),
|
48
|
+
FastlaneCore::ConfigItem.new(key: :timeout,
|
49
|
+
description: 'timeout interval in seconds. Set `false` if you want to specify "no time-out"',
|
50
|
+
is_string: false,
|
51
|
+
default_value: 300),
|
52
|
+
FastlaneCore::ConfigItem.new(key: :lock_when_sleeps,
|
53
|
+
description: 'Lock keychain when the system sleeps',
|
54
|
+
is_string: false,
|
55
|
+
default_value: false),
|
56
|
+
FastlaneCore::ConfigItem.new(key: :lock_after_timeout,
|
57
|
+
description: 'Lock keychain after timeout interval',
|
58
|
+
is_string: false,
|
59
|
+
default_value: false),
|
60
|
+
]
|
61
|
+
end
|
62
|
+
|
63
|
+
def self.authors
|
64
|
+
["gin0606"]
|
65
|
+
end
|
66
|
+
|
67
|
+
def self.is_supported?(platform)
|
68
|
+
true
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'shellwords'
|
2
|
+
|
3
|
+
module Fastlane
|
4
|
+
module Actions
|
5
|
+
class DeleteKeychainAction < Action
|
6
|
+
def self.run(params)
|
7
|
+
Fastlane::Actions.sh "security delete-keychain #{params[:name].shellescape}", log:false
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.description
|
11
|
+
"Delete keychains and remove them from the search list"
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.available_options
|
15
|
+
[
|
16
|
+
FastlaneCore::ConfigItem.new(key: :name,
|
17
|
+
env_name: "KEYCHAIN_NAME",
|
18
|
+
description: "Keychain name",
|
19
|
+
optional: false),
|
20
|
+
]
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.authors
|
24
|
+
["gin0606"]
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.is_supported?(platform)
|
28
|
+
true
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -12,6 +12,8 @@ module Fastlane
|
|
12
12
|
api_version = options[:version]
|
13
13
|
api_host = options[:api_host]
|
14
14
|
|
15
|
+
notify_room = (options[:notify_room] ? '1' : '0')
|
16
|
+
|
15
17
|
channel = options[:channel]
|
16
18
|
color = (options[:success] ? 'green' : 'red')
|
17
19
|
|
@@ -29,7 +31,8 @@ module Fastlane
|
|
29
31
|
'color' => color,
|
30
32
|
'message_format' => 'html',
|
31
33
|
'room_id' => channel,
|
32
|
-
'message' => message
|
34
|
+
'message' => message,
|
35
|
+
'notify' => notify_room })
|
33
36
|
|
34
37
|
check_response_code(response, channel)
|
35
38
|
end
|
@@ -53,7 +56,8 @@ module Fastlane
|
|
53
56
|
'auth_token' => api_token,
|
54
57
|
'color' => color,
|
55
58
|
'message_format' => 'html',
|
56
|
-
'message' => message
|
59
|
+
'message' => message,
|
60
|
+
'notify' => notify_room })
|
57
61
|
|
58
62
|
check_response_code(response, channel)
|
59
63
|
end
|
@@ -114,6 +118,12 @@ module Fastlane
|
|
114
118
|
raise 'No HIPCHAT_API_VERSION given.'.red
|
115
119
|
end
|
116
120
|
end),
|
121
|
+
FastlaneCore::ConfigItem.new(key: :notify_room,
|
122
|
+
env_name: "HIPCHAT_NOTIFY_ROOM",
|
123
|
+
description: "Should the people in the room be notified? (true/false)",
|
124
|
+
default_value: false,
|
125
|
+
optional: true,
|
126
|
+
is_string: false),
|
117
127
|
FastlaneCore::ConfigItem.new(key: :api_host,
|
118
128
|
env_name: "HIPCHAT_API_HOST",
|
119
129
|
description: "The host of the HipChat-Server API",
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'shellwords'
|
2
|
+
|
3
|
+
module Fastlane
|
4
|
+
module Actions
|
5
|
+
class ImportCertificateAction < Action
|
6
|
+
def self.run(params)
|
7
|
+
command = "security import #{params[:certificate_path].shellescape} -k ~/Library/Keychains/#{params[:keychain_name].shellescape}"
|
8
|
+
command << " -P #{params[:certificate_password].shellescape}" if params[:certificate_password]
|
9
|
+
command << " -T /usr/bin/codesign"
|
10
|
+
|
11
|
+
Fastlane::Actions.sh command, log: false
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.description
|
15
|
+
"Import certificate from inputfile into a keychain"
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.available_options
|
19
|
+
[
|
20
|
+
FastlaneCore::ConfigItem.new(key: :keychain_name,
|
21
|
+
env_name: "KEYCHAIN_NAME",
|
22
|
+
description: "Keychain name into which item",
|
23
|
+
optional: false),
|
24
|
+
FastlaneCore::ConfigItem.new(key: :certificate_path,
|
25
|
+
env_name: "",
|
26
|
+
description: "Path to certificate",
|
27
|
+
optional: false),
|
28
|
+
FastlaneCore::ConfigItem.new(key: :certificate_password,
|
29
|
+
env_name: "",
|
30
|
+
description: "Certificate password",
|
31
|
+
optional: true),
|
32
|
+
]
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.authors
|
36
|
+
["gin0606"]
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.is_supported?(platform)
|
40
|
+
true
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
data/lib/fastlane/actions/ipa.rb
CHANGED
@@ -19,6 +19,7 @@ module Fastlane
|
|
19
19
|
ipa: '--ipa',
|
20
20
|
xcconfig: '--xcconfig',
|
21
21
|
xcargs: '--xcargs',
|
22
|
+
silent: '--silent',
|
22
23
|
}
|
23
24
|
|
24
25
|
class IpaAction < Action
|
@@ -27,7 +28,6 @@ module Fastlane
|
|
27
28
|
platform == :ios
|
28
29
|
end
|
29
30
|
|
30
|
-
|
31
31
|
def self.run(params)
|
32
32
|
# The args we will build with
|
33
33
|
build_args = nil
|
@@ -59,7 +59,7 @@ module Fastlane
|
|
59
59
|
# Joins args into space delimited string
|
60
60
|
build_args = build_args.join(' ')
|
61
61
|
|
62
|
-
core_command = "krausefx-ipa build #{build_args}
|
62
|
+
core_command = "krausefx-ipa build #{build_args} | xcpretty"
|
63
63
|
command = "set -o pipefail && #{core_command}"
|
64
64
|
Helper.log.debug command
|
65
65
|
|
@@ -89,7 +89,7 @@ module Fastlane
|
|
89
89
|
].each do |txt|
|
90
90
|
Helper.log.error txt.yellow
|
91
91
|
end
|
92
|
-
|
92
|
+
|
93
93
|
# Raise a custom exception, as the the normal one is useless for the user
|
94
94
|
raise "A build error occured, this is usually related to code signing. Take a look at the error above".red
|
95
95
|
end
|
@@ -109,6 +109,8 @@ module Fastlane
|
|
109
109
|
v == true ? '--clean' : '--no-clean'
|
110
110
|
elsif k == :archive
|
111
111
|
v == true ? '--archive' : '--no-archive'
|
112
|
+
elsif k == :silent
|
113
|
+
v == true ? '' : '--verbose'
|
112
114
|
else
|
113
115
|
value = (v.to_s.length > 0 ? "\"#{v}\"" : '')
|
114
116
|
"#{ARGS_MAP[k]} #{value}".strip
|
@@ -0,0 +1,88 @@
|
|
1
|
+
module Fastlane
|
2
|
+
module Actions
|
3
|
+
class LcovAction < Action
|
4
|
+
|
5
|
+
def self.is_supported?(platform)
|
6
|
+
[:ios, :mac].include? platform
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.run(options)
|
10
|
+
unless Helper.test?
|
11
|
+
raise 'lcov not installed, please install using `brew install lcov`'.red if `which lcov`.length == 0
|
12
|
+
end
|
13
|
+
gen_cov(options)
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.description
|
17
|
+
"Generates coverage data using lcov"
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.available_options
|
21
|
+
[
|
22
|
+
|
23
|
+
FastlaneCore::ConfigItem.new(key: :project_name,
|
24
|
+
env_name: "FL_LCOV_PROJECT_NAME",
|
25
|
+
description: "Name of the project"),
|
26
|
+
|
27
|
+
FastlaneCore::ConfigItem.new(key: :scheme,
|
28
|
+
env_name: "FL_LCOV_SCHEME",
|
29
|
+
description: "Scheme of the project"),
|
30
|
+
|
31
|
+
FastlaneCore::ConfigItem.new(key: :output_dir,
|
32
|
+
env_name: "FL_LCOV_OUTPUT_DIR",
|
33
|
+
description: "The output directory that coverage data will be stored. If not passed will use coverage_reports as default value",
|
34
|
+
optional: true,
|
35
|
+
is_string: true,
|
36
|
+
default_value: "coverage_reports")
|
37
|
+
|
38
|
+
|
39
|
+
]
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.author
|
43
|
+
"thiagolioy"
|
44
|
+
end
|
45
|
+
|
46
|
+
private
|
47
|
+
|
48
|
+
def self.gen_cov(options)
|
49
|
+
tmp_cov_file = "/tmp/coverage.info"
|
50
|
+
output_dir = options[:output_dir]
|
51
|
+
derived_data_path = derived_data_dir(options)
|
52
|
+
|
53
|
+
system("lcov --capture --directory \"#{derived_data_path}\" --output-file #{tmp_cov_file}")
|
54
|
+
system(gen_lcov_cmd(tmp_cov_file))
|
55
|
+
system("genhtml #{tmp_cov_file} --output-directory #{output_dir}")
|
56
|
+
end
|
57
|
+
|
58
|
+
def self.gen_lcov_cmd(cov_file)
|
59
|
+
cmd = "lcov "
|
60
|
+
exclude_dirs.each do |e|
|
61
|
+
cmd << "--remove #{cov_file} \"#{e}\" "
|
62
|
+
end
|
63
|
+
cmd << "--output #{cov_file} "
|
64
|
+
end
|
65
|
+
|
66
|
+
def self.derived_data_dir(options)
|
67
|
+
pn = options[:project_name]
|
68
|
+
sc = options[:scheme]
|
69
|
+
|
70
|
+
initial_path = "#{Dir.home}/Library/Developer/Xcode/DerivedData/"
|
71
|
+
end_path = "/Build/Intermediates/#{pn}.build/Debug-iphonesimulator/#{sc}.build/Objects-normal/i386/"
|
72
|
+
|
73
|
+
match = find_project_dir(pn,initial_path)
|
74
|
+
|
75
|
+
"#{initial_path}#{match}#{end_path}"
|
76
|
+
end
|
77
|
+
|
78
|
+
def self.find_project_dir(project_name,path)
|
79
|
+
`ls -t #{path}| grep #{project_name} | head -1`.to_s.gsub(/\n/, "")
|
80
|
+
end
|
81
|
+
|
82
|
+
def self.exclude_dirs
|
83
|
+
["/Applications/*","/Frameworks/*"]
|
84
|
+
end
|
85
|
+
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
@@ -119,10 +119,10 @@ module Fastlane
|
|
119
119
|
def self.mailgunit(options)
|
120
120
|
sandbox_domain = options[:postmaster].split("@").last
|
121
121
|
RestClient.post "https://api:#{options[:apikey]}@api.mailgun.net/v3/#{sandbox_domain}/messages",
|
122
|
-
:
|
123
|
-
:
|
124
|
-
:
|
125
|
-
:
|
122
|
+
from: "Mailgun Sandbox<#{options[:postmaster]}>",
|
123
|
+
to: "#{options[:to]}",
|
124
|
+
subject: options[:subject],
|
125
|
+
html: mail_teplate(options)
|
126
126
|
mail_teplate(options)
|
127
127
|
end
|
128
128
|
|
@@ -5,7 +5,7 @@ module Fastlane
|
|
5
5
|
path = params[:path]
|
6
6
|
backup_path = "#{path}.back"
|
7
7
|
raise "Could not find file '#{backup_path}'" unless File.exist? backup_path
|
8
|
-
FileUtils.cp(backup_path, path, {:
|
8
|
+
FileUtils.cp(backup_path, path, {preserve: true})
|
9
9
|
FileUtils.rm(backup_path)
|
10
10
|
Helper.log.info "Successfully restored backup 📤"
|
11
11
|
end
|
data/lib/fastlane/actions/s3.rb
CHANGED
@@ -187,9 +187,9 @@ module Fastlane
|
|
187
187
|
)
|
188
188
|
bucket = s3_client.buckets[s3_bucket]
|
189
189
|
|
190
|
-
plist_obj = bucket.objects.create(plist_file_name, plist_render.to_s, :
|
191
|
-
html_obj = bucket.objects.create(html_file_name, html_render.to_s, :
|
192
|
-
version_obj = bucket.objects.create(version_file_name, version_render.to_s, :
|
190
|
+
plist_obj = bucket.objects.create(plist_file_name, plist_render.to_s, acl: :public_read)
|
191
|
+
html_obj = bucket.objects.create(html_file_name, html_render.to_s, acl: :public_read)
|
192
|
+
version_obj = bucket.objects.create(version_file_name, version_render.to_s, acl: :public_read)
|
193
193
|
|
194
194
|
# Setting actionand environment variables
|
195
195
|
Actions.lane_context[SharedValues::S3_PLIST_OUTPUT_PATH] = plist_obj.public_url.to_s
|
@@ -0,0 +1,72 @@
|
|
1
|
+
module Fastlane
|
2
|
+
module Actions
|
3
|
+
module SharedValues
|
4
|
+
APP_GROUP_IDENTIFIERS = :APP_GROUP_IDENTIFIERS
|
5
|
+
end
|
6
|
+
|
7
|
+
class UpdateAppGroupIdentifiersAction < Action
|
8
|
+
require 'plist'
|
9
|
+
|
10
|
+
def self.run(params)
|
11
|
+
Helper.log.info "Entitlements File: #{params[:entitlements_file]}"
|
12
|
+
Helper.log.info "New App Group Identifiers: #{params[:app_group_identifiers]}"
|
13
|
+
|
14
|
+
entitlements_file = params[:entitlements_file]
|
15
|
+
raise "Could not find entitlements file at path '#{entitlements_file}'".red unless File.exists?(entitlements_file)
|
16
|
+
|
17
|
+
# parse entitlements
|
18
|
+
result = Plist::parse_xml(entitlements_file)
|
19
|
+
raise "Entitlements file at '#{entitlements_file}' cannot be parsed.".red unless result
|
20
|
+
|
21
|
+
# get app group field
|
22
|
+
app_group_field = result['com.apple.security.application-groups']
|
23
|
+
raise 'No existing App group field specified. Please specify an App Group in the entitlements file.'.red unless app_group_field
|
24
|
+
|
25
|
+
# set new app group identifiers
|
26
|
+
Helper.log.info "Old App Group Identifiers: #{app_group_field}"
|
27
|
+
result['com.apple.security.application-groups'] = params[:app_group_identifiers]
|
28
|
+
|
29
|
+
# save entitlements file
|
30
|
+
result.save_plist(entitlements_file)
|
31
|
+
Helper.log.info "New App Group Identifiers set: #{result['com.apple.security.application-groups']}"
|
32
|
+
|
33
|
+
Actions.lane_context[SharedValues::APP_GROUP_IDENTIFIERS] = result['com.apple.security.application-groups']
|
34
|
+
end
|
35
|
+
|
36
|
+
def self.description
|
37
|
+
"This action changes the app group identifiers in the entitlements file"
|
38
|
+
end
|
39
|
+
|
40
|
+
def self.available_options
|
41
|
+
[
|
42
|
+
FastlaneCore::ConfigItem.new(key: :entitlements_file,
|
43
|
+
env_name: "FL_UPDATE_APP_GROUP_IDENTIFIER_ENTITLEMENTS_FILE_PATH", # The name of the environment variable
|
44
|
+
description: "The path to the entitlement file which contains the app group identifiers", # a short description of this parameter
|
45
|
+
verify_block: Proc.new do |value|
|
46
|
+
raise "Please pass a path to an entitlements file. ".red unless value.include? ".entitlements"
|
47
|
+
raise "Could not find entitlements file".red if (not File.exists?(value) and not Helper.is_test?)
|
48
|
+
end),
|
49
|
+
FastlaneCore::ConfigItem.new(key: :app_group_identifiers,
|
50
|
+
env_name: "FL_UPDATE_APP_GROUP_IDENTIFIER_APP_GROUP_IDENTIFIERS",
|
51
|
+
description: "An Array of unique identifiers for the app groups. Eg. ['group.com.test.testapp']",
|
52
|
+
is_string: false,
|
53
|
+
verify_block: Proc.new do |value|
|
54
|
+
raise "The parameter app_group_identifiers need to be an Array.".red unless value.is_a? Array
|
55
|
+
end)
|
56
|
+
]
|
57
|
+
end
|
58
|
+
|
59
|
+
def self.output
|
60
|
+
['APP_GROUP_IDENTIFIERS', 'The new App Group Identifiers']
|
61
|
+
end
|
62
|
+
|
63
|
+
def self.authors
|
64
|
+
["mathiasAichinger"]
|
65
|
+
end
|
66
|
+
|
67
|
+
def self.is_supported?(platform)
|
68
|
+
platform == :ios
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
data/lib/fastlane/version.rb
CHANGED
metadata
CHANGED
@@ -1,27 +1,27 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.7.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-
|
11
|
+
date: 2015-07-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.6'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.6'
|
27
27
|
- !ruby/object:Gem::Dependency
|
@@ -30,362 +30,362 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - '='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.14.
|
33
|
+
version: 0.14.4
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - '='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.14.
|
40
|
+
version: 0.14.4
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: slack-notifier
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '1.0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '1.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: aws-sdk
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '1.0'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '1.0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: xcodeproj
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - ~>
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0.20'
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - ~>
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0.20'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: xcpretty
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - ~>
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '0.1'
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - ~>
|
94
|
+
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0.1'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: cupertino
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- -
|
101
|
+
- - ">="
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: 1.3.3
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- -
|
108
|
+
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: 1.3.3
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: terminal-notifier
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- - ~>
|
115
|
+
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
117
|
version: 1.6.2
|
118
118
|
type: :runtime
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- - ~>
|
122
|
+
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: 1.6.2
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: terminal-table
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- - ~>
|
129
|
+
- - "~>"
|
130
130
|
- !ruby/object:Gem::Version
|
131
131
|
version: 1.4.5
|
132
132
|
type: :runtime
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
|
-
- - ~>
|
136
|
+
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: 1.4.5
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
name: pbxplorer
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
|
-
- - ~>
|
143
|
+
- - "~>"
|
144
144
|
- !ruby/object:Gem::Version
|
145
145
|
version: 1.0.0
|
146
146
|
type: :runtime
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
|
-
- - ~>
|
150
|
+
- - "~>"
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: 1.0.0
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
154
|
name: rest-client
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
156
156
|
requirements:
|
157
|
-
- - ~>
|
157
|
+
- - "~>"
|
158
158
|
- !ruby/object:Gem::Version
|
159
159
|
version: 1.8.0
|
160
160
|
type: :runtime
|
161
161
|
prerelease: false
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
|
-
- - ~>
|
164
|
+
- - "~>"
|
165
165
|
- !ruby/object:Gem::Version
|
166
166
|
version: 1.8.0
|
167
167
|
- !ruby/object:Gem::Dependency
|
168
168
|
name: fastlane_core
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|
170
170
|
requirements:
|
171
|
-
- -
|
171
|
+
- - ">="
|
172
172
|
- !ruby/object:Gem::Version
|
173
173
|
version: 0.8.0
|
174
174
|
type: :runtime
|
175
175
|
prerelease: false
|
176
176
|
version_requirements: !ruby/object:Gem::Requirement
|
177
177
|
requirements:
|
178
|
-
- -
|
178
|
+
- - ">="
|
179
179
|
- !ruby/object:Gem::Version
|
180
180
|
version: 0.8.0
|
181
181
|
- !ruby/object:Gem::Dependency
|
182
182
|
name: deliver
|
183
183
|
requirement: !ruby/object:Gem::Requirement
|
184
184
|
requirements:
|
185
|
-
- -
|
185
|
+
- - ">="
|
186
186
|
- !ruby/object:Gem::Version
|
187
187
|
version: 0.12.1
|
188
188
|
type: :runtime
|
189
189
|
prerelease: false
|
190
190
|
version_requirements: !ruby/object:Gem::Requirement
|
191
191
|
requirements:
|
192
|
-
- -
|
192
|
+
- - ">="
|
193
193
|
- !ruby/object:Gem::Version
|
194
194
|
version: 0.12.1
|
195
195
|
- !ruby/object:Gem::Dependency
|
196
196
|
name: snapshot
|
197
197
|
requirement: !ruby/object:Gem::Requirement
|
198
198
|
requirements:
|
199
|
-
- -
|
199
|
+
- - ">="
|
200
200
|
- !ruby/object:Gem::Version
|
201
201
|
version: 0.9.0
|
202
202
|
type: :runtime
|
203
203
|
prerelease: false
|
204
204
|
version_requirements: !ruby/object:Gem::Requirement
|
205
205
|
requirements:
|
206
|
-
- -
|
206
|
+
- - ">="
|
207
207
|
- !ruby/object:Gem::Version
|
208
208
|
version: 0.9.0
|
209
209
|
- !ruby/object:Gem::Dependency
|
210
210
|
name: frameit
|
211
211
|
requirement: !ruby/object:Gem::Requirement
|
212
212
|
requirements:
|
213
|
-
- -
|
213
|
+
- - ">="
|
214
214
|
- !ruby/object:Gem::Version
|
215
215
|
version: 2.0.1
|
216
216
|
type: :runtime
|
217
217
|
prerelease: false
|
218
218
|
version_requirements: !ruby/object:Gem::Requirement
|
219
219
|
requirements:
|
220
|
-
- -
|
220
|
+
- - ">="
|
221
221
|
- !ruby/object:Gem::Version
|
222
222
|
version: 2.0.1
|
223
223
|
- !ruby/object:Gem::Dependency
|
224
224
|
name: pem
|
225
225
|
requirement: !ruby/object:Gem::Requirement
|
226
226
|
requirements:
|
227
|
-
- -
|
227
|
+
- - ">="
|
228
228
|
- !ruby/object:Gem::Version
|
229
229
|
version: 0.6.3
|
230
230
|
type: :runtime
|
231
231
|
prerelease: false
|
232
232
|
version_requirements: !ruby/object:Gem::Requirement
|
233
233
|
requirements:
|
234
|
-
- -
|
234
|
+
- - ">="
|
235
235
|
- !ruby/object:Gem::Version
|
236
236
|
version: 0.6.3
|
237
237
|
- !ruby/object:Gem::Dependency
|
238
238
|
name: cert
|
239
239
|
requirement: !ruby/object:Gem::Requirement
|
240
240
|
requirements:
|
241
|
-
- -
|
241
|
+
- - ">="
|
242
242
|
- !ruby/object:Gem::Version
|
243
243
|
version: 0.2.1
|
244
244
|
type: :runtime
|
245
245
|
prerelease: false
|
246
246
|
version_requirements: !ruby/object:Gem::Requirement
|
247
247
|
requirements:
|
248
|
-
- -
|
248
|
+
- - ">="
|
249
249
|
- !ruby/object:Gem::Version
|
250
250
|
version: 0.2.1
|
251
251
|
- !ruby/object:Gem::Dependency
|
252
252
|
name: sigh
|
253
253
|
requirement: !ruby/object:Gem::Requirement
|
254
254
|
requirements:
|
255
|
-
- -
|
255
|
+
- - ">="
|
256
256
|
- !ruby/object:Gem::Version
|
257
257
|
version: 0.9.0
|
258
258
|
type: :runtime
|
259
259
|
prerelease: false
|
260
260
|
version_requirements: !ruby/object:Gem::Requirement
|
261
261
|
requirements:
|
262
|
-
- -
|
262
|
+
- - ">="
|
263
263
|
- !ruby/object:Gem::Version
|
264
264
|
version: 0.9.0
|
265
265
|
- !ruby/object:Gem::Dependency
|
266
266
|
name: produce
|
267
267
|
requirement: !ruby/object:Gem::Requirement
|
268
268
|
requirements:
|
269
|
-
- -
|
269
|
+
- - ">="
|
270
270
|
- !ruby/object:Gem::Version
|
271
|
-
version: 0.3.
|
271
|
+
version: 0.3.5
|
272
272
|
type: :runtime
|
273
273
|
prerelease: false
|
274
274
|
version_requirements: !ruby/object:Gem::Requirement
|
275
275
|
requirements:
|
276
|
-
- -
|
276
|
+
- - ">="
|
277
277
|
- !ruby/object:Gem::Version
|
278
|
-
version: 0.3.
|
278
|
+
version: 0.3.5
|
279
279
|
- !ruby/object:Gem::Dependency
|
280
280
|
name: bundler
|
281
281
|
requirement: !ruby/object:Gem::Requirement
|
282
282
|
requirements:
|
283
|
-
- -
|
283
|
+
- - ">="
|
284
284
|
- !ruby/object:Gem::Version
|
285
285
|
version: '0'
|
286
286
|
type: :development
|
287
287
|
prerelease: false
|
288
288
|
version_requirements: !ruby/object:Gem::Requirement
|
289
289
|
requirements:
|
290
|
-
- -
|
290
|
+
- - ">="
|
291
291
|
- !ruby/object:Gem::Version
|
292
292
|
version: '0'
|
293
293
|
- !ruby/object:Gem::Dependency
|
294
294
|
name: rake
|
295
295
|
requirement: !ruby/object:Gem::Requirement
|
296
296
|
requirements:
|
297
|
-
- -
|
297
|
+
- - ">="
|
298
298
|
- !ruby/object:Gem::Version
|
299
299
|
version: '0'
|
300
300
|
type: :development
|
301
301
|
prerelease: false
|
302
302
|
version_requirements: !ruby/object:Gem::Requirement
|
303
303
|
requirements:
|
304
|
-
- -
|
304
|
+
- - ">="
|
305
305
|
- !ruby/object:Gem::Version
|
306
306
|
version: '0'
|
307
307
|
- !ruby/object:Gem::Dependency
|
308
308
|
name: rspec
|
309
309
|
requirement: !ruby/object:Gem::Requirement
|
310
310
|
requirements:
|
311
|
-
- - ~>
|
311
|
+
- - "~>"
|
312
312
|
- !ruby/object:Gem::Version
|
313
313
|
version: 3.1.0
|
314
314
|
type: :development
|
315
315
|
prerelease: false
|
316
316
|
version_requirements: !ruby/object:Gem::Requirement
|
317
317
|
requirements:
|
318
|
-
- - ~>
|
318
|
+
- - "~>"
|
319
319
|
- !ruby/object:Gem::Version
|
320
320
|
version: 3.1.0
|
321
321
|
- !ruby/object:Gem::Dependency
|
322
322
|
name: pry
|
323
323
|
requirement: !ruby/object:Gem::Requirement
|
324
324
|
requirements:
|
325
|
-
- -
|
325
|
+
- - ">="
|
326
326
|
- !ruby/object:Gem::Version
|
327
327
|
version: '0'
|
328
328
|
type: :development
|
329
329
|
prerelease: false
|
330
330
|
version_requirements: !ruby/object:Gem::Requirement
|
331
331
|
requirements:
|
332
|
-
- -
|
332
|
+
- - ">="
|
333
333
|
- !ruby/object:Gem::Version
|
334
334
|
version: '0'
|
335
335
|
- !ruby/object:Gem::Dependency
|
336
336
|
name: yard
|
337
337
|
requirement: !ruby/object:Gem::Requirement
|
338
338
|
requirements:
|
339
|
-
- - ~>
|
339
|
+
- - "~>"
|
340
340
|
- !ruby/object:Gem::Version
|
341
341
|
version: 0.8.7.4
|
342
342
|
type: :development
|
343
343
|
prerelease: false
|
344
344
|
version_requirements: !ruby/object:Gem::Requirement
|
345
345
|
requirements:
|
346
|
-
- - ~>
|
346
|
+
- - "~>"
|
347
347
|
- !ruby/object:Gem::Version
|
348
348
|
version: 0.8.7.4
|
349
349
|
- !ruby/object:Gem::Dependency
|
350
350
|
name: webmock
|
351
351
|
requirement: !ruby/object:Gem::Requirement
|
352
352
|
requirements:
|
353
|
-
- - ~>
|
353
|
+
- - "~>"
|
354
354
|
- !ruby/object:Gem::Version
|
355
355
|
version: 1.19.0
|
356
356
|
type: :development
|
357
357
|
prerelease: false
|
358
358
|
version_requirements: !ruby/object:Gem::Requirement
|
359
359
|
requirements:
|
360
|
-
- - ~>
|
360
|
+
- - "~>"
|
361
361
|
- !ruby/object:Gem::Version
|
362
362
|
version: 1.19.0
|
363
363
|
- !ruby/object:Gem::Dependency
|
364
364
|
name: coveralls
|
365
365
|
requirement: !ruby/object:Gem::Requirement
|
366
366
|
requirements:
|
367
|
-
- -
|
367
|
+
- - ">="
|
368
368
|
- !ruby/object:Gem::Version
|
369
369
|
version: '0'
|
370
370
|
type: :development
|
371
371
|
prerelease: false
|
372
372
|
version_requirements: !ruby/object:Gem::Requirement
|
373
373
|
requirements:
|
374
|
-
- -
|
374
|
+
- - ">="
|
375
375
|
- !ruby/object:Gem::Version
|
376
376
|
version: '0'
|
377
377
|
- !ruby/object:Gem::Dependency
|
378
378
|
name: rubocop
|
379
379
|
requirement: !ruby/object:Gem::Requirement
|
380
380
|
requirements:
|
381
|
-
- - ~>
|
381
|
+
- - "~>"
|
382
382
|
- !ruby/object:Gem::Version
|
383
383
|
version: '0.29'
|
384
384
|
type: :development
|
385
385
|
prerelease: false
|
386
386
|
version_requirements: !ruby/object:Gem::Requirement
|
387
387
|
requirements:
|
388
|
-
- - ~>
|
388
|
+
- - "~>"
|
389
389
|
- !ruby/object:Gem::Version
|
390
390
|
version: '0.29'
|
391
391
|
description: Connect all iOS deployment tools into one streamlined workflow
|
@@ -412,13 +412,16 @@ files:
|
|
412
412
|
- lib/fastlane/actions/README.md
|
413
413
|
- lib/fastlane/actions/actions_helper.rb
|
414
414
|
- lib/fastlane/actions/add_git_tag.rb
|
415
|
+
- lib/fastlane/actions/appstore.rb
|
415
416
|
- lib/fastlane/actions/backup_file.rb
|
416
417
|
- lib/fastlane/actions/cert.rb
|
417
418
|
- lib/fastlane/actions/chatwork.rb
|
418
419
|
- lib/fastlane/actions/clean_build_artifacts.rb
|
419
420
|
- lib/fastlane/actions/commit_version_bump.rb
|
420
421
|
- lib/fastlane/actions/crashlytics.rb
|
422
|
+
- lib/fastlane/actions/create_keychain.rb
|
421
423
|
- lib/fastlane/actions/default_platform.rb
|
424
|
+
- lib/fastlane/actions/delete_keychain.rb
|
422
425
|
- lib/fastlane/actions/deliver.rb
|
423
426
|
- lib/fastlane/actions/deploygate.rb
|
424
427
|
- lib/fastlane/actions/dsym_zip.rb
|
@@ -433,11 +436,13 @@ files:
|
|
433
436
|
- lib/fastlane/actions/hg_push.rb
|
434
437
|
- lib/fastlane/actions/hipchat.rb
|
435
438
|
- lib/fastlane/actions/hockey.rb
|
439
|
+
- lib/fastlane/actions/import_certificate.rb
|
436
440
|
- lib/fastlane/actions/increment_build_number.rb
|
437
441
|
- lib/fastlane/actions/increment_version_number.rb
|
438
442
|
- lib/fastlane/actions/install_carthage.rb
|
439
443
|
- lib/fastlane/actions/install_cocapods.rb
|
440
444
|
- lib/fastlane/actions/ipa.rb
|
445
|
+
- lib/fastlane/actions/lcov.rb
|
441
446
|
- lib/fastlane/actions/mailgun.rb
|
442
447
|
- lib/fastlane/actions/notify.rb
|
443
448
|
- lib/fastlane/actions/oclint.rb
|
@@ -460,6 +465,7 @@ files:
|
|
460
465
|
- lib/fastlane/actions/testflight.rb
|
461
466
|
- lib/fastlane/actions/testmunk.rb
|
462
467
|
- lib/fastlane/actions/typetalk.rb
|
468
|
+
- lib/fastlane/actions/update_app_group_identifiers.rb
|
463
469
|
- lib/fastlane/actions/update_fastlane.rb
|
464
470
|
- lib/fastlane/actions/update_info_plist.rb
|
465
471
|
- lib/fastlane/actions/update_project_code_signing.rb
|
@@ -493,17 +499,17 @@ require_paths:
|
|
493
499
|
- lib
|
494
500
|
required_ruby_version: !ruby/object:Gem::Requirement
|
495
501
|
requirements:
|
496
|
-
- -
|
502
|
+
- - ">="
|
497
503
|
- !ruby/object:Gem::Version
|
498
504
|
version: 2.0.0
|
499
505
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
500
506
|
requirements:
|
501
|
-
- -
|
507
|
+
- - ">="
|
502
508
|
- !ruby/object:Gem::Version
|
503
509
|
version: '0'
|
504
510
|
requirements: []
|
505
511
|
rubyforge_project:
|
506
|
-
rubygems_version: 2.4.
|
512
|
+
rubygems_version: 2.4.6
|
507
513
|
signing_key:
|
508
514
|
specification_version: 4
|
509
515
|
summary: Connect all iOS deployment tools into one streamlined workflow
|