milestoner 10.0.2 → 11.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 +2 -1
- data.tar.gz.sig +0 -0
- data/{LICENSE.md → LICENSE.adoc} +29 -30
- data/README.adoc +225 -0
- data/bin/milestoner +1 -1
- data/lib/milestoner.rb +2 -2
- data/lib/milestoner/cli.rb +5 -5
- data/lib/milestoner/commit.rb +24 -0
- data/lib/milestoner/identity.rb +4 -15
- data/lib/milestoner/pusher.rb +12 -6
- data/lib/milestoner/tagger.rb +35 -62
- metadata +43 -225
- metadata.gz.sig +0 -0
- data/README.md +0 -204
- data/lib/milestoner/git/config.rb +0 -30
- data/lib/milestoner/git/kit.rb +0 -48
data/lib/milestoner/identity.rb
CHANGED
@@ -3,20 +3,9 @@
|
|
3
3
|
module Milestoner
|
4
4
|
# Gem identity information.
|
5
5
|
module Identity
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
def self.label
|
11
|
-
"Milestoner"
|
12
|
-
end
|
13
|
-
|
14
|
-
def self.version
|
15
|
-
"10.0.2"
|
16
|
-
end
|
17
|
-
|
18
|
-
def self.version_label
|
19
|
-
"#{label} #{version}"
|
20
|
-
end
|
6
|
+
NAME = "milestoner"
|
7
|
+
LABEL = "Milestoner"
|
8
|
+
VERSION = "11.0.0"
|
9
|
+
VERSION_LABEL = "#{LABEL} #{VERSION}"
|
21
10
|
end
|
22
11
|
end
|
data/lib/milestoner/pusher.rb
CHANGED
@@ -3,26 +3,32 @@
|
|
3
3
|
module Milestoner
|
4
4
|
# Handles publishing of Git tags to remote repository.
|
5
5
|
class Pusher
|
6
|
-
def initialize
|
7
|
-
@
|
6
|
+
def initialize repository: GitPlus::Repository.new
|
7
|
+
@repository = repository
|
8
8
|
end
|
9
9
|
|
10
10
|
def push version
|
11
11
|
version = Versionaire::Version version
|
12
12
|
|
13
|
-
fail Errors::Git, "Remote repository not configured." unless
|
13
|
+
fail Errors::Git, "Remote repository not configured." unless repository.config_remote?
|
14
14
|
fail Errors::Git, "Remote tag exists: #{version}." if tag_exists? version
|
15
|
-
return if
|
15
|
+
return if push_tags
|
16
16
|
|
17
17
|
fail Errors::Git, "Tags could not be pushed to remote repository."
|
18
18
|
end
|
19
19
|
|
20
20
|
private
|
21
21
|
|
22
|
-
attr_reader :
|
22
|
+
attr_reader :repository, :version
|
23
23
|
|
24
24
|
def tag_exists? version
|
25
|
-
|
25
|
+
repository.tag_remote? version
|
26
|
+
end
|
27
|
+
|
28
|
+
def push_tags
|
29
|
+
repository.tag_push.then do |_stdout, stderr, status|
|
30
|
+
status.success? && stderr.match?(/[new tag]/)
|
31
|
+
end
|
26
32
|
end
|
27
33
|
end
|
28
34
|
end
|
data/lib/milestoner/tagger.rb
CHANGED
@@ -1,115 +1,88 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "open3"
|
4
3
|
require "thor"
|
5
4
|
require "versionaire"
|
6
|
-
require "tempfile"
|
7
5
|
|
8
6
|
module Milestoner
|
9
7
|
# Handles the tagging of a project repository.
|
10
|
-
# :reek:
|
11
|
-
# :reek:InstanceVariableAssumption
|
8
|
+
# :reek:TooManyInstanceVariables
|
12
9
|
class Tagger
|
13
|
-
attr_reader :
|
10
|
+
attr_reader :commit_prefixes
|
14
11
|
|
15
|
-
def initialize commit_prefixes: [],
|
12
|
+
def initialize commit_prefixes: [], repository: GitPlus::Repository.new, presenter: Commit
|
16
13
|
@commit_prefixes = commit_prefixes
|
17
|
-
@
|
14
|
+
@repository = repository
|
15
|
+
@presenter = presenter
|
18
16
|
@shell = Thor::Shell::Color.new
|
19
17
|
end
|
20
18
|
|
21
19
|
def commit_prefix_regex
|
22
|
-
|
23
|
-
|
24
|
-
Regexp.union commit_prefixes
|
20
|
+
commit_prefixes.empty? ? Regexp.new("") : Regexp.union(commit_prefixes)
|
25
21
|
end
|
26
22
|
|
27
23
|
def commits
|
28
24
|
groups = build_commit_prefix_groups
|
29
25
|
group_by_commit_prefix groups
|
30
|
-
groups.each_value(&:
|
31
|
-
groups.values.flatten.uniq
|
26
|
+
groups.each_value { |commits| commits.sort_by!(&:subject) }
|
27
|
+
groups.values.flatten.uniq(&:subject)
|
32
28
|
end
|
33
29
|
|
34
30
|
def commit_list
|
35
|
-
commits.map { |
|
31
|
+
commits.map { |source| presenter.new source }
|
32
|
+
.map { |commit| "- #{commit.subject_author}" }
|
36
33
|
end
|
37
34
|
|
38
35
|
# :reek:BooleanParameter
|
36
|
+
# :reek:ControlParameter
|
37
|
+
# :reek:TooManyStatements
|
39
38
|
def create version, sign: false
|
40
|
-
|
41
|
-
fail Errors::Git, "Unable to tag without commits."
|
42
|
-
return if
|
39
|
+
version = Versionaire::Version version
|
40
|
+
fail Errors::Git, "Unable to tag without commits." if repository.commits.empty?
|
41
|
+
return if exists? version
|
43
42
|
|
44
|
-
|
43
|
+
content = message version
|
44
|
+
sign ? repository.tag_sign(version, content) : repository.tag_unsign(version, content)
|
45
45
|
end
|
46
46
|
|
47
47
|
private
|
48
48
|
|
49
|
-
attr_reader :
|
50
|
-
|
51
|
-
def git_log_command
|
52
|
-
"git log --oneline --no-merges --format='%s'"
|
53
|
-
end
|
49
|
+
attr_reader :repository, :presenter, :shell
|
54
50
|
|
55
|
-
def
|
56
|
-
|
51
|
+
def saved_commits
|
52
|
+
repository.commits
|
57
53
|
end
|
58
54
|
|
59
|
-
def
|
60
|
-
|
61
|
-
|
62
|
-
git_log_command
|
55
|
+
def tagged_commits
|
56
|
+
repository.commits "#{repository.tag_last}..HEAD"
|
63
57
|
end
|
64
58
|
|
65
|
-
def
|
66
|
-
|
59
|
+
def computed_commits
|
60
|
+
(repository.tagged? ? tagged_commits : saved_commits)
|
67
61
|
end
|
68
62
|
|
69
63
|
def build_commit_prefix_groups
|
70
|
-
|
71
|
-
|
64
|
+
commit_prefixes.map
|
65
|
+
.with_object({}) { |prefix, group| group.merge! prefix => [] }
|
66
|
+
.merge! "Other" => []
|
72
67
|
end
|
73
68
|
|
74
69
|
def group_by_commit_prefix groups = {}
|
75
|
-
|
76
|
-
prefix = commit[commit_prefix_regex]
|
70
|
+
computed_commits.each do |commit|
|
71
|
+
prefix = commit.subject[commit_prefix_regex]
|
77
72
|
key = groups.key?(prefix) ? prefix : "Other"
|
78
|
-
groups[key] << commit
|
73
|
+
groups[key] << commit
|
79
74
|
end
|
80
75
|
end
|
81
76
|
|
82
|
-
def
|
83
|
-
%(Version #{
|
77
|
+
def message version
|
78
|
+
%(Version #{version}\n\n#{commit_list.join "\n"}\n\n)
|
84
79
|
end
|
85
80
|
|
86
|
-
|
87
|
-
|
88
|
-
def git_options message_file, sign: false
|
89
|
-
options = %(--sign --annotate "#{@version}" ) +
|
90
|
-
%(--cleanup verbatim --file "#{message_file.path}")
|
91
|
-
return options.gsub "--sign ", "" unless sign
|
81
|
+
def exists? version
|
82
|
+
return false unless repository.tag_local? version
|
92
83
|
|
93
|
-
|
94
|
-
end
|
95
|
-
|
96
|
-
def existing_tag?
|
97
|
-
return false unless git.tag_local? @version
|
98
|
-
|
99
|
-
shell.say_status :warn, "Local tag exists: #{@version}. Skipped.", :yellow
|
84
|
+
shell.say_status :warn, "Local tag exists: #{version}. Skipped.", :yellow
|
100
85
|
true
|
101
86
|
end
|
102
|
-
|
103
|
-
# :reek:BooleanParameter
|
104
|
-
# :reek:TooManyStatements
|
105
|
-
def git_tag sign: false
|
106
|
-
message_file = Tempfile.new Identity.name
|
107
|
-
File.open(message_file, "w") { |file| file.write git_message }
|
108
|
-
status = system "git tag #{git_options message_file, sign: sign}"
|
109
|
-
fail Errors::Git, "Unable to create tag: #{@version}." unless status
|
110
|
-
ensure
|
111
|
-
message_file.close
|
112
|
-
message_file.unlink
|
113
|
-
end
|
114
87
|
end
|
115
88
|
end
|
metadata
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: milestoner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 11.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brooke Kuhlmann
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain:
|
11
11
|
- |
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
|
-
MIIC/
|
14
|
-
|
15
|
-
|
13
|
+
MIIC/jCCAeagAwIBAgIBAzANBgkqhkiG9w0BAQsFADAlMSMwIQYDVQQDDBpicm9v
|
14
|
+
a2UvREM9YWxjaGVtaXN0cy9EQz1pbzAeFw0yMDAzMTUxNDQ1MzJaFw0yMTAzMTUx
|
15
|
+
NDQ1MzJaMCUxIzAhBgNVBAMMGmJyb29rZS9EQz1hbGNoZW1pc3RzL0RDPWlvMIIB
|
16
16
|
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6l1qpXTiomH1RfMRloyw7MiE
|
17
17
|
xyVx/x8Yc3EupdH7uhNaTXQGyORN6aOY//1QXXMHIZ9tW74nZLhesWMSUMYy0XhB
|
18
18
|
brs+KkurHnc9FnEJAbG7ebGvl/ncqZt72nQvaxpDxvuCBHgJAz+8i5wl6FhLw+oT
|
@@ -20,46 +20,32 @@ cert_chain:
|
|
20
20
|
D5vkU0YlAm1r98BymuJlcQ1qdkVEI1d48ph4kcS0S0nv1RiuyVb6TCAR3Nu3VaVq
|
21
21
|
3fPzZKJLZBx67UvXdbdicWPiUR75elI4PXpLIic3xytaF52ZJYyKZCNZJhNwfQID
|
22
22
|
AQABozkwNzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU0nzow9vc
|
23
|
-
2CdikiiE3fJhP/
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
23
|
+
2CdikiiE3fJhP/gY4ggwDQYJKoZIhvcNAQELBQADggEBAIHhAlD3po4sTYqacXaQ
|
24
|
+
XI9jIhrfMy//2PgbHWcETtlJPBeNUbbSNBABcllUHKqYsVDlSvSmss034KSWNR8F
|
25
|
+
bF1GcloicyvcCC4y6IoW4it0COAcdeaaxkxiBSgKdQFpff9REnDlIKK4uQ9lLxIo
|
26
|
+
Y2G5xubiziKZkyfWFuSr67PIjW3Bu673D1JVBArhA1qbgQmYQcy1CkGOjo+iO8Nf
|
27
|
+
7u/QSfBHb+r/bXhKscDgPpnKwbUmvgO2+94zJG9KsrmIydlzYfsD09aXKx0t6Xy4
|
28
|
+
2XV8FRa7/JimI07sPLC13eLY3xd/aYTi85Z782KIA4j0G8XEEWAX0ouBhlXPocZv
|
29
|
+
QWc=
|
30
30
|
-----END CERTIFICATE-----
|
31
|
-
date: 2020-
|
31
|
+
date: 2020-12-30 00:00:00.000000000 Z
|
32
32
|
dependencies:
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
|
-
name:
|
34
|
+
name: git_plus
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: '
|
40
|
-
type: :runtime
|
41
|
-
prerelease: false
|
42
|
-
version_requirements: !ruby/object:Gem::Requirement
|
43
|
-
requirements:
|
44
|
-
- - "~>"
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
version: '6.0'
|
47
|
-
- !ruby/object:Gem::Dependency
|
48
|
-
name: thor
|
49
|
-
requirement: !ruby/object:Gem::Requirement
|
50
|
-
requirements:
|
51
|
-
- - "~>"
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: '0.20'
|
39
|
+
version: '0.1'
|
54
40
|
type: :runtime
|
55
41
|
prerelease: false
|
56
42
|
version_requirements: !ruby/object:Gem::Requirement
|
57
43
|
requirements:
|
58
44
|
- - "~>"
|
59
45
|
- !ruby/object:Gem::Version
|
60
|
-
version: '0.
|
46
|
+
version: '0.1'
|
61
47
|
- !ruby/object:Gem::Dependency
|
62
|
-
name:
|
48
|
+
name: refinements
|
63
49
|
requirement: !ruby/object:Gem::Requirement
|
64
50
|
requirements:
|
65
51
|
- - "~>"
|
@@ -73,247 +59,79 @@ dependencies:
|
|
73
59
|
- !ruby/object:Gem::Version
|
74
60
|
version: '8.0'
|
75
61
|
- !ruby/object:Gem::Dependency
|
76
|
-
name:
|
77
|
-
requirement: !ruby/object:Gem::Requirement
|
78
|
-
requirements:
|
79
|
-
- - "~>"
|
80
|
-
- !ruby/object:Gem::Version
|
81
|
-
version: '0.6'
|
82
|
-
type: :development
|
83
|
-
prerelease: false
|
84
|
-
version_requirements: !ruby/object:Gem::Requirement
|
85
|
-
requirements:
|
86
|
-
- - "~>"
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
-
version: '0.6'
|
89
|
-
- !ruby/object:Gem::Dependency
|
90
|
-
name: climate_control
|
91
|
-
requirement: !ruby/object:Gem::Requirement
|
92
|
-
requirements:
|
93
|
-
- - "~>"
|
94
|
-
- !ruby/object:Gem::Version
|
95
|
-
version: '0.1'
|
96
|
-
type: :development
|
97
|
-
prerelease: false
|
98
|
-
version_requirements: !ruby/object:Gem::Requirement
|
99
|
-
requirements:
|
100
|
-
- - "~>"
|
101
|
-
- !ruby/object:Gem::Version
|
102
|
-
version: '0.1'
|
103
|
-
- !ruby/object:Gem::Dependency
|
104
|
-
name: gemsmith
|
105
|
-
requirement: !ruby/object:Gem::Requirement
|
106
|
-
requirements:
|
107
|
-
- - "~>"
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: '14.0'
|
110
|
-
type: :development
|
111
|
-
prerelease: false
|
112
|
-
version_requirements: !ruby/object:Gem::Requirement
|
113
|
-
requirements:
|
114
|
-
- - "~>"
|
115
|
-
- !ruby/object:Gem::Version
|
116
|
-
version: '14.0'
|
117
|
-
- !ruby/object:Gem::Dependency
|
118
|
-
name: git-cop
|
119
|
-
requirement: !ruby/object:Gem::Requirement
|
120
|
-
requirements:
|
121
|
-
- - "~>"
|
122
|
-
- !ruby/object:Gem::Version
|
123
|
-
version: '4.0'
|
124
|
-
type: :development
|
125
|
-
prerelease: false
|
126
|
-
version_requirements: !ruby/object:Gem::Requirement
|
127
|
-
requirements:
|
128
|
-
- - "~>"
|
129
|
-
- !ruby/object:Gem::Version
|
130
|
-
version: '4.0'
|
131
|
-
- !ruby/object:Gem::Dependency
|
132
|
-
name: guard-rspec
|
133
|
-
requirement: !ruby/object:Gem::Requirement
|
134
|
-
requirements:
|
135
|
-
- - "~>"
|
136
|
-
- !ruby/object:Gem::Version
|
137
|
-
version: '4.7'
|
138
|
-
type: :development
|
139
|
-
prerelease: false
|
140
|
-
version_requirements: !ruby/object:Gem::Requirement
|
141
|
-
requirements:
|
142
|
-
- - "~>"
|
143
|
-
- !ruby/object:Gem::Version
|
144
|
-
version: '4.7'
|
145
|
-
- !ruby/object:Gem::Dependency
|
146
|
-
name: pry
|
147
|
-
requirement: !ruby/object:Gem::Requirement
|
148
|
-
requirements:
|
149
|
-
- - "~>"
|
150
|
-
- !ruby/object:Gem::Version
|
151
|
-
version: '0.12'
|
152
|
-
type: :development
|
153
|
-
prerelease: false
|
154
|
-
version_requirements: !ruby/object:Gem::Requirement
|
155
|
-
requirements:
|
156
|
-
- - "~>"
|
157
|
-
- !ruby/object:Gem::Version
|
158
|
-
version: '0.12'
|
159
|
-
- !ruby/object:Gem::Dependency
|
160
|
-
name: pry-byebug
|
161
|
-
requirement: !ruby/object:Gem::Requirement
|
162
|
-
requirements:
|
163
|
-
- - "~>"
|
164
|
-
- !ruby/object:Gem::Version
|
165
|
-
version: '3.7'
|
166
|
-
type: :development
|
167
|
-
prerelease: false
|
168
|
-
version_requirements: !ruby/object:Gem::Requirement
|
169
|
-
requirements:
|
170
|
-
- - "~>"
|
171
|
-
- !ruby/object:Gem::Version
|
172
|
-
version: '3.7'
|
173
|
-
- !ruby/object:Gem::Dependency
|
174
|
-
name: rake
|
175
|
-
requirement: !ruby/object:Gem::Requirement
|
176
|
-
requirements:
|
177
|
-
- - "~>"
|
178
|
-
- !ruby/object:Gem::Version
|
179
|
-
version: '13.0'
|
180
|
-
type: :development
|
181
|
-
prerelease: false
|
182
|
-
version_requirements: !ruby/object:Gem::Requirement
|
183
|
-
requirements:
|
184
|
-
- - "~>"
|
185
|
-
- !ruby/object:Gem::Version
|
186
|
-
version: '13.0'
|
187
|
-
- !ruby/object:Gem::Dependency
|
188
|
-
name: reek
|
189
|
-
requirement: !ruby/object:Gem::Requirement
|
190
|
-
requirements:
|
191
|
-
- - "~>"
|
192
|
-
- !ruby/object:Gem::Version
|
193
|
-
version: '5.6'
|
194
|
-
type: :development
|
195
|
-
prerelease: false
|
196
|
-
version_requirements: !ruby/object:Gem::Requirement
|
197
|
-
requirements:
|
198
|
-
- - "~>"
|
199
|
-
- !ruby/object:Gem::Version
|
200
|
-
version: '5.6'
|
201
|
-
- !ruby/object:Gem::Dependency
|
202
|
-
name: rspec
|
203
|
-
requirement: !ruby/object:Gem::Requirement
|
204
|
-
requirements:
|
205
|
-
- - "~>"
|
206
|
-
- !ruby/object:Gem::Version
|
207
|
-
version: '3.9'
|
208
|
-
type: :development
|
209
|
-
prerelease: false
|
210
|
-
version_requirements: !ruby/object:Gem::Requirement
|
211
|
-
requirements:
|
212
|
-
- - "~>"
|
213
|
-
- !ruby/object:Gem::Version
|
214
|
-
version: '3.9'
|
215
|
-
- !ruby/object:Gem::Dependency
|
216
|
-
name: rubocop
|
217
|
-
requirement: !ruby/object:Gem::Requirement
|
218
|
-
requirements:
|
219
|
-
- - "~>"
|
220
|
-
- !ruby/object:Gem::Version
|
221
|
-
version: '0.79'
|
222
|
-
type: :development
|
223
|
-
prerelease: false
|
224
|
-
version_requirements: !ruby/object:Gem::Requirement
|
225
|
-
requirements:
|
226
|
-
- - "~>"
|
227
|
-
- !ruby/object:Gem::Version
|
228
|
-
version: '0.79'
|
229
|
-
- !ruby/object:Gem::Dependency
|
230
|
-
name: rubocop-performance
|
231
|
-
requirement: !ruby/object:Gem::Requirement
|
232
|
-
requirements:
|
233
|
-
- - "~>"
|
234
|
-
- !ruby/object:Gem::Version
|
235
|
-
version: '1.5'
|
236
|
-
type: :development
|
237
|
-
prerelease: false
|
238
|
-
version_requirements: !ruby/object:Gem::Requirement
|
239
|
-
requirements:
|
240
|
-
- - "~>"
|
241
|
-
- !ruby/object:Gem::Version
|
242
|
-
version: '1.5'
|
243
|
-
- !ruby/object:Gem::Dependency
|
244
|
-
name: rubocop-rake
|
62
|
+
name: runcom
|
245
63
|
requirement: !ruby/object:Gem::Requirement
|
246
64
|
requirements:
|
247
65
|
- - "~>"
|
248
66
|
- !ruby/object:Gem::Version
|
249
|
-
version: '0
|
250
|
-
type: :
|
67
|
+
version: '7.0'
|
68
|
+
type: :runtime
|
251
69
|
prerelease: false
|
252
70
|
version_requirements: !ruby/object:Gem::Requirement
|
253
71
|
requirements:
|
254
72
|
- - "~>"
|
255
73
|
- !ruby/object:Gem::Version
|
256
|
-
version: '0
|
74
|
+
version: '7.0'
|
257
75
|
- !ruby/object:Gem::Dependency
|
258
|
-
name:
|
76
|
+
name: thor
|
259
77
|
requirement: !ruby/object:Gem::Requirement
|
260
78
|
requirements:
|
261
79
|
- - "~>"
|
262
80
|
- !ruby/object:Gem::Version
|
263
|
-
version: '
|
264
|
-
type: :
|
81
|
+
version: '0.20'
|
82
|
+
type: :runtime
|
265
83
|
prerelease: false
|
266
84
|
version_requirements: !ruby/object:Gem::Requirement
|
267
85
|
requirements:
|
268
86
|
- - "~>"
|
269
87
|
- !ruby/object:Gem::Version
|
270
|
-
version: '
|
88
|
+
version: '0.20'
|
271
89
|
- !ruby/object:Gem::Dependency
|
272
|
-
name:
|
90
|
+
name: versionaire
|
273
91
|
requirement: !ruby/object:Gem::Requirement
|
274
92
|
requirements:
|
275
93
|
- - "~>"
|
276
94
|
- !ruby/object:Gem::Version
|
277
|
-
version: '0
|
278
|
-
type: :
|
95
|
+
version: '9.0'
|
96
|
+
type: :runtime
|
279
97
|
prerelease: false
|
280
98
|
version_requirements: !ruby/object:Gem::Requirement
|
281
99
|
requirements:
|
282
100
|
- - "~>"
|
283
101
|
- !ruby/object:Gem::Version
|
284
|
-
version: '0
|
285
|
-
description:
|
102
|
+
version: '9.0'
|
103
|
+
description:
|
286
104
|
email:
|
287
105
|
- brooke@alchemists.io
|
288
106
|
executables:
|
289
107
|
- milestoner
|
290
108
|
extensions: []
|
291
109
|
extra_rdoc_files:
|
292
|
-
- README.
|
293
|
-
- LICENSE.
|
110
|
+
- README.adoc
|
111
|
+
- LICENSE.adoc
|
294
112
|
files:
|
295
|
-
- LICENSE.
|
296
|
-
- README.
|
113
|
+
- LICENSE.adoc
|
114
|
+
- README.adoc
|
297
115
|
- bin/milestoner
|
298
116
|
- lib/milestoner.rb
|
299
117
|
- lib/milestoner/cli.rb
|
118
|
+
- lib/milestoner/commit.rb
|
300
119
|
- lib/milestoner/errors/base.rb
|
301
120
|
- lib/milestoner/errors/duplicate_tag.rb
|
302
121
|
- lib/milestoner/errors/git.rb
|
303
|
-
- lib/milestoner/git/config.rb
|
304
|
-
- lib/milestoner/git/kit.rb
|
305
122
|
- lib/milestoner/identity.rb
|
306
123
|
- lib/milestoner/publisher.rb
|
307
124
|
- lib/milestoner/pusher.rb
|
308
125
|
- lib/milestoner/tagger.rb
|
309
|
-
homepage: https://
|
126
|
+
homepage: https://www.alchemists.io/projects/milestoner
|
310
127
|
licenses:
|
311
128
|
- Apache-2.0
|
312
129
|
metadata:
|
313
|
-
source_code_uri: https://github.com/bkuhlmann/milestoner
|
314
|
-
changelog_uri: https://github.com/bkuhlmann/milestoner/blob/master/CHANGES.md
|
315
130
|
bug_tracker_uri: https://github.com/bkuhlmann/milestoner/issues
|
316
|
-
|
131
|
+
changelog_uri: https://www.alchemists.io/projects/milestoner/changes.html
|
132
|
+
documentation_uri: https://www.alchemists.io/projects/milestoner
|
133
|
+
source_code_uri: https://github.com/bkuhlmann/milestoner
|
134
|
+
post_install_message:
|
317
135
|
rdoc_options: []
|
318
136
|
require_paths:
|
319
137
|
- lib
|
@@ -321,15 +139,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
321
139
|
requirements:
|
322
140
|
- - "~>"
|
323
141
|
- !ruby/object:Gem::Version
|
324
|
-
version: '
|
142
|
+
version: '3.0'
|
325
143
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
326
144
|
requirements:
|
327
145
|
- - ">="
|
328
146
|
- !ruby/object:Gem::Version
|
329
147
|
version: '0'
|
330
148
|
requirements: []
|
331
|
-
rubygems_version: 3.
|
332
|
-
signing_key:
|
149
|
+
rubygems_version: 3.2.3
|
150
|
+
signing_key:
|
333
151
|
specification_version: 4
|
334
152
|
summary: A command line interface for crafting Git repository milestones.
|
335
153
|
test_files: []
|