fastlane 2.60.0.beta.20171002010004 → 2.60.0.beta.20171003010003
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/assets/DefaultFastfileTemplate +1 -1
- data/fastlane/lib/assets/FastfileTemplateAndroid +1 -1
- data/fastlane/lib/fastlane/lane.rb +1 -1
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane_core/lib/fastlane_core/android_package_name_guesser.rb +74 -0
- data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +2 -2
- data/fastlane_core/lib/fastlane_core/configuration/configuration_file.rb +2 -2
- data/fastlane_core/lib/fastlane_core/ios_app_identifier_guesser.rb +66 -0
- data/fastlane_core/lib/fastlane_core/update_checker/update_checker.rb +4 -31
- data/match/lib/match/git_helper.rb +31 -12
- data/match/lib/match/runner.rb +8 -6
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 790b0387d44023f9553c452fb1882209294de7bc
|
4
|
+
data.tar.gz: 68cda47f53a256bd990be4bc2331e889075ef759
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: feb072975461efd0c496e94315bcbbe6f4d393c7c039b1f991aee7dc0dfb2dd600f149983ee4c920b9614bc299001eba578f54882c87ce7b3ddd93f2b25867ba
|
7
|
+
data.tar.gz: 66b232a7b6622ddc05bf3f2145a49fa6f332766eb93a47712b0ded475596b5101bd30db73bfd1b5d676b8bdccc8dc9e9dfc1d83303b84c3534f20791bf5688b3
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# Customise this file, documentation can be found here:
|
2
|
-
# https://
|
2
|
+
# https://docs.fastlane.tools/actions/
|
3
3
|
# All available actions: https://docs.fastlane.tools/actions
|
4
4
|
# can also be listed using the `fastlane actions` command
|
5
5
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# Customise this file, documentation can be found here:
|
2
|
-
# https://
|
2
|
+
# https://docs.fastlane.tools/actions/
|
3
3
|
# All available actions: https://docs.fastlane.tools/actions
|
4
4
|
# can also be listed using the `fastlane actions` command
|
5
5
|
|
@@ -85,7 +85,7 @@ module Fastlane
|
|
85
85
|
def ensure_name_not_conflicts(name)
|
86
86
|
# First, check if there is a predefined method in the actions folder
|
87
87
|
return unless Actions.action_class_ref(name)
|
88
|
-
UI.
|
88
|
+
UI.important("Name of the lane '#{name}' is already taken by the action named '#{name}'")
|
89
89
|
end
|
90
90
|
end
|
91
91
|
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
module FastlaneCore
|
2
|
+
class AndroidPackageNameGuesser
|
3
|
+
class << self
|
4
|
+
def android_package_name_arg?(gem_name, arg)
|
5
|
+
return arg == "--package_name" ||
|
6
|
+
arg == "--app_package_name" ||
|
7
|
+
(arg == '-p' && gem_name == 'supply') ||
|
8
|
+
(arg == '-a' && gem_name == 'screengrab')
|
9
|
+
end
|
10
|
+
|
11
|
+
def guess_package_name_from_args(gem_name, args)
|
12
|
+
# args example: ["-a", "com.krausefx.app"]
|
13
|
+
package_name = nil
|
14
|
+
args.each_with_index do |current, index|
|
15
|
+
next unless android_package_name_arg?(gem_name, current)
|
16
|
+
# argument names are followed by argument values in the args array;
|
17
|
+
# use [index + 1] to find the package name (range check the array
|
18
|
+
# to avoid array bounds errors)
|
19
|
+
package_name = args[index + 1] if args.count > index
|
20
|
+
break
|
21
|
+
end
|
22
|
+
package_name
|
23
|
+
end
|
24
|
+
|
25
|
+
def guess_package_name_from_environment
|
26
|
+
package_name = nil
|
27
|
+
package_name ||= ENV["SUPPLY_PACKAGE_NAME"] if FastlaneCore::Env.truthy?("SUPPLY_PACKAGE_NAME")
|
28
|
+
package_name ||= ENV["SCREENGRAB_APP_PACKAGE_NAME"] if FastlaneCore::Env.truthy?("SCREENGRAB_APP_PACKAGE_NAME")
|
29
|
+
package_name
|
30
|
+
end
|
31
|
+
|
32
|
+
def guess_package_name_from_appfile
|
33
|
+
CredentialsManager::AppfileConfig.try_fetch_value(:package_name)
|
34
|
+
end
|
35
|
+
|
36
|
+
def fetch_package_name_from_file(file_name, package_name_key)
|
37
|
+
# we only care about the package name item in the configuration file, so
|
38
|
+
# build an options array & Configuration with just that one key and it will
|
39
|
+
# be fetched if it is present in the config file
|
40
|
+
genericfile_options = [FastlaneCore::ConfigItem.new(key: package_name_key)]
|
41
|
+
options = FastlaneCore::Configuration.create(genericfile_options, {})
|
42
|
+
# pass the empty proc to disable options validation, otherwise this will fail
|
43
|
+
# when the other (non-package name) keys are encountered in the config file;
|
44
|
+
# 3rd parameter "true" disables the printout of the contents of the
|
45
|
+
# configuration file, which is noisy and confusing in this case
|
46
|
+
options.load_configuration_file(file_name, proc {}, true)
|
47
|
+
return options.fetch(package_name_key, ask: false)
|
48
|
+
rescue
|
49
|
+
# any option/file error here should just be treated as identifier not found
|
50
|
+
nil
|
51
|
+
end
|
52
|
+
|
53
|
+
def guess_package_name_from_config_files
|
54
|
+
package_name = nil
|
55
|
+
package_name ||= fetch_package_name_from_file("Supplyfile", :package_name)
|
56
|
+
package_name ||= fetch_package_name_from_file("Screengrabfile", :app_package_name)
|
57
|
+
package_name
|
58
|
+
end
|
59
|
+
|
60
|
+
# make a best-guess for the package_name for this project, using most-reliable signals
|
61
|
+
# first and then using less accurate ones afterwards; because this method only returns
|
62
|
+
# a GUESS for the package_name, it is only useful for metrics or other places where
|
63
|
+
# absolute accuracy is not required
|
64
|
+
def guess_package_name(gem_name, args)
|
65
|
+
package_name = nil
|
66
|
+
package_name ||= guess_package_name_from_args(gem_name, args)
|
67
|
+
package_name ||= guess_package_name_from_environment
|
68
|
+
package_name ||= guess_package_name_from_appfile
|
69
|
+
package_name ||= guess_package_name_from_config_files
|
70
|
+
package_name
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
@@ -158,7 +158,7 @@ module FastlaneCore
|
|
158
158
|
# @param config_file_name [String] The name of the configuration file to use (optional)
|
159
159
|
# @param block_for_missing [Block] A ruby block that is called when there is an unknown method
|
160
160
|
# in the configuration file
|
161
|
-
def load_configuration_file(config_file_name = nil, block_for_missing = nil)
|
161
|
+
def load_configuration_file(config_file_name = nil, block_for_missing = nil, skip_printing_values = false)
|
162
162
|
return unless config_file_name
|
163
163
|
|
164
164
|
self.config_file_name = config_file_name
|
@@ -171,7 +171,7 @@ module FastlaneCore
|
|
171
171
|
return if paths.count == 0
|
172
172
|
|
173
173
|
path = paths.first
|
174
|
-
configuration_file = ConfigurationFile.new(self, path, block_for_missing)
|
174
|
+
configuration_file = ConfigurationFile.new(self, path, block_for_missing, skip_printing_values)
|
175
175
|
verify_conflicts # important, since user can set conflicting options in configuration file
|
176
176
|
configuration_file
|
177
177
|
end
|
@@ -9,7 +9,7 @@ module FastlaneCore
|
|
9
9
|
|
10
10
|
# @param config [FastlaneCore::Configuration] is stored to save the resulting values
|
11
11
|
# @param path [String] The path to the configuration file to use
|
12
|
-
def initialize(config, path, block_for_missing)
|
12
|
+
def initialize(config, path, block_for_missing, skip_printing_values = false)
|
13
13
|
self.config = config
|
14
14
|
self.configfile_path = path
|
15
15
|
|
@@ -29,7 +29,7 @@ module FastlaneCore
|
|
29
29
|
eval(content) # this is okay in this case
|
30
30
|
# rubocop:enable Security/Eval
|
31
31
|
|
32
|
-
print_resulting_config_values # only on success
|
32
|
+
print_resulting_config_values unless skip_printing_values # only on success
|
33
33
|
rescue SyntaxError => ex
|
34
34
|
line = ex.to_s.match(/\(eval\):(\d+)/)[1]
|
35
35
|
UI.user_error!("Syntax error in your configuration file '#{path}' on line #{line}: #{ex}")
|
@@ -0,0 +1,66 @@
|
|
1
|
+
module FastlaneCore
|
2
|
+
class IOSAppIdentifierGuesser
|
3
|
+
class << self
|
4
|
+
def guess_app_identifier_from_args(args)
|
5
|
+
# args example: ["-a", "com.krausefx.app", "--team_id", "5AA97AAHK2"]
|
6
|
+
args.each_with_index do |current, index|
|
7
|
+
next unless current == "-a" || current == "--app_identifier"
|
8
|
+
# argument names are followed by argument values in the args array;
|
9
|
+
# use [index + 1] to find the package name (range check the array
|
10
|
+
# to avoid array bounds errors)
|
11
|
+
return args[index + 1] if args.count > index
|
12
|
+
end
|
13
|
+
nil
|
14
|
+
end
|
15
|
+
|
16
|
+
def guess_app_identifier_from_environment
|
17
|
+
["FASTLANE", "DELIVER", "PILOT", "PRODUCE", "PEM", "SIGH", "SNAPSHOT", "MATCH"].each do |current|
|
18
|
+
return ENV["#{current}_APP_IDENTIFIER"] if FastlaneCore::Env.truthy?("#{current}_APP_IDENTIFIER")
|
19
|
+
end
|
20
|
+
nil
|
21
|
+
end
|
22
|
+
|
23
|
+
def guess_app_identifier_from_appfile
|
24
|
+
CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier)
|
25
|
+
end
|
26
|
+
|
27
|
+
def fetch_app_identifier_from_file(file_name)
|
28
|
+
# we only care about the app_identifier item in the configuration file, so
|
29
|
+
# build an options array & Configuration with just that one key and it will
|
30
|
+
# be fetched if it is present in the config file
|
31
|
+
genericfile_options = [FastlaneCore::ConfigItem.new(key: :app_identifier)]
|
32
|
+
options = FastlaneCore::Configuration.create(genericfile_options, {})
|
33
|
+
# pass the empty proc to disable options validation, otherwise this will fail
|
34
|
+
# when the other (non-app_identifier) keys are encountered in the config file;
|
35
|
+
# 3rd parameter "true" disables the printout of the contents of the
|
36
|
+
# configuration file, which is noisy and confusing in this case
|
37
|
+
options.load_configuration_file(file_name, proc {}, true)
|
38
|
+
return options.fetch(:app_identifier, ask: false)
|
39
|
+
rescue
|
40
|
+
# any option/file error here should just be treated as identifier not found
|
41
|
+
nil
|
42
|
+
end
|
43
|
+
|
44
|
+
def guess_app_identifier_from_config_files
|
45
|
+
["Deliverfile", "Gymfile", "Snapfile", "Matchfile"].each do |current|
|
46
|
+
app_identifier = self.fetch_app_identifier_from_file(current)
|
47
|
+
return app_identifier if app_identifier
|
48
|
+
end
|
49
|
+
nil
|
50
|
+
end
|
51
|
+
|
52
|
+
# make a best-guess for the app_identifier for this project, using most-reliable signals
|
53
|
+
# first and then using less accurate ones afterwards; because this method only returns
|
54
|
+
# a GUESS for the app_identifier, it is only useful for metrics or other places where
|
55
|
+
# absolute accuracy is not required
|
56
|
+
def guess_app_identifier(args)
|
57
|
+
app_identifier = nil
|
58
|
+
app_identifier ||= guess_app_identifier_from_args(args)
|
59
|
+
app_identifier ||= guess_app_identifier_from_environment
|
60
|
+
app_identifier ||= guess_app_identifier_from_appfile
|
61
|
+
app_identifier ||= guess_app_identifier_from_config_files
|
62
|
+
app_identifier
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
@@ -2,6 +2,8 @@ require 'excon'
|
|
2
2
|
require 'digest'
|
3
3
|
|
4
4
|
require 'fastlane_core/update_checker/changelog'
|
5
|
+
require 'fastlane_core/ios_app_identifier_guesser'
|
6
|
+
require 'fastlane_core/android_package_name_guesser'
|
5
7
|
|
6
8
|
module FastlaneCore
|
7
9
|
# Verifies, the user runs the latest version of this gem
|
@@ -121,18 +123,7 @@ module FastlaneCore
|
|
121
123
|
|
122
124
|
# (optional) Returns the app identifier for the current tool
|
123
125
|
def self.ios_app_identifier(args)
|
124
|
-
|
125
|
-
args.each_with_index do |current, index|
|
126
|
-
if current == "-a" || current == "--app_identifier"
|
127
|
-
return args[index + 1] if args.count > index
|
128
|
-
end
|
129
|
-
end
|
130
|
-
|
131
|
-
["FASTLANE", "DELIVER", "PILOT", "PRODUCE", "PEM", "SIGH", "SNAPSHOT", "MATCH"].each do |current|
|
132
|
-
return ENV["#{current}_APP_IDENTIFIER"] if FastlaneCore::Env.truthy?("#{current}_APP_IDENTIFIER")
|
133
|
-
end
|
134
|
-
|
135
|
-
return CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier)
|
126
|
+
return FastlaneCore::IOSAppIdentifierGuesser.guess_app_identifier(args)
|
136
127
|
rescue
|
137
128
|
nil # we don't want this method to cause a crash
|
138
129
|
end
|
@@ -143,18 +134,7 @@ module FastlaneCore
|
|
143
134
|
# fastlane supply --skip_upload_screenshots -a beta -p com.test.app should return com.test.app
|
144
135
|
# screengrab -a com.test.app should return com.test.app
|
145
136
|
def self.android_app_identifier(args, gem_name)
|
146
|
-
app_identifier =
|
147
|
-
# args example: ["-a", "com.krausefx.app"]
|
148
|
-
args.each_with_index do |current, index|
|
149
|
-
if android_app_identifier_arg?(gem_name, current)
|
150
|
-
app_identifier = args[index + 1] if args.count > index
|
151
|
-
break
|
152
|
-
end
|
153
|
-
end
|
154
|
-
|
155
|
-
app_identifier ||= ENV["SUPPLY_PACKAGE_NAME"] if FastlaneCore::Env.truthy?("SUPPLY_PACKAGE_NAME")
|
156
|
-
app_identifier ||= ENV["SCREENGRAB_APP_PACKAGE_NAME"] if FastlaneCore::Env.truthy?("SCREENGRAB_APP_PACKAGE_NAME")
|
157
|
-
app_identifier ||= CredentialsManager::AppfileConfig.try_fetch_value(:package_name)
|
137
|
+
app_identifier = FastlaneCore::AndroidPackageNameGuesser.guess_package_name(gem_name, args)
|
158
138
|
|
159
139
|
# Add Android prefix to prevent collisions if there is an iOS app with the same identifier
|
160
140
|
app_identifier ? "android_project_#{app_identifier}" : nil
|
@@ -162,13 +142,6 @@ module FastlaneCore
|
|
162
142
|
nil # we don't want this method to cause a crash
|
163
143
|
end
|
164
144
|
|
165
|
-
def self.android_app_identifier_arg?(gem_name, arg)
|
166
|
-
return arg == "--package_name" ||
|
167
|
-
arg == "--app_package_name" ||
|
168
|
-
(arg == '-p' && gem_name == 'supply') ||
|
169
|
-
(arg == '-a' && gem_name == 'screengrab')
|
170
|
-
end
|
171
|
-
|
172
145
|
# To not count the same projects multiple time for the number of launches
|
173
146
|
# Learn more at https://github.com/fastlane/fastlane#metrics
|
174
147
|
# Use the `FASTLANE_OPT_OUT_USAGE` variable to opt out
|
@@ -1,5 +1,7 @@
|
|
1
1
|
module Match
|
2
2
|
class GitHelper
|
3
|
+
MATCH_VERSION_FILE_NAME = "match_version.txt"
|
4
|
+
|
3
5
|
def self.clone(git_url,
|
4
6
|
shallow_clone,
|
5
7
|
manual_password: nil,
|
@@ -62,7 +64,6 @@ module Match
|
|
62
64
|
return self.clone(git_url, shallow_clone)
|
63
65
|
end
|
64
66
|
|
65
|
-
copy_readme(@dir) unless skip_docs
|
66
67
|
Encrypt.new.decrypt_repo(path: @dir, git_url: git_url, manual_password: manual_password)
|
67
68
|
|
68
69
|
return @dir
|
@@ -80,21 +81,45 @@ module Match
|
|
80
81
|
end
|
81
82
|
|
82
83
|
def self.match_version(workspace)
|
83
|
-
path = File.join(workspace,
|
84
|
+
path = File.join(workspace, MATCH_VERSION_FILE_NAME)
|
84
85
|
if File.exist?(path)
|
85
86
|
Gem::Version.new(File.read(path))
|
86
87
|
end
|
87
88
|
end
|
88
89
|
|
89
|
-
def self.commit_changes(path, message, git_url, branch = "master")
|
90
|
+
def self.commit_changes(path, message, git_url, branch = "master", files_to_commmit = nil)
|
91
|
+
files_to_commmit ||= []
|
90
92
|
Dir.chdir(path) do
|
91
93
|
return if `git status`.include?("nothing to commit")
|
92
94
|
|
93
95
|
Encrypt.new.encrypt_repo(path: path, git_url: git_url)
|
94
|
-
File.write("match_version.txt", Fastlane::VERSION) # unencrypted
|
95
|
-
|
96
96
|
commands = []
|
97
|
-
|
97
|
+
|
98
|
+
if files_to_commmit.count > 0 # e.g. for nuke this is treated differently
|
99
|
+
if !File.exist?(MATCH_VERSION_FILE_NAME) || File.read(MATCH_VERSION_FILE_NAME) != Fastlane::VERSION.to_s
|
100
|
+
files_to_commmit << MATCH_VERSION_FILE_NAME
|
101
|
+
File.write(MATCH_VERSION_FILE_NAME, Fastlane::VERSION) # stored unencrypted
|
102
|
+
end
|
103
|
+
|
104
|
+
template = File.read("#{Match::ROOT}/lib/assets/READMETemplate.md")
|
105
|
+
readme_path = "README.md"
|
106
|
+
if !File.exist?(readme_path) || File.read(readme_path) != template
|
107
|
+
files_to_commmit << readme_path
|
108
|
+
File.write(readme_path, template)
|
109
|
+
end
|
110
|
+
|
111
|
+
# `git add` each file we want to commit
|
112
|
+
# - Fixes https://github.com/fastlane/fastlane/issues/8917
|
113
|
+
# - Fixes https://github.com/fastlane/fastlane/issues/8793
|
114
|
+
# - Replaces, closes and fixes https://github.com/fastlane/fastlane/pull/8919
|
115
|
+
commands += files_to_commmit.map do |current_file|
|
116
|
+
"git add #{current_file.shellescape}"
|
117
|
+
end
|
118
|
+
else
|
119
|
+
# No specific list given, e.g. this happens on `fastlane match nuke`
|
120
|
+
# We just want to run `git add -A` to commit everything
|
121
|
+
commands << "git add -A"
|
122
|
+
end
|
98
123
|
commands << "git commit -m #{message.shellescape}"
|
99
124
|
commands << "GIT_TERMINAL_PROMPT=0 git push origin #{branch.shellescape}"
|
100
125
|
|
@@ -158,12 +183,6 @@ module Match
|
|
158
183
|
return !result.empty?
|
159
184
|
end
|
160
185
|
|
161
|
-
# Copies the README.md into the git repo
|
162
|
-
def self.copy_readme(directory)
|
163
|
-
template = File.read("#{Match::ROOT}/lib/assets/READMETemplate.md")
|
164
|
-
File.write(File.join(directory, "README.md"), template)
|
165
|
-
end
|
166
|
-
|
167
186
|
def self.add_user_config(user_name, user_email)
|
168
187
|
# Add git config if needed
|
169
188
|
commands = []
|
data/match/lib/match/runner.rb
CHANGED
@@ -1,9 +1,11 @@
|
|
1
1
|
module Match
|
2
2
|
class Runner
|
3
|
-
attr_accessor :
|
3
|
+
attr_accessor :files_to_commmit
|
4
4
|
attr_accessor :spaceship
|
5
5
|
|
6
6
|
def run(params)
|
7
|
+
self.files_to_commmit = []
|
8
|
+
|
7
9
|
FastlaneCore::PrintTable.print_values(config: params,
|
8
10
|
hide_keys: [:workspace],
|
9
11
|
title: "Summary for match #{Fastlane::VERSION}")
|
@@ -50,9 +52,9 @@ module Match
|
|
50
52
|
end
|
51
53
|
|
52
54
|
# Done
|
53
|
-
if self.
|
55
|
+
if self.files_to_commmit.count > 0 and !params[:readonly]
|
54
56
|
message = GitHelper.generate_commit_message(params)
|
55
|
-
GitHelper.commit_changes(params[:workspace], message, params[:git_url], params[:git_branch])
|
57
|
+
GitHelper.commit_changes(params[:workspace], message, params[:git_url], params[:git_branch], self.files_to_commmit)
|
56
58
|
end
|
57
59
|
|
58
60
|
# Print a summary table for each app_identifier
|
@@ -81,7 +83,7 @@ module Match
|
|
81
83
|
UI.important "Couldn't find a valid code signing identity in the git repo for #{cert_type}... creating one for you now"
|
82
84
|
UI.crash!("No code signing identity found and can not create a new one because you enabled `readonly`") if params[:readonly]
|
83
85
|
cert_path = Generator.generate_certificate(params, cert_type)
|
84
|
-
self.
|
86
|
+
self.files_to_commmit << cert_path
|
85
87
|
else
|
86
88
|
cert_path = certs.last
|
87
89
|
UI.message "Installing certificate..."
|
@@ -144,7 +146,7 @@ module Match
|
|
144
146
|
prov_type: prov_type,
|
145
147
|
certificate_id: certificate_id,
|
146
148
|
app_identifier: app_identifier)
|
147
|
-
self.
|
149
|
+
self.files_to_commmit << profile
|
148
150
|
end
|
149
151
|
|
150
152
|
installed_profile = FastlaneCore::ProvisioningProfile.install(profile)
|
@@ -155,7 +157,7 @@ module Match
|
|
155
157
|
if spaceship && !spaceship.profile_exists(username: params[:username], uuid: uuid)
|
156
158
|
# This profile is invalid, let's remove the local file and generate a new one
|
157
159
|
File.delete(profile)
|
158
|
-
|
160
|
+
# This method will be called again, no need to modify `files_to_commmit`
|
159
161
|
return nil
|
160
162
|
end
|
161
163
|
|
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.60.0.beta.
|
4
|
+
version: 2.60.0.beta.20171003010003
|
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-10-
|
18
|
+
date: 2017-10-03 00:00:00.000000000 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: slack-notifier
|
@@ -1121,6 +1121,7 @@ files:
|
|
1121
1121
|
- fastlane_core/README.md
|
1122
1122
|
- fastlane_core/lib/assets/XMLTemplate.xml.erb
|
1123
1123
|
- fastlane_core/lib/fastlane_core.rb
|
1124
|
+
- fastlane_core/lib/fastlane_core/android_package_name_guesser.rb
|
1124
1125
|
- fastlane_core/lib/fastlane_core/build_watcher.rb
|
1125
1126
|
- fastlane_core/lib/fastlane_core/cert_checker.rb
|
1126
1127
|
- fastlane_core/lib/fastlane_core/command_executor.rb
|
@@ -1139,6 +1140,7 @@ files:
|
|
1139
1140
|
- fastlane_core/lib/fastlane_core/features.rb
|
1140
1141
|
- fastlane_core/lib/fastlane_core/globals.rb
|
1141
1142
|
- fastlane_core/lib/fastlane_core/helper.rb
|
1143
|
+
- fastlane_core/lib/fastlane_core/ios_app_identifier_guesser.rb
|
1142
1144
|
- fastlane_core/lib/fastlane_core/ipa_file_analyser.rb
|
1143
1145
|
- fastlane_core/lib/fastlane_core/ipa_upload_package_builder.rb
|
1144
1146
|
- fastlane_core/lib/fastlane_core/itunes_search_api.rb
|