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