lib/ember_cli/build_monitor.rb in ember-cli-rails-0.7.4 vs lib/ember_cli/build_monitor.rb in ember-cli-rails-0.8.0

- old
+ new

@@ -4,19 +4,19 @@ @name = name @paths = paths end def check! - if build_error? + if has_build_errors? raise_build_error! end true end def reset - if build_error? + if error_file_exists? error_file.delete end end def wait! @@ -33,20 +33,46 @@ def complete? !paths.lockfile.exist? end - def build_error? + def error_file_exists? error_file.exist? && error_file.size? end + def build_errors + error_lines. + reject { |line| is_blank_or_backtrace?(line) }. + reject { |line| is_deprecation_warning?(line) } + end + + def has_build_errors? + build_errors.any? + end + + def is_blank_or_backtrace?(line) + line =~ /(^\s*$|^\s{4}at .+$)/ + end + + def is_deprecation_warning?(line) + line =~ /^(\e[^\s]+)?DEPRECATION:/ + end + + def error_lines + if error_file_exists? + error_file.readlines + else + [""] + end + end + def error_file paths.build_error_file end def raise_build_error! - backtrace = error_file.readlines.reject(&:blank?) - message = "#{name.inspect} has failed to build: #{backtrace.first}" + backtrace = build_errors.first + message = "#{name.inspect} has failed to build: #{backtrace}" error = BuildError.new(message) error.set_backtrace(backtrace) fail error