Class: FastlaneCore::TransporterExecutor
- Inherits:
-
Object
- Object
- FastlaneCore::TransporterExecutor
show all
- Defined in:
- fastlane_core/lib/fastlane_core/itunes_transporter.rb
Overview
Base class for executing the iTMSTransporter
Instance Method Summary
collapse
Instance Method Details
#displayable_errors ⇒ Object
97
98
99
|
# File 'fastlane_core/lib/fastlane_core/itunes_transporter.rb', line 97
def displayable_errors
@errors.map { |error| "[Transporter Error Output]: #{error}" }.join("\n").gsub!(/"/, "")
end
|
#execute(command, hide_output) {|@all_lines| ... } ⇒ Object
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
# File 'fastlane_core/lib/fastlane_core/itunes_transporter.rb', line 33
def execute(command, hide_output)
if Helper.test?
yield(nil) if block_given?
return command
end
@errors = []
@warnings = []
@all_lines = []
if hide_output
UI.success("Waiting for App Store Connect transporter to be finished.")
UI.success("iTunes Transporter progress... this might take a few minutes...")
end
begin
exit_status = FastlaneCore::FastlanePty.spawn(command) do |command_stdout, command_stdin, pid|
begin
command_stdout.each do |line|
@all_lines << line
parse_line(line, hide_output) end
end
end
rescue => ex
exit_status = ex.exit_status
@errors << ex.to_s
end
unless exit_status.zero?
@errors << "The call to the iTMSTransporter completed with a non-zero exit status: #{exit_status}. This indicates a failure."
end
if @warnings.count > 0
UI.important(@warnings.join("\n"))
end
if @errors.join("").include?("app-specific")
raise TransporterRequiresApplicationSpecificPasswordError
end
if @errors.count > 0 && @all_lines.count > 0
@all_lines.last(15).each do |line|
UI.important("[iTMSTransporter] #{line}")
end
UI.message("iTunes Transporter output above ^")
UI.error(@errors.join("\n"))
end
if @errors.count > 0 && exit_status.zero?
UI.important("Although errors occurred during execution of iTMSTransporter, it returned success status.")
end
yield(@all_lines) if block_given?
return exit_status.zero?
end
|