#!/usr/bin/env ruby result = 0 files = Dir['src/**/*.h'] + Dir['src/**/*.cpp'] - Dir['src/3rd-party/**/*'] puts "Running in #{`pwd`}" puts 'Checking licenses...' files.each { |name| File.open(name) { |file| if file.grep(/Copyright\s\(C\)\s(\d{4}\s*-\s*){0,1}(#{Time.now.year})/).empty? then puts "Missing or incorrect license header: #{name}" result = 1 end } } puts 'Running astyle...' if not `astyle --dry-run --formatted --options=astyle.rc #{files.join(' ')}`.empty? then system "astyle --verbose --suffix=none --formatted --options=astyle.rc #{files.join(' ')}" result = 1 end #puts 'Running cppcheck...' #`cppcheck --quiet --enable=all --inconclusive --std=posix -I src/ .` puts "pre-commit exit(#{result})" exit result