From 3149525c2bb845b5440c9749acded484d009e6ac Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Thu, 23 Mar 2017 13:30:29 +0100 Subject: Rewrote the pre-commit hook into Ruby --- tools/hooks/pre-commit.rb | 23 +++++++++++++++++++++++ tools/qbs/GitRepo.js | 15 +++++++++++++++ 2 files changed, 38 insertions(+) create mode 100755 tools/hooks/pre-commit.rb create mode 100644 tools/qbs/GitRepo.js (limited to 'tools') 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 diff --git a/tools/qbs/GitRepo.js b/tools/qbs/GitRepo.js new file mode 100644 index 0000000..d7e19a7 --- /dev/null +++ b/tools/qbs/GitRepo.js @@ -0,0 +1,15 @@ +var Process = loadExtension("qbs.Process") + +function read(workingDirectory) { + var git = new Process(); + git.setWorkingDirectory(workingDirectory); + + var meta = Object.create(null); + git.exec("git", ["describe", "--abbrev=0", "--tag"], true); + meta.version = git.readLine(); + + git.exec("git", ["describe", "--tag"], true); + meta.describe = git.readLine(); + + return meta; +} -- cgit v1.2.1