Print output when pushing to Heroku

This is just a convenience enhancement - rather than swallowing all the
output from the Heroku push command, print stdout and stderr like we do
elsewhere with subprocesses. Heoku pushes are pretty involved and dump
lots of useful output, so it should be useful for users to see this.
This commit is contained in:
Paul Hinze 2022-01-06 13:48:55 -06:00
parent 0255034126
commit c02758e1f2
No known key found for this signature in database
GPG Key ID: B69DEDF2D55501C0

View File

@ -121,7 +121,14 @@ module VagrantPlugins
# Execute the command, raising an exception if it fails.
# @return [Vagrant::Util::Subprocess::Result]
def execute!(*cmd)
result = Vagrant::Util::Subprocess.execute(*cmd)
subproccmd = cmd.dup << { notify: [:stdout, :stderr] }
result = Vagrant::Util::Subprocess.execute(*subproccmd) do |type, data|
if type == :stdout
@env.ui.info(data, new_line: false)
elsif type == :stderr
@env.ui.warn(data, new_line: false)
end
end
if result.exit_code != 0
raise Errors::CommandFailed,