Sha256: cb6dea1495fc38bba4a999fbf123b83604dbac62dd218ee204080f84b21f9fb4

Contents?: true

Size: 700 Bytes

Versions: 17

Compression:

Stored size: 700 Bytes

Contents

module Overcommit::Hook::PreCommit
  # Runs `checkstyle` against any modified Java files.
  #
  # @see http://checkstyle.sourceforge.net/
  class JavaCheckstyle < Base
    MESSAGE_REGEX = /^(\[(?<type>[^\]]+)\]\s+)?(?<file>(?:\w:)?[^:]+):(?<line>\d+)/

    MESSAGE_TYPE_CATEGORIZER = lambda do |type|
      %w[WARN INFO].include?(type.to_s) ? :warning : :error
    end

    def run
      result = execute(command, args: applicable_files)
      output = result.stdout.chomp

      # example message:
      #   path/to/file.java:3:5: Error message
      extract_messages(
        output.split("\n").grep(MESSAGE_REGEX),
        MESSAGE_REGEX,
        MESSAGE_TYPE_CATEGORIZER
      )
    end
  end
end

Version data entries

17 entries across 15 versions & 2 rubygems

Version Path
config_gems_initialization_aim-0.1.4 vendor/bundle/ruby/2.5.0/gems/overcommit-0.46.0/lib/overcommit/hook/pre_commit/java_checkstyle.rb
config_gems_initialization_aim-0.1.4 vendor/bundle/ruby/2.5.0/gems/config_gems_initialization_aim-0.1.1/vendor/bundle/ruby/2.5.0/gems/overcommit-0.46.0/lib/overcommit/hook/pre_commit/java_checkstyle.rb
config_gems_initialization_aim-0.1.3 vendor/bundle/ruby/2.5.0/gems/overcommit-0.46.0/lib/overcommit/hook/pre_commit/java_checkstyle.rb
config_gems_initialization_aim-0.1.3 vendor/bundle/ruby/2.5.0/gems/config_gems_initialization_aim-0.1.1/vendor/bundle/ruby/2.5.0/gems/overcommit-0.46.0/lib/overcommit/hook/pre_commit/java_checkstyle.rb
overcommit-0.46.0 lib/overcommit/hook/pre_commit/java_checkstyle.rb
overcommit-0.45.0 lib/overcommit/hook/pre_commit/java_checkstyle.rb
overcommit-0.44.0 lib/overcommit/hook/pre_commit/java_checkstyle.rb
overcommit-0.43.0 lib/overcommit/hook/pre_commit/java_checkstyle.rb
overcommit-0.42.0 lib/overcommit/hook/pre_commit/java_checkstyle.rb
overcommit-0.41.0 lib/overcommit/hook/pre_commit/java_checkstyle.rb
overcommit-0.40.0 lib/overcommit/hook/pre_commit/java_checkstyle.rb
overcommit-0.39.1 lib/overcommit/hook/pre_commit/java_checkstyle.rb
overcommit-0.39.0 lib/overcommit/hook/pre_commit/java_checkstyle.rb
overcommit-0.38.0 lib/overcommit/hook/pre_commit/java_checkstyle.rb
overcommit-0.37.0 lib/overcommit/hook/pre_commit/java_checkstyle.rb
overcommit-0.36.0 lib/overcommit/hook/pre_commit/java_checkstyle.rb
overcommit-0.35.0 lib/overcommit/hook/pre_commit/java_checkstyle.rb