milestoner 0.5.0 → 1.0.0
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 +4 -4
- checksums.yaml.gz.sig +3 -2
- data/README.md +3 -2
- data/lib/milestoner/cli.rb +13 -13
- data/lib/milestoner/identity.rb +1 -1
- data/lib/milestoner/publisher.rb +1 -3
- data/lib/milestoner/tagger.rb +2 -2
- data.tar.gz.sig +0 -0
- metadata +2 -2
- metadata.gz.sig +1 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4be67179d9456910d256093754d8b06ccab7f23f
|
4
|
+
data.tar.gz: 870de2e35828142279bd63f2b3f9565f370d1891
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c5a2a2e4461c492aa888e3f123911f77c51a2a8dd7eacbfb5faa9e897ba4a2597edab27d39d8865c2f9a98197efa1531e5d82847e002ef49a1d78dc7ef182748
|
7
|
+
data.tar.gz: 6273c5f171647a3d6551a1718f812a033eb1ef0e04defa478b032d0f08b415d906db388dd9b1a1853f06fbaaa56ada2603fa306e020069375a76de362158c14c
|
checksums.yaml.gz.sig
CHANGED
@@ -1,2 +1,3 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
��8;��0١]҉
���4I����]ԓւ��Z���!�`Մ9"�|��������D�ʌ�OW2 �U�D�4_�To�E8��jn
|
2
|
+
0�p�πڔ#kvYdu�9+�P��"4q��?=���{ҍX��@�gI��\����`��(�K�O�-�M`�!W%�~�S�r�9p�ɽ���7�d�
|
3
|
+
?Ϋ$@.�+�Ro�9��Jo�ڹ/X�,+�����c�N숼+�L]�=�����c_t����Oh+�
|
data/README.md
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
[](https://gemnasium.com/bkuhlmann/milestoner)
|
7
7
|
[](http://travis-ci.org/bkuhlmann/milestoner)
|
8
8
|
|
9
|
-
A
|
9
|
+
A command line interface for releasing Git repository milestones.
|
10
10
|
|
11
11
|
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
|
12
12
|
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
|
@@ -37,12 +37,13 @@ A tool for automating and releasing Git repository milestones.
|
|
37
37
|
Git tag message.
|
38
38
|
- Ensures Git commit messages are grouped by prefix, in order defined, for each Git tag message (prefixes can be
|
39
39
|
customized): "Fixed", "Added", "Updated", "Removed", "Refactored".
|
40
|
+
- Ensures Git commit merge messages are excluded within each Git tag message.
|
40
41
|
- Ensures Git commit messages are alphabetically sorted within each Git tag message.
|
41
42
|
- Ensures duplicate Git commit messages are removed (if any) within each Git tag message.
|
42
43
|
- Ensures Git commit messages are sanitized by removing extra spaces and `[ci skip]` text within each Git tag message.
|
43
44
|
- Provides optional security for signing Git tags with [GnuPG](https://www.gnupg.org) signing key.
|
44
45
|
|
45
|
-
[](https://asciinema.org/a/ay79m2qsfc2z15zdlw7w6r5fv)
|
46
47
|
|
47
48
|
# Requirements
|
48
49
|
|
data/lib/milestoner/cli.rb
CHANGED
@@ -9,22 +9,22 @@ module Milestoner
|
|
9
9
|
include Thor::Actions
|
10
10
|
include ThorPlus::Actions
|
11
11
|
|
12
|
-
package_name
|
12
|
+
package_name Identity.version_label
|
13
13
|
|
14
14
|
def initialize args = [], options = {}, config = {}
|
15
15
|
super args, options, config
|
16
|
-
@configuration =
|
17
|
-
@tagger =
|
18
|
-
|
19
|
-
@pusher =
|
20
|
-
@publisher =
|
16
|
+
@configuration = Configuration.new Identity.file_name, defaults: defaults
|
17
|
+
@tagger = Tagger.new configuration.settings[:version],
|
18
|
+
commit_prefixes: configuration.settings[:git_commit_prefixes]
|
19
|
+
@pusher = Pusher.new
|
20
|
+
@publisher = Publisher.new tagger: tagger, pusher: pusher
|
21
21
|
end
|
22
22
|
|
23
23
|
desc "-c, [--commits]", "Show commits for next milestone."
|
24
24
|
map %w(-c --commits) => :commits
|
25
25
|
def commits
|
26
26
|
tagger.commit_list.each { |commit| say commit }
|
27
|
-
rescue
|
27
|
+
rescue Errors::Base => base_error
|
28
28
|
error base_error.message
|
29
29
|
end
|
30
30
|
|
@@ -34,7 +34,7 @@ module Milestoner
|
|
34
34
|
def tag version = configuration.settings[:version]
|
35
35
|
tagger.create version, sign: sign_tag?(options[:sign])
|
36
36
|
say "Repository tagged: #{tagger.version_label}."
|
37
|
-
rescue
|
37
|
+
rescue Errors::Base => base_error
|
38
38
|
error base_error.message
|
39
39
|
end
|
40
40
|
|
@@ -43,7 +43,7 @@ module Milestoner
|
|
43
43
|
def push
|
44
44
|
pusher.push
|
45
45
|
info "Tags pushed to remote repository."
|
46
|
-
rescue
|
46
|
+
rescue Errors::Base => base_error
|
47
47
|
error base_error.message
|
48
48
|
end
|
49
49
|
|
@@ -54,21 +54,21 @@ module Milestoner
|
|
54
54
|
publisher.publish version, sign: sign_tag?(options[:sign])
|
55
55
|
info "Repository tagged and pushed: #{tagger.version_label}."
|
56
56
|
info "Milestone published!"
|
57
|
-
rescue
|
57
|
+
rescue Errors::Base => base_error
|
58
58
|
error base_error.message
|
59
59
|
end
|
60
60
|
|
61
|
-
desc "-e, [--edit]", "Edit #{
|
61
|
+
desc "-e, [--edit]", "Edit #{Identity.label} settings in default editor."
|
62
62
|
map %w(-e --edit) => :edit
|
63
63
|
def edit
|
64
64
|
info "Editing: #{configuration.computed_file_path}..."
|
65
65
|
`#{editor} #{configuration.computed_file_path}`
|
66
66
|
end
|
67
67
|
|
68
|
-
desc "-v, [--version]", "Show #{
|
68
|
+
desc "-v, [--version]", "Show #{Identity.label} version."
|
69
69
|
map %w(-v --version) => :version
|
70
70
|
def version
|
71
|
-
say
|
71
|
+
say Identity.version_label
|
72
72
|
end
|
73
73
|
|
74
74
|
desc "-h, [--help=HELP]", "Show this message or get help for a command."
|
data/lib/milestoner/identity.rb
CHANGED
data/lib/milestoner/publisher.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module Milestoner
|
2
2
|
# Handles the tagging and pushing of a milestone to a remote repository.
|
3
3
|
class Publisher
|
4
|
-
def initialize tagger, pusher
|
4
|
+
def initialize tagger: Tagger.new, pusher: Pusher.new
|
5
5
|
@tagger = tagger
|
6
6
|
@pusher = pusher
|
7
7
|
end
|
@@ -9,8 +9,6 @@ module Milestoner
|
|
9
9
|
def publish version, sign: false
|
10
10
|
tagger.create version, sign: sign
|
11
11
|
pusher.push
|
12
|
-
ensure
|
13
|
-
tagger.destroy
|
14
12
|
end
|
15
13
|
|
16
14
|
private
|
data/lib/milestoner/tagger.rb
CHANGED
@@ -74,7 +74,7 @@ module Milestoner
|
|
74
74
|
|
75
75
|
def raw_commits
|
76
76
|
tag_command = "$(git describe --abbrev=0 --tags --always)..HEAD"
|
77
|
-
full_command = "git log --oneline --
|
77
|
+
full_command = "git log --oneline --no-merges --format='%s' #{tag_command}"
|
78
78
|
full_command.gsub!(tag_command, "") unless tagged?
|
79
79
|
|
80
80
|
`#{full_command}`.split("\n")
|
@@ -112,7 +112,7 @@ module Milestoner
|
|
112
112
|
end
|
113
113
|
|
114
114
|
def create_tag sign: false
|
115
|
-
message_file = Tempfile.new
|
115
|
+
message_file = Tempfile.new Identity.name
|
116
116
|
File.open(message_file, "w") { |file| file.write tag_message }
|
117
117
|
`git tag #{tag_options message_file, sign: sign}`
|
118
118
|
ensure
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: milestoner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brooke Kuhlmann
|
@@ -30,7 +30,7 @@ cert_chain:
|
|
30
30
|
aSif+qBc6oHD7EQWPF5cZkzkIURuwNwPBngZGxIKaMAgRhjGFXzUMAaq++r59cS9
|
31
31
|
xTfQ4k6fglKEgpnLAXiKdo2c8Ym+X4rIKFfedQ==
|
32
32
|
-----END CERTIFICATE-----
|
33
|
-
date: 2015-09-
|
33
|
+
date: 2015-09-20 00:00:00.000000000 Z
|
34
34
|
dependencies:
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
36
|
name: thor
|
metadata.gz.sig
CHANGED
@@ -1,3 +1 @@
|
|
1
|
-
|
2
|
-
Q���`JqX;���i���p{D�:�"
|
3
|
-
��y���^�f����<����_sR꒜U�@�@|i��ϛj=�����^и�$�Y�i;�Z�
|
1
|
+
q.�NH(;]��0���F�K����W)�L�x��e�ȵ���D0��Zש�t8��wH!�e��3 �ȟ��@�p��L�jX�ÉaL��c����>i�@n$����/�)�tU��{�-�N�5T!�h�%.v
|