summaryrefslogtreecommitdiff
path: root/lib/tasks/flog.rake
diff options
context:
space:
mode:
authorJeff Stubler <brunsa2@gmail.com>2015-11-12 09:05:29 -0600
committerJeff Stubler <brunsa2@gmail.com>2015-11-12 09:05:29 -0600
commit64ca9cf3e4a56a19f09160a91c5433d2ddb632cf (patch)
treef114ab02adb4815058fe7b84a1527ac5ed7a597e /lib/tasks/flog.rake
parente0c64fac68b4b3acc48300956146b85e03b426ce (diff)
parent12b35c6fe85073d809a764d24b51937f63b9d098 (diff)
downloadgitlab-ce-64ca9cf3e4a56a19f09160a91c5433d2ddb632cf.tar.gz
Merge branch 'master' into diverging-branch-graphs
Diffstat (limited to 'lib/tasks/flog.rake')
-rw-r--r--lib/tasks/flog.rake25
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/tasks/flog.rake b/lib/tasks/flog.rake
new file mode 100644
index 00000000000..3bfe999ae74
--- /dev/null
+++ b/lib/tasks/flog.rake
@@ -0,0 +1,25 @@
+desc 'Code complexity analyze via flog'
+task :flog do
+ output = %x(bundle exec flog -m app/ lib/gitlab)
+ exit_code = 0
+ minimum_score = 70
+ 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
+
+ if score > minimum_score
+ exit_code = 1
+ puts "High complexity in #{method}. Score: #{score}"
+ end
+ end
+
+ exit exit_code
+end