aboutsummaryrefslogtreecommitdiff
path: root/tools/hooks
diff options
context:
space:
mode:
authorAqua-sama <aqua@iserlohn-fortress.net>2017-03-23 13:30:29 +0100
committerAqua-sama <aqua@iserlohn-fortress.net>2017-03-23 13:30:29 +0100
commit3149525c2bb845b5440c9749acded484d009e6ac (patch)
treedd8b69183b067f24057728ace06b25f707cce5f8 /tools/hooks
parentBlocker fixes (diff)
downloadsmolbote-3149525c2bb845b5440c9749acded484d009e6ac.tar.xz
Rewrote the pre-commit hook into Ruby
Diffstat (limited to 'tools/hooks')
-rwxr-xr-xtools/hooks/pre-commit.rb23
1 files changed, 23 insertions, 0 deletions
diff --git a/tools/hooks/pre-commit.rb b/tools/hooks/pre-commit.rb
new file mode 100755
index 0000000..83b4978
--- /dev/null
+++ b/tools/hooks/pre-commit.rb
@@ -0,0 +1,23 @@
+#!/usr/bin/env ruby
+
+result = 0
+files = Dir['src/**/*.h'] + Dir['src/**/*.cpp'] - Dir['src/3rd-party/**/*']
+
+puts 'Checking licenses...'
+files.each { |name|
+ File.open(name) { |f|
+ if not f.readline.start_with? '/** LICENSE **' then
+ puts "Missing license header: #{name}"
+ result = 1
+ end
+ }
+}
+
+puts 'Checking style...'
+if not `astyle --dry-run --formatted --options=astyle.rc #{files.join(' ')}`.empty? then
+ system "astyle --verbose --formatted --options=astyle.rc #{files.join(' ')}"
+ result = 1
+end
+
+puts "pre-commit exit(#{result})"
+exit result