Write Jekyll::Utils::Exec.run for running shell commands.

This commit is contained in:
Parker Moore
2016-12-07 10:13:14 -08:00
parent 4382b2467b
commit 6e2449b482
6 changed files with 48 additions and 29 deletions

View File

@@ -1,6 +1,5 @@
require "fileutils"
require "jekyll"
require "open3"
require "time"
require "safe_yaml/load"
@@ -106,21 +105,16 @@ end
# rubocop:disable Metrics/AbcSize
def run_in_shell(*args)
i, o, e, p = Open3.popen3(*args)
out = o.read.strip
err = e.read.strip
p, output = Jekyll::Utils::Exec.run(*args)
[i, o, e].each(&:close)
File.write(Paths.status_file, p.value.exitstatus)
File.write(Paths.status_file, p.exitstatus)
File.open(Paths.output_file, "wb") do |f|
f.puts "$ " << args.join(" ")
f.puts out
f.puts err
f.puts "EXIT STATUS: #{p.value.exitstatus}"
f.puts output
f.puts "EXIT STATUS: #{p.exitstatus}"
end
p.value
p
end
# rubocop:enable Metrics/AbcSize