BigW Consortium Gitlab

flog.rake 484 Bytes
Newer Older
1 2 3 4
desc 'Code complexity analyze via flog'
task :flog do
  output = %x(bundle exec flog -m app/ lib/gitlab)
  exit_code = 0
5
  minimum_score = 70
6 7 8 9 10 11 12 13 14 15 16 17
  output = output.lines

  # Skip total complexity score
  output.shift

  # Skip some trash info
  output.shift

  output.each do |line|
    score, method = line.split(" ")
    score = score.to_i

18
    if score > minimum_score
19 20 21 22 23 24 25
      exit_code = 1
      puts "High complexity in #{method}. Score: #{score}"
    end
  end

  exit exit_code
end