Commit fff6b89f authored by Bob Van Landuyt's avatar Bob Van Landuyt

More verbose errors in static-analysis

This makes the output in static analysis a bit more verbose.
parent c815abbd
...@@ -53,25 +53,34 @@ namespace :gettext do ...@@ -53,25 +53,34 @@ namespace :gettext do
task :updated_check do task :updated_check do
# Removing all pre-translated files speeds up `gettext:find` as the # Removing all pre-translated files speeds up `gettext:find` as the
# files don't need to be merged. # files don't need to be merged.
`rm locale/*/gitlab.po` # Having `LC_MESSAGES/gitlab.mo files present also confuses the output.
FileUtils.rm Dir['locale/**/gitlab.*']
# Make sure we start out with a clean pot.file
`git checkout -- locale/gitlab.pot`
# `gettext:find` writes touches to temp files to `stderr` which would cause # `gettext:find` writes touches to temp files to `stderr` which would cause
# `static-analysis` to report failures. We can ignore these # `static-analysis` to report failures. We can ignore these.
silence_stream(STDERR) { Rake::Task['gettext:find'].invoke } silence_stream($stderr) do
Rake::Task['gettext:find'].invoke
end
changed_files = `git diff --name-only`.lines.map(&:strip) pot_diff = `git diff -- locale/gitlab.pot`.strip
# reset the locale folder for potential next tasks # reset the locale folder for potential next tasks
`git checkout -- locale` `git checkout -- locale`
if changed_files.include?('locale/gitlab.pot') if pot_diff.present?
raise <<~MSG raise <<~MSG
Newly translated strings found, please add them to `gitlab.pot` by running: Newly translated strings found, please add them to `gitlab.pot` by running:
bundle exec rake gettext:find; git checkout -- locale/*/gitlab.po; rm locale/**/gitlab.*; bin/rake gettext:find; git checkout -- locale/*/gitlab.po
Then commit and push the resulting changes to `locale/gitlab.pot`. Then commit and push the resulting changes to `locale/gitlab.pot`.
The diff was:
#{pot_diff}
MSG MSG
end end
end end
......
...@@ -17,13 +17,22 @@ unless Rails.env.production? ...@@ -17,13 +17,22 @@ unless Rails.env.production?
Rake::Task['eslint'].invoke Rake::Task['eslint'].invoke
end end
desc "GitLab | lint | Lint HAML files"
task :haml do
begin
Rake::Task['haml_lint'].invoke
rescue RuntimeError # The haml_lint tasks raise a RuntimeError
exit(1)
end
end
desc "GitLab | lint | Run several lint checks" desc "GitLab | lint | Run several lint checks"
task :all do task :all do
status = 0 status = 0
%w[ %w[
config_lint config_lint
haml_lint lint:haml
scss_lint scss_lint
flay flay
gettext:lint gettext:lint
...@@ -38,14 +47,13 @@ unless Rails.env.production? ...@@ -38,14 +47,13 @@ unless Rails.env.production?
$stdout.reopen(wr_out) $stdout.reopen(wr_out)
$stderr.reopen(wr_err) $stderr.reopen(wr_err)
begin
begin begin
Rake::Task[task].invoke Rake::Task[task].invoke
rescue RuntimeError # The haml_lint tasks raise a RuntimeError
exit(1)
end
rescue SystemExit => ex rescue SystemExit => ex
msg = "*** Rake task #{task} failed with the following error(s):" msg = "*** Rake task #{task} exited:"
raise ex
rescue => ex
msg = "*** Rake task #{task} raised #{ex.class}:"
raise ex raise ex
ensure ensure
$stdout.reopen(stdout) $stdout.reopen(stdout)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment