Module: KKGit::RakeTasks

Defined in:
lib/kk/git/rake_tasks.rb

Overview

Rake 集成:在任意项目的 Rakefile 中 ‘require ’kk/git/rake_tasks’‘ 即可注册任务。

说明:

  • 这些任务**不会 exit/abort**,以便在其它 task 中被 invoke。

  • 会把生成结果写入 ‘ENV`,方便上层 task 复用。

Class Method Summary collapse

Class Method Details

.install!Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/kk/git/rake_tasks.rb', line 13

def self.install!
  extend Rake::DSL

  namespace :git do
    desc '根据暂存区变更生成 commit message(Conventional Commits)'
    task :commit_message do
      msg = KKGit::CommitMessage.generate(mode: :staged)
      ENV['KK_GIT_COMMIT_MESSAGE'] = msg.to_s
      puts msg if msg
    end

    desc '根据工作区变更生成 commit message(含 untracked)'
    task :commit_message_worktree do
      msg = KKGit::CommitMessage.generate(mode: :worktree)
      ENV['KK_GIT_COMMIT_MESSAGE'] = msg.to_s
      puts msg if msg
    end

    desc '合并暂存区+工作区变更生成 commit message'
    task :commit_message_all do
      msg = KKGit::CommitMessage.generate(mode: :all)
      ENV['KK_GIT_COMMIT_MESSAGE'] = msg.to_s
      puts msg if msg
    end
  end
end