From e8a033af563427556796919eef3cd9348cf76981 Mon Sep 17 00:00:00 2001 From: Nathan Weizenbaum Date: Sat, 14 Aug 2010 18:08:41 -0700 Subject: [PATCH] [Sass] Make sass --update use proper exit codes. Closes gh-234 --- doc-src/SASS_CHANGELOG.md | 3 +++ lib/haml/exec.rb | 3 +++ 2 files changed, 6 insertions(+) diff --git a/doc-src/SASS_CHANGELOG.md b/doc-src/SASS_CHANGELOG.md index 70b19b2c..ee27b419 100644 --- a/doc-src/SASS_CHANGELOG.md +++ b/doc-src/SASS_CHANGELOG.md @@ -13,6 +13,9 @@ * Understand that mingw counts as Windows. +* Make `sass --update` return a non-0 exit code if one or more files being updated + contained an error. + ## 3.0.16 [Tagged on GitHub](http://github.com/nex3/haml/commit/3.0.16). diff --git a/lib/haml/exec.rb b/lib/haml/exec.rb index 085e19cb..999d8720 100644 --- a/lib/haml/exec.rb +++ b/lib/haml/exec.rb @@ -422,15 +422,18 @@ MSG end end + had_error = false ::Sass::Plugin.on_creating_directory {|dirname| puts_action :directory, :green, dirname} ::Sass::Plugin.on_deleting_css {|filename| puts_action :delete, :yellow, filename} ::Sass::Plugin.on_compilation_error do |error, _, _| raise error unless error.is_a?(::Sass::SyntaxError) + had_error = true puts_action :error, :red, "#{error.sass_filename} (Line #{error.sass_line}: #{error.message})" end if @options[:update] ::Sass::Plugin.update_stylesheets(files) + exit 1 if had_error return end