Module: Buildizer::Packager::OvercommitMod

Included in:
Buildizer::Packager
Defined in:
lib/buildizer/packager/overcommit_mod.rb

Instance Method Summary collapse

Instance Method Details

#_overcommit_add_precommit!(name, hookcode, desc: nil, required: true) ⇒ Object



68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'lib/buildizer/packager/overcommit_mod.rb', line 68

def _overcommit_add_precommit!(name, hookcode, desc: nil, required: true)
  hook_name = name.to_s.split('_').map(&:capitalize).join
  overcommit_conf['PreCommit'] ||= {}
  overcommit_conf['PreCommit'][hook_name] = {}.tap do |hook|
    hook['enabled'] = true
    hook['required'] = required
    hook['desc'] = desc if desc
  end
  overcommit_conf_dump!

  overcommit_hooks_pre_commit_path.mkpath
  path = overcommit_hooks_pre_commit_path.join("#{name}.rb")
  write_path path, hookcode
  command! 'overcommit --sign pre-commit'
end

#overcommit_ci_setup!Object



52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/buildizer/packager/overcommit_mod.rb', line 52

def overcommit_ci_setup!
  hookcode = "module Overcommit::Hook::PreCommit\n  class BuildizerCiVerify < Base\n    def run\nreturn :fail unless system(\"buildizer setup --verify-ci\")\n:pass\n    end\n  end\nend\n  HOOKCODE\n\n  _overcommit_add_precommit!(:buildizer_ci_verify, hookcode,\n                             desc: \"Verify \#{ci.ci_name} configuration is up to date\")\nend\n"

#overcommit_confObject



18
19
20
# File 'lib/buildizer/packager/overcommit_mod.rb', line 18

def overcommit_conf
  @overcommit_conf ||= overcommit_conf_path.load_yaml
end

#overcommit_conf_dump!Object



26
27
28
29
# File 'lib/buildizer/packager/overcommit_mod.rb', line 26

def overcommit_conf_dump!
  write_path overcommit_conf_path, overcommit_conf_raw
  command! 'overcommit --sign'
end

#overcommit_conf_pathObject



6
7
8
# File 'lib/buildizer/packager/overcommit_mod.rb', line 6

def overcommit_conf_path
  package_path.join('.overcommit.yml')
end

#overcommit_conf_rawObject



22
23
24
# File 'lib/buildizer/packager/overcommit_mod.rb', line 22

def overcommit_conf_raw
  YAML.dump(overcommit_conf)
end

#overcommit_hooks_pathObject



10
11
12
# File 'lib/buildizer/packager/overcommit_mod.rb', line 10

def overcommit_hooks_path
  package_path.join('.git-hooks')
end

#overcommit_hooks_pre_commit_pathObject



14
15
16
# File 'lib/buildizer/packager/overcommit_mod.rb', line 14

def overcommit_hooks_pre_commit_path
  overcommit_hooks_path.join('pre_commit')
end

#overcommit_setup!Object



31
32
33
34
35
# File 'lib/buildizer/packager/overcommit_mod.rb', line 31

def overcommit_setup!
  overcommit_hooks_path.mkpath
  overcommit_conf_dump!
  command! 'overcommit --install'
end

#overcommit_verify_setup!Object



37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/buildizer/packager/overcommit_mod.rb', line 37

def overcommit_verify_setup!
  hookcode = "module Overcommit::Hook::PreCommit\n  class BuildizerVerify < Base\n    def run\nreturn :fail unless system(\"buildizer verify\")\n:pass\n    end\n  end\nend\n  HOOKCODE\n\n  _overcommit_add_precommit!(:buildizer_verify, hookcode, desc: \"Verify Buildizer conf file\")\nend\n"