fastlane 2.46.0 → 2.46.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane_core/lib/fastlane_core/build_watcher.rb +2 -2
- data/gym/lib/gym/error_handler.rb +52 -31
- data/pem/README.md +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bd3f91489634bc65857980c314f69f00c81c142d
|
4
|
+
data.tar.gz: 4548e98130b2be63e0f715332d3357034c362efa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 881fc772f89580cf2f651006871c25ed156cd095218feddf61bf329d6914fa4033aa24ac4e63df8e8595849314bf657155a6cd24200a67e2b80c4b8dcdff4fae
|
7
|
+
data.tar.gz: 1d6b2a36fab028db68e0e8443c159249a7df05c398934ea3e413f93d1fdd6588650af7a4ae9b62cd7f58d19e3a1738690e895f440a13d3099b3e98c6b76be419
|
@@ -35,13 +35,13 @@ module FastlaneCore
|
|
35
35
|
end
|
36
36
|
|
37
37
|
def report_status(build: nil)
|
38
|
-
# Due to iTunes Connect, builds disappear from the build list
|
38
|
+
# Due to iTunes Connect, builds disappear from the build list altogether
|
39
39
|
# after they finished processing. Before returning this build, we have to
|
40
40
|
# wait for the build to appear in the build list again
|
41
41
|
# As this method is very often used to wait for a build, and then do something
|
42
42
|
# with it, we have to be sure that the build actually is ready
|
43
43
|
if build.nil?
|
44
|
-
UI.message("Build doesn't show up in the build list
|
44
|
+
UI.message("Build doesn't show up in the build list anymore, waiting for it to appear again")
|
45
45
|
elsif build.active?
|
46
46
|
UI.success("Build #{build.train_version} - #{build.build_version} is already being tested")
|
47
47
|
elsif build.ready_to_submit? || build.export_compliance_missing?
|
@@ -51,9 +51,10 @@ module Gym
|
|
51
51
|
print "For more information visit this stackoverflow answer:"
|
52
52
|
print "https://stackoverflow.com/a/17031697/445598"
|
53
53
|
end
|
54
|
-
print_full_log_path
|
55
54
|
print_xcode_path_instructions
|
56
55
|
print_xcode_version
|
56
|
+
print_full_log_path
|
57
|
+
print_build_error_instructions
|
57
58
|
UI.build_failure!("Error building the application - see the log above", error_info: output)
|
58
59
|
end
|
59
60
|
|
@@ -89,6 +90,7 @@ module Gym
|
|
89
90
|
print "provisioning profile and code signing identity."
|
90
91
|
end
|
91
92
|
print_full_log_path
|
93
|
+
print_build_error_instructions
|
92
94
|
UI.build_failure!("Error packaging up the application", error_info: output)
|
93
95
|
end
|
94
96
|
|
@@ -102,18 +104,8 @@ module Gym
|
|
102
104
|
UI.build_failure!("Archive invalid")
|
103
105
|
end
|
104
106
|
|
105
|
-
def find_standard_output_path(output)
|
106
|
-
m = /Created bundle at path '(.*)'/.match(output)
|
107
|
-
return File.join(m[1], 'IDEDistribution.standard.log') unless m.nil?
|
108
|
-
end
|
109
|
-
|
110
107
|
private
|
111
108
|
|
112
|
-
def read_standard_output(output)
|
113
|
-
path = find_standard_output_path output
|
114
|
-
return File.read(path) if File.exist?(path)
|
115
|
-
end
|
116
|
-
|
117
109
|
# Just to make things easier
|
118
110
|
def print(text)
|
119
111
|
UI.error text
|
@@ -121,8 +113,21 @@ module Gym
|
|
121
113
|
|
122
114
|
def print_full_log_path
|
123
115
|
return if Gym.config[:disable_xcpretty]
|
116
|
+
|
124
117
|
log_path = Gym::BuildCommandGenerator.xcodebuild_log_path
|
125
|
-
|
118
|
+
return unless File.exist?(log_path)
|
119
|
+
|
120
|
+
# `xcodebuild` doesn't properly mark lines as failure reason or important information
|
121
|
+
# so we assume that the last few lines show the error message that's relevant
|
122
|
+
# (at least that's what was correct during testing)
|
123
|
+
log_content = File.read(log_path).split("\n")[-5..-1]
|
124
|
+
log_content.each do |row|
|
125
|
+
UI.command_output(row)
|
126
|
+
end
|
127
|
+
|
128
|
+
UI.message("")
|
129
|
+
UI.error("⬆️ Check out the few lines of raw `xcodebuild` output above for potential hints on how to solve this error")
|
130
|
+
UI.important("📋 For the complete and more detailed error log, check the full log at:")
|
126
131
|
UI.important("📋 #{log_path}")
|
127
132
|
end
|
128
133
|
|
@@ -148,25 +153,41 @@ module Gym
|
|
148
153
|
default_xcode_path = "/Applications/"
|
149
154
|
|
150
155
|
xcode_installations_in_default_path = Dir[File.join(default_xcode_path, "Xcode*.app")]
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
156
|
+
return unless xcode_installations_in_default_path.count > 1
|
157
|
+
UI.message ""
|
158
|
+
UI.important "Maybe the error shown is caused by using the wrong version of Xcode"
|
159
|
+
UI.important "Found multiple versions of Xcode in '#{default_xcode_path}'"
|
160
|
+
UI.important "Make sure you selected the right version for your project"
|
161
|
+
UI.important "This build process was executed using '#{xcode_path}'"
|
162
|
+
UI.important "If you want to update your Xcode path, either"
|
163
|
+
UI.message ""
|
164
|
+
|
165
|
+
UI.message "- Specify the Xcode version in your Fastfile"
|
166
|
+
UI.command_output "xcversion(version: \"8.1\") # Selects Xcode 8.1.0"
|
167
|
+
UI.message ""
|
168
|
+
|
169
|
+
UI.message "- Specify an absolute path to your Xcode installation in your Fastfile"
|
170
|
+
UI.command_output "xcode_select \"/Applications/Xcode8.app\""
|
171
|
+
UI.message ""
|
172
|
+
|
173
|
+
UI.message "- Manually update the path using"
|
174
|
+
UI.command_output "sudo xcode-select -s /Applications/Xcode.app"
|
175
|
+
UI.message ""
|
176
|
+
end
|
177
|
+
|
178
|
+
# Indicate that code signing errors are not caused by fastlane
|
179
|
+
# and that fastlane only runs `xcodebuild` commands
|
180
|
+
def print_build_error_instructions
|
181
|
+
UI.message("")
|
182
|
+
UI.error("Looks like fastlane ran into a build/archive error with your project")
|
183
|
+
UI.error("It's hard to tell what's causing the error, so we wrote some guides on how")
|
184
|
+
UI.error("to troubleshoot build and signing issues: https://docs.fastlane.tools/codesigning/getting-started/")
|
185
|
+
UI.error("Before submitting an issue on GitHub, please follow the guide above and make")
|
186
|
+
UI.error("sure your project is set up correctly.")
|
187
|
+
UI.error("fastlane uses `xcodebuild` commands to generate your binary, you can see the")
|
188
|
+
UI.error("the full commands printed out in yellow in the above log.")
|
189
|
+
UI.error("Make sure to inspect the output above, as usually you'll find more error information there")
|
190
|
+
UI.message("")
|
170
191
|
end
|
171
192
|
end
|
172
193
|
end
|
data/pem/README.md
CHANGED
@@ -38,7 +38,7 @@ pem
|
|
38
38
|
|
39
39
|
Tired of manually creating and maintaining your push notification profiles for your iOS apps? Tired of generating a `pem` file for your server?
|
40
40
|
|
41
|
-
`pem` does all that for, just by simply running `pem`.
|
41
|
+
`pem` does all that for you, just by simply running `pem`.
|
42
42
|
|
43
43
|
`pem` creates new .pem, .cer, and .p12 files to be uploaded to your push server if a valid push notification profile is needed. `pem` does not cover uploading the file to your server.
|
44
44
|
|
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.46.
|
4
|
+
version: 2.46.1
|
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-07-
|
18
|
+
date: 2017-07-12 00:00:00.000000000 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: slack-notifier
|