class PreCommit::Checks::Checkstyle
Plugin implementation for pre-commit gem
It provides a java checkstyle validation using checkstyle.jar for details see: lib/pre_commit/support/checkstyle
Public Class Methods
description()
click to toggle source
# File lib/plugins/pre_commit/checks/checkstyle.rb, line 28 def self.description 'Runs Checkstyle linter for java code.' end
Public Instance Methods
call(staged_files)
click to toggle source
Function called after pre-commit execution this method receive the staged_files
from git
@param [String] Standard git ouput with staged files
# File lib/plugins/pre_commit/checks/checkstyle.rb, line 20 def call(staged_files) staged_files = staged_files.grep(/\.java$/) return if staged_files.empty? output = execute(args(staged_files)) format(extract(output)) end
Private Instance Methods
alternate_config_file()
click to toggle source
# File lib/plugins/pre_commit/checks/checkstyle.rb, line 56 def alternate_config_file Support::Path.relative_to('google_checks.xml') end
args(staged_files)
click to toggle source
# File lib/plugins/pre_commit/checks/checkstyle.rb, line 34 def args(staged_files) [ 'java', checkstyle_jar, configuration_file, staged_files, output_format ] end
checkstyle_jar()
click to toggle source
# File lib/plugins/pre_commit/checks/checkstyle.rb, line 44 def checkstyle_jar ['-jar', Support::Path.relative_to('checkstyle-6.11-all.jar')] end
configuration_file()
click to toggle source
# File lib/plugins/pre_commit/checks/checkstyle.rb, line 48 def configuration_file config_file ? ['-c', config_file] : [] end
extract(data)
click to toggle source
# File lib/plugins/pre_commit/checks/checkstyle.rb, line 65 def extract(data) @extractor ||= PreCommit::Message::Extractor.new @extractor.extract data end
format(errors)
click to toggle source
# File lib/plugins/pre_commit/checks/checkstyle.rb, line 60 def format(errors) @formatter ||= PreCommit::Message::Formatter.new @formatter.format errors end
output_format()
click to toggle source
# File lib/plugins/pre_commit/checks/checkstyle.rb, line 52 def output_format ['-f', 'xml'] end