Sha256: 06f7c3e260513cf5d28c8520d86b23c531b5ffbe24de727f267d4c3cfe29a49a
Contents?: true
Size: 1.3 KB
Versions: 2
Compression:
Stored size: 1.3 KB
Contents
# Source: Mix of https://github.com/fastlane/fastlane/pull/7202/files, # https://github.com/fastlane/fastlane/pull/11384#issuecomment-356084518 and # https://github.com/DragonBox/u3d/blob/59e471ad78ac00cb629f479dbe386c5ad2dc5075/lib/u3d_core/command_runner.rb#L88-L96 module FastlaneCore class FastlanePty def self.spawn(command) require 'pty' PTY.spawn(command) do |command_stdout, command_stdin, pid| begin yield(command_stdout, command_stdin, pid) rescue Errno::EIO # Exception ignored intentionally. # https://stackoverflow.com/questions/10238298/ruby-on-linux-pty-goes-away-without-eof-raises-errnoeio # This is expected on some linux systems, that indicates that the subcommand finished # and we kept trying to read, ignore it ensure begin Process.wait(pid) rescue Errno::ECHILD, PTY::ChildExited # The process might have exited. end end end $?.exitstatus rescue LoadError require 'open3' Open3.popen2e(command) do |command_stdin, command_stdout, p| # note the inversion yield(command_stdout, command_stdin, p.value.pid) command_stdin.close command_stdout.close p.value.exitstatus end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
fastlane-2.103.1 | fastlane_core/lib/fastlane_core/fastlane_pty.rb |
fastlane-2.103.0 | fastlane_core/lib/fastlane_core/fastlane_pty.rb |