fastlane_core 0.52.1 → 0.52.2
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/lib/fastlane_core/ui/fastlane_runner.rb +64 -26
- data/lib/fastlane_core/version.rb +1 -1
- metadata +20 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e254d0408efc312fe0c1c30f8049a92bf8f30413
|
4
|
+
data.tar.gz: f1a07a4d4c11e320a934b481ef53e61707c665af
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e99fd51fbc0f68215832cec1e9ab8a1a19c4951c9bdb07fbac6751291cd908f3a464315fb6ee2aed8dcd1ddd93b8732e4b286fc941b5886bd0bfcdc5e1686204
|
7
|
+
data.tar.gz: 7d8c8bafef81a8db11e4f9978ab005d57f90baf6dcd20324b8f7e56f0c805db506b81b701aeb8b17e24b458a27ca876cccaabfe00812ba3d487575a96fdd1642
|
@@ -1,17 +1,19 @@
|
|
1
|
+
unless Object.const_defined?("Faraday")
|
2
|
+
# We create these empty error classes if we didn't require Faraday
|
3
|
+
# so that we can use it in the rescue block below even if we didn't
|
4
|
+
# require Faraday or didn't use it
|
5
|
+
module Faraday
|
6
|
+
class Error < StandardError; end
|
7
|
+
class ClientError < Error; end
|
8
|
+
class SSLError < ClientError; end
|
9
|
+
class ConnectionFailed < ClientError; end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
1
13
|
module Commander
|
2
14
|
# This class override the run method with our custom stack trace handling
|
3
15
|
# In particular we want to distinguish between user_error! and crash! (one with, one without stack trace)
|
4
16
|
class Runner
|
5
|
-
unless Object.const_defined?("Faraday")
|
6
|
-
module Faraday
|
7
|
-
class SSLError < StandardError
|
8
|
-
# We create this empty error class if we didn't require Faraday
|
9
|
-
# so that we can use it in the rescue block below
|
10
|
-
# even if we didn't require Faraday or didn't use it
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
17
|
# Code taken from https://github.com/commander-rb/commander/blob/master/lib/commander/runner.rb#L50
|
16
18
|
def run!
|
17
19
|
require_program :version, :description
|
@@ -53,22 +55,13 @@ module Commander
|
|
53
55
|
show_github_issues(e.message) if e.show_github_issues
|
54
56
|
display_user_error!(e, e.message)
|
55
57
|
rescue Faraday::SSLError => e # SSL issues are very common
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
ui.error "SSL errors can be caused by various components on your local machine"
|
64
|
-
ui.error "- Make sure OpenSSL is installed with Homebrew: `brew update && brew upgrade openssl`"
|
65
|
-
ui.error "- If you use rvm:"
|
66
|
-
ui.error " - First run `rvm osx-ssl-certs update all`"
|
67
|
-
ui.error " - Then run `rvm reinstall ruby-2.2.3 --with-openssl-dir=/usr/local"
|
68
|
-
ui.error "- If that doesn't fix your issue, please google for the following error message:"
|
69
|
-
ui.error " '#{e}'"
|
70
|
-
ui.error "-----------------------------------------------------------------------"
|
71
|
-
display_user_error!(e, e.to_s)
|
58
|
+
handle_ssl_error!(e)
|
59
|
+
rescue Faraday::ConnectionFailed => e
|
60
|
+
if e.message.include? 'Connection reset by peer - SSL_connect'
|
61
|
+
handle_tls_error!(e)
|
62
|
+
else
|
63
|
+
handle_unknown_error!(e)
|
64
|
+
end
|
72
65
|
rescue => e # high chance this is actually FastlaneCore::Interface::FastlaneCrash, but can be anything else
|
73
66
|
collector.did_crash(@program[:name])
|
74
67
|
handle_unknown_error!(e)
|
@@ -77,6 +70,51 @@ module Commander
|
|
77
70
|
end
|
78
71
|
end
|
79
72
|
|
73
|
+
def handle_tls_error!(e)
|
74
|
+
# Apple has upgraded its iTunes Connect servers to require TLS 1.2, but
|
75
|
+
# system Ruby 2.0 does not support it. We want to suggest that users upgrade
|
76
|
+
# their Ruby version
|
77
|
+
suggest_ruby_reinstall(e)
|
78
|
+
display_user_error!(e, e.to_s)
|
79
|
+
end
|
80
|
+
|
81
|
+
def handle_ssl_error!(e)
|
82
|
+
# SSL errors are very common when the Ruby or OpenSSL installation is somehow broken
|
83
|
+
# We want to show a nice error message to the user here
|
84
|
+
# We have over 20 GitHub issues just for this one error:
|
85
|
+
# https://github.com/fastlane/fastlane/search?q=errno%3D0+state%3DSSLv3+read+server&type=Issues
|
86
|
+
suggest_ruby_reinstall(e)
|
87
|
+
display_user_error!(e, e.to_s)
|
88
|
+
end
|
89
|
+
|
90
|
+
def suggest_ruby_reinstall(e)
|
91
|
+
ui = FastlaneCore::UI
|
92
|
+
ui.error "-----------------------------------------------------------------------"
|
93
|
+
ui.error e.to_s
|
94
|
+
ui.error ""
|
95
|
+
ui.error "SSL errors can be caused by various components on your local machine."
|
96
|
+
if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.1')
|
97
|
+
ui.error "Apple has recently changed their servers to require TLS 1.2, which may"
|
98
|
+
ui.error "not be available to your system installed Ruby (#{RUBY_VERSION})"
|
99
|
+
end
|
100
|
+
ui.error ""
|
101
|
+
ui.error "The best solution is to install a new version of Ruby"
|
102
|
+
ui.error ""
|
103
|
+
ui.error "- Make sure OpenSSL is installed with Homebrew: `brew update && brew upgrade openssl`"
|
104
|
+
ui.error "- If you use system Ruby:"
|
105
|
+
ui.error " - Run `brew update && brew install ruby`"
|
106
|
+
ui.error "- If you use rbenv with ruby-build:"
|
107
|
+
ui.error " - Run `brew update && brew upgrade ruby-build && rbenv install ruby-2.3.1`"
|
108
|
+
ui.error " - Run `rbenv global ruby-2.3.1` to make it the new global default Ruby version"
|
109
|
+
ui.error "- If you use rvm:"
|
110
|
+
ui.error " - First run `rvm osx-ssl-certs update all`"
|
111
|
+
ui.error " - Then run `rvm reinstall ruby-2.3.1 --with-openssl-dir=/usr/local"
|
112
|
+
ui.error ""
|
113
|
+
ui.error "If that doesn't fix your issue, please google for the following error message:"
|
114
|
+
ui.error " '#{e}'"
|
115
|
+
ui.error "-----------------------------------------------------------------------"
|
116
|
+
end
|
117
|
+
|
80
118
|
def handle_unknown_error!(e)
|
81
119
|
# Some spaceship exception classes implement #preferred_error_info in order to share error info
|
82
120
|
# that we'd rather display instead of crashing with a stack trace. However, fastlane_core and
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.52.
|
4
|
+
version: 0.52.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Felix Krause
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-10-
|
11
|
+
date: 2016-10-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
@@ -138,30 +138,42 @@ dependencies:
|
|
138
138
|
name: plist
|
139
139
|
requirement: !ruby/object:Gem::Requirement
|
140
140
|
requirements:
|
141
|
-
- - "
|
141
|
+
- - ">="
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
version: 3.1.0
|
144
|
+
- - "<"
|
142
145
|
- !ruby/object:Gem::Version
|
143
|
-
version:
|
146
|
+
version: 4.0.0
|
144
147
|
type: :runtime
|
145
148
|
prerelease: false
|
146
149
|
version_requirements: !ruby/object:Gem::Requirement
|
147
150
|
requirements:
|
148
|
-
- - "
|
151
|
+
- - ">="
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: 3.1.0
|
154
|
+
- - "<"
|
149
155
|
- !ruby/object:Gem::Version
|
150
|
-
version:
|
156
|
+
version: 4.0.0
|
151
157
|
- !ruby/object:Gem::Dependency
|
152
158
|
name: terminal-table
|
153
159
|
requirement: !ruby/object:Gem::Requirement
|
154
160
|
requirements:
|
155
|
-
- - "
|
161
|
+
- - ">="
|
156
162
|
- !ruby/object:Gem::Version
|
157
163
|
version: 1.4.5
|
164
|
+
- - "<"
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: 2.0.0
|
158
167
|
type: :runtime
|
159
168
|
prerelease: false
|
160
169
|
version_requirements: !ruby/object:Gem::Requirement
|
161
170
|
requirements:
|
162
|
-
- - "
|
171
|
+
- - ">="
|
163
172
|
- !ruby/object:Gem::Version
|
164
173
|
version: 1.4.5
|
174
|
+
- - "<"
|
175
|
+
- !ruby/object:Gem::Version
|
176
|
+
version: 2.0.0
|
165
177
|
- !ruby/object:Gem::Dependency
|
166
178
|
name: gh_inspector
|
167
179
|
requirement: !ruby/object:Gem::Requirement
|