Capture Mako exit code and fail fast if necessary

Capture the exit code of the Mako template engine invocation on
asset preprocessing and abort from the Rake task on failure. This
will prevent the LMS from continuing its attempt to start up,
preventing further configuration errors.
This commit is contained in:
Nate Hardison
2013-05-22 19:42:22 -07:00
parent f826198214
commit daa0ac2f01

View File

@@ -19,9 +19,11 @@ def preprocess_with_mako(filename)
# strip off the .mako extension
output_filename = filename.chomp(File.extname(filename))
# just pipe from stdout into the new file
# just pipe from stdout into the new file, exiting on failure
File.open(output_filename, 'w') do |file|
file.write(`python -c '#{mako}'`)
exit_code = $?.to_i
abort "#{mako} failed with #{exit_code}" if exit_code.to_i != 0
end
end