kk-git 0.1.2 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8365947d559a7746f3665f7fa7ed53e6cb8459cee534a7366baaa30039653d64
4
- data.tar.gz: 94ea1cc2783338d9404bf9389f627bb9382e63c9be9c4b69308fa7f3299c2337
3
+ metadata.gz: 3ca69c20553ab35b3d5e5f2372902cbe391aa7c6cce9aa761a6eac5b25398179
4
+ data.tar.gz: dab4efe83a765c4904346fb1e1bdb1c2feed600831e997aea83b41a6e8c88094
5
5
  SHA512:
6
- metadata.gz: 4a17582a600ea34e3c118e9d180c76ea2a4b3c4cb8b8ca8a4528fd4c3d44458e79ba2bb627423f1ddc361f7db00450c1e6ad0bcef6919fb2ab60bfc5a86edba6
7
- data.tar.gz: 89fa04c6e32821b20c3db5831bcfc26651162d09dddc1f3c750102ed5a94ef0eba146283e7330c9774370f108c8d836da19388752d782b44e5e8c518aef12953
6
+ metadata.gz: '008eb6e289dedb293bec81dd52c3fe9367d59276f51f6189f6d0988ac187a0a523981988fa4c0aee233244b7bd1613e6fd6303a86c4d9d868121744f095d321f'
7
+ data.tar.gz: 9f1cb69b654adcda6f5d6eb6cd8477cff12960334caeafa5276b10e4cf3ec4c505601c16845be20fd2329df22bcea5b05dc8c47111f9d7c66769b864f7e3de14
data/exe/kk-git CHANGED
@@ -22,7 +22,10 @@ options = {
22
22
  }
23
23
 
24
24
  parser = OptionParser.new do |opts|
25
- opts.banner = "Usage: kk-git commit-message [options]\n\n根据当前 Git repo 变更生成 Conventional Commit 信息。"
25
+ opts.banner = "Usage:\n" \
26
+ " kk-git --version\n" \
27
+ " kk-git commit-message [options]\n\n" \
28
+ "根据当前 Git repo 变更生成 Conventional Commit 信息。"
26
29
 
27
30
  opts.on('--repo DIR', '指定 repo 目录(默认当前目录)') { |v| options[:repo_dir] = v }
28
31
 
@@ -45,6 +48,17 @@ parser = OptionParser.new do |opts|
45
48
  puts opts
46
49
  exit 0
47
50
  end
51
+
52
+ opts.on('-v', '--version', '显示版本号') do
53
+ puts KKGit::VERSION
54
+ exit 0
55
+ end
56
+ end
57
+
58
+ # 支持 `kk-git --version` 这种无子命令形式
59
+ if ['--version', '-v'].include?(ARGV[0])
60
+ puts KKGit::VERSION
61
+ exit 0
48
62
  end
49
63
 
50
64
  subcommand = ARGV.shift
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rake'
4
+ require 'kk/git'
5
+
6
+ module KKGit
7
+ # Rake 集成:在任意项目的 Rakefile 中 `require 'kk/git/rake_tasks'` 即可注册任务。
8
+ #
9
+ # 说明:
10
+ # - 这些任务**不会 exit/abort**,以便在其它 task 中被 invoke。
11
+ # - 会把生成结果写入 `ENV['KK_GIT_COMMIT_MESSAGE']`,方便上层 task 复用。
12
+ module RakeTasks
13
+ def self.install!
14
+ extend Rake::DSL
15
+
16
+ namespace :git do
17
+ desc '根据暂存区变更生成 commit message(Conventional Commits)'
18
+ task :commit_message do
19
+ msg = KKGit::CommitMessage.generate(mode: :staged)
20
+ ENV['KK_GIT_COMMIT_MESSAGE'] = msg.to_s
21
+ puts msg if msg
22
+ end
23
+
24
+ desc '根据工作区变更生成 commit message(含 untracked)'
25
+ task :commit_message_worktree do
26
+ msg = KKGit::CommitMessage.generate(mode: :worktree)
27
+ ENV['KK_GIT_COMMIT_MESSAGE'] = msg.to_s
28
+ puts msg if msg
29
+ end
30
+
31
+ desc '合并暂存区+工作区变更生成 commit message'
32
+ task :commit_message_all do
33
+ msg = KKGit::CommitMessage.generate(mode: :all)
34
+ ENV['KK_GIT_COMMIT_MESSAGE'] = msg.to_s
35
+ puts msg if msg
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+
42
+ KKGit::RakeTasks.install!
43
+
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module KKGit
4
- VERSION = '0.1.2'
4
+ VERSION = '0.1.4'
5
5
  end
6
6
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kk-git
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - kk
@@ -22,6 +22,7 @@ files:
22
22
  - exe/kk-git
23
23
  - lib/kk/git.rb
24
24
  - lib/kk/git/commit_message.rb
25
+ - lib/kk/git/rake_tasks.rb
25
26
  - lib/kk/git/version.rb
26
27
  homepage: ''
27
28
  licenses: