milestoner 14.5.0 → 15.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bb529dac4a2cd456a1539b254126ab7c07fd9fc50e653bad1eaf65d5ad158375
4
- data.tar.gz: 904163bfab347bbb92d5ee3726037f4c8aa211da890bc3e839d4582561c47f5e
3
+ metadata.gz: a4579046dc9d28e1c9666e7ed661f8936ff2dfcda7009636a8cc7061e1ec69b0
4
+ data.tar.gz: fadbf35b903e2cad058b493bed2c4e3c3d51d926389c37280e3e92bc32e1131b
5
5
  SHA512:
6
- metadata.gz: 04627d28678abc1e9d45eb7b584c69ea62b59c74f10decb85025702ef92137064cff59071e6000095ab0996f40a8e7a7399a84e14c3ba9a7cb79dc86d3ab9816
7
- data.tar.gz: e49a6a4beddc14045354d4e63770b85889ba4dd003bb2d6b81b186e53d0cf72ab8ccb00e43b3df03dc66303f93ea0db51caf7c3615cd23eb7bb9995a93e6d4bd
6
+ metadata.gz: 05b36172e27dcc5380acbda8aac4cdbd714175ab9aa77d08ce92872dcc3fe2490098d23241dcc500efbb58bf74eed6fc7c8fef6c6a8f5c67eec95c8195ad99fa
7
+ data.tar.gz: 2e7b265c0ea34cc07e6bb02841f3c8c8ad14b1fa1961e51aac51f15e0dcfa82ca0ef04ca023ea95f47bc5b5896ddc81a46a6c4a0ae4f4cf5dda1cc123c24acf5
checksums.yaml.gz.sig CHANGED
@@ -1,3 +1,3 @@
1
- 8}�Գ�C�%6������GZ����uyv���j���O;Ku
2
- e��`f�!�� ���w�8_��S��{u�D"�idFZ�|��
3
- �\�-���\�ES���k���m�
1
+ =��R�2A�|ٗ�1���9#U]�����pXfD"4)�
2
+ 5��5#�fo�r��@��w���LT/���q��LPň����u*�Pn��v�w��]�3"뤺��rR�u����Ђ[̙�0S��0�Wg7. V儺6Y�Z���}o��T3{�>��%ɱ��ڄ��@Xf$t
3
+ }��r��='LB��
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "versionaire/extensions/option_parser"
4
3
  require "refinements/structs"
4
+ require "versionaire/extensions/option_parser"
5
5
 
6
6
  module Milestoner
7
7
  module CLI
@@ -6,7 +6,7 @@ module Milestoner
6
6
  module Commits
7
7
  # Retrieves and categorizes Git repository commit tagged or untagged history.
8
8
  class Categorizer
9
- include Import[:repository]
9
+ include Import[:git]
10
10
 
11
11
  def initialize expression: Regexp, **dependencies
12
12
  super(**dependencies)
@@ -41,11 +41,16 @@ module Milestoner
41
41
  prefixes.empty? ? expression.new(//) : expression.union(prefixes)
42
42
  end
43
43
 
44
- def computed_commits = repository.tagged? ? tagged_commits : saved_commits
44
+ def computed_commits = git.tagged? ? tagged_commits : saved_commits
45
45
 
46
- def tagged_commits = repository.commits("#{repository.tag_last}..HEAD")
46
+ def tagged_commits
47
+ git.tag_last
48
+ .value_or(nil)
49
+ .then { |tag| git.commits("#{tag}..HEAD") }
50
+ .value_or([])
51
+ end
47
52
 
48
- def saved_commits = repository.commits
53
+ def saved_commits = git.commits.value_or([])
49
54
  end
50
55
  end
51
56
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  require "cogger"
4
4
  require "dry-container"
5
- require "git_plus"
5
+ require "gitt"
6
6
  require "spek"
7
7
 
8
8
  module Milestoner
@@ -12,7 +12,7 @@ module Milestoner
12
12
 
13
13
  register(:configuration) { Configuration::Loader.call }
14
14
  register(:specification) { Spek::Loader.call "#{__dir__}/../../milestoner.gemspec" }
15
- register(:repository) { GitPlus::Repository.new }
15
+ register(:git) { Gitt::Repository.new }
16
16
  register(:kernel) { Kernel }
17
17
  register(:logger) { Cogger::Client.new }
18
18
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "forwardable"
4
- require "git_plus"
4
+ require "gitt"
5
5
 
6
6
  module Milestoner
7
7
  module Presenters
@@ -11,7 +11,7 @@ module Milestoner
11
11
 
12
12
  extend Forwardable
13
13
 
14
- delegate [*GitPlus::Commit.members, :fixup?, :squash?] => :record
14
+ delegate [*Gitt::Models::Commit.members, :amend?, :fixup?, :squash?, :prefix?] => :record
15
15
 
16
16
  def initialize record, **dependencies
17
17
  super(**dependencies)
@@ -1,13 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "git_plus"
3
+ require "gitt"
4
4
  require "versionaire"
5
5
 
6
6
  module Milestoner
7
7
  module Tags
8
8
  # Handles the creation of project repository tags.
9
9
  class Creator
10
- include Import[:repository, :logger]
10
+ include Import[:git, :logger]
11
11
 
12
12
  using Versionaire::Cast
13
13
 
@@ -24,7 +24,7 @@ module Milestoner
24
24
  fail Error, "Unable to tag without commits." if categorizer.call.empty?
25
25
 
26
26
  create configuration
27
- rescue Versionaire::Error, GitPlus::Error => error
27
+ rescue Versionaire::Error => error
28
28
  raise Error, error.message
29
29
  end
30
30
 
@@ -35,7 +35,7 @@ module Milestoner
35
35
  def local? configuration
36
36
  version = Version configuration.version
37
37
 
38
- if repository.tag_local? version
38
+ if git.tag_local? version
39
39
  logger.warn { "Local tag exists: #{version}. Skipped." }
40
40
  true
41
41
  else
@@ -44,9 +44,9 @@ module Milestoner
44
44
  end
45
45
 
46
46
  def create configuration
47
- label = configuration.version
48
- repository.tag_version label, message(configuration)
49
- logger.debug { "Local tag created: #{label}." }
47
+ git.tag_create(configuration.version, message(configuration))
48
+ .or { |error| fail Error, error }
49
+ .bind { true }
50
50
  end
51
51
 
52
52
  def message configuration
@@ -6,21 +6,21 @@ module Milestoner
6
6
  class Publisher
7
7
  include Import[:logger]
8
8
 
9
- def initialize tagger: Tags::Creator.new, pusher: Tags::Pusher.new, **dependencies
9
+ def initialize creator: Tags::Creator.new, pusher: Tags::Pusher.new, **dependencies
10
10
  super(**dependencies)
11
- @tagger = tagger
11
+ @creator = creator
12
12
  @pusher = pusher
13
13
  end
14
14
 
15
15
  def call configuration = Container[:configuration]
16
- tagger.call configuration
16
+ creator.call configuration
17
17
  pusher.call configuration
18
18
  logger.info { "Published: #{configuration.version}!" }
19
19
  end
20
20
 
21
21
  private
22
22
 
23
- attr_reader :tagger, :pusher
23
+ attr_reader :creator, :pusher
24
24
  end
25
25
  end
26
26
  end
@@ -6,27 +6,19 @@ module Milestoner
6
6
  module Tags
7
7
  # Handles publishing of tags to a remote repository.
8
8
  class Pusher
9
- include Import[:repository, :logger]
9
+ include Import[:git, :logger]
10
10
 
11
11
  using Versionaire::Cast
12
12
 
13
13
  def call configuration = Container[:configuration]
14
14
  version = Version configuration.version
15
15
 
16
- fail Error, "Remote repository not configured." unless repository.config_origin?
17
- fail Error, "Remote tag exists: #{version}." if repository.tag_remote? version
18
- fail Error, "Tags could not be pushed to remote repository." unless push
16
+ fail Error, "Remote repository not configured." unless git.origin?
17
+ fail Error, "Remote tag exists: #{version}." if git.tag_remote? version
18
+ fail Error, "Tags could not be pushed to remote repository." if git.tags_push.failure?
19
19
 
20
20
  logger.debug "Local tag pushed: #{version}."
21
21
  end
22
-
23
- private
24
-
25
- def push
26
- repository.tag_push.then do |_stdout, stderr, status|
27
- status.success? && stderr.match?(/[new tag]/)
28
- end
29
- end
30
22
  end
31
23
  end
32
24
  end
data/milestoner.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "milestoner"
5
- spec.version = "14.5.0"
5
+ spec.version = "15.1.0"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://www.alchemists.io/projects/milestoner"
@@ -22,15 +22,16 @@ Gem::Specification.new do |spec|
22
22
  spec.signing_key = Gem.default_key_path
23
23
  spec.cert_chain = [Gem.default_cert_path]
24
24
 
25
- spec.required_ruby_version = "~> 3.1"
26
- spec.add_dependency "cogger", "~> 0.4"
25
+ spec.required_ruby_version = "~> 3.2"
26
+ spec.add_dependency "cogger", "~> 0.5"
27
27
  spec.add_dependency "dry-container", "~> 0.11"
28
- spec.add_dependency "git_plus", "~> 1.7"
29
- spec.add_dependency "infusible", "~> 0.2"
30
- spec.add_dependency "refinements", "~> 9.7"
31
- spec.add_dependency "runcom", "~> 8.7"
32
- spec.add_dependency "spek", "~> 0.6"
33
- spec.add_dependency "versionaire", "~> 10.6"
28
+ spec.add_dependency "dry-monads", "~> 1.6"
29
+ spec.add_dependency "gitt", "~> 1.0"
30
+ spec.add_dependency "infusible", "~> 1.0"
31
+ spec.add_dependency "refinements", "~> 10.0"
32
+ spec.add_dependency "runcom", "~> 9.0"
33
+ spec.add_dependency "spek", "~> 1.0"
34
+ spec.add_dependency "versionaire", "~> 11.0"
34
35
  spec.add_dependency "zeitwerk", "~> 2.6"
35
36
 
36
37
  spec.bindir = "exe"
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: 14.5.0
4
+ version: 15.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -28,7 +28,7 @@ cert_chain:
28
28
  CxDe2+VuChj4I1nvIHdu+E6XoEVlanUPKmSg6nddhkKn2gC45Kyzh6FZqnzH/CRp
29
29
  RFE=
30
30
  -----END CERTIFICATE-----
31
- date: 2022-10-22 00:00:00.000000000 Z
31
+ date: 2022-12-28 00:00:00.000000000 Z
32
32
  dependencies:
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: cogger
@@ -36,14 +36,14 @@ dependencies:
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '0.4'
39
+ version: '0.5'
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '0.4'
46
+ version: '0.5'
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: dry-container
49
49
  requirement: !ruby/object:Gem::Requirement
@@ -59,89 +59,103 @@ dependencies:
59
59
  - !ruby/object:Gem::Version
60
60
  version: '0.11'
61
61
  - !ruby/object:Gem::Dependency
62
- name: git_plus
62
+ name: dry-monads
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: '1.7'
67
+ version: '1.6'
68
68
  type: :runtime
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: '1.7'
74
+ version: '1.6'
75
+ - !ruby/object:Gem::Dependency
76
+ name: gitt
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '1.0'
82
+ type: :runtime
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '1.0'
75
89
  - !ruby/object:Gem::Dependency
76
90
  name: infusible
77
91
  requirement: !ruby/object:Gem::Requirement
78
92
  requirements:
79
93
  - - "~>"
80
94
  - !ruby/object:Gem::Version
81
- version: '0.2'
95
+ version: '1.0'
82
96
  type: :runtime
83
97
  prerelease: false
84
98
  version_requirements: !ruby/object:Gem::Requirement
85
99
  requirements:
86
100
  - - "~>"
87
101
  - !ruby/object:Gem::Version
88
- version: '0.2'
102
+ version: '1.0'
89
103
  - !ruby/object:Gem::Dependency
90
104
  name: refinements
91
105
  requirement: !ruby/object:Gem::Requirement
92
106
  requirements:
93
107
  - - "~>"
94
108
  - !ruby/object:Gem::Version
95
- version: '9.7'
109
+ version: '10.0'
96
110
  type: :runtime
97
111
  prerelease: false
98
112
  version_requirements: !ruby/object:Gem::Requirement
99
113
  requirements:
100
114
  - - "~>"
101
115
  - !ruby/object:Gem::Version
102
- version: '9.7'
116
+ version: '10.0'
103
117
  - !ruby/object:Gem::Dependency
104
118
  name: runcom
105
119
  requirement: !ruby/object:Gem::Requirement
106
120
  requirements:
107
121
  - - "~>"
108
122
  - !ruby/object:Gem::Version
109
- version: '8.7'
123
+ version: '9.0'
110
124
  type: :runtime
111
125
  prerelease: false
112
126
  version_requirements: !ruby/object:Gem::Requirement
113
127
  requirements:
114
128
  - - "~>"
115
129
  - !ruby/object:Gem::Version
116
- version: '8.7'
130
+ version: '9.0'
117
131
  - !ruby/object:Gem::Dependency
118
132
  name: spek
119
133
  requirement: !ruby/object:Gem::Requirement
120
134
  requirements:
121
135
  - - "~>"
122
136
  - !ruby/object:Gem::Version
123
- version: '0.6'
137
+ version: '1.0'
124
138
  type: :runtime
125
139
  prerelease: false
126
140
  version_requirements: !ruby/object:Gem::Requirement
127
141
  requirements:
128
142
  - - "~>"
129
143
  - !ruby/object:Gem::Version
130
- version: '0.6'
144
+ version: '1.0'
131
145
  - !ruby/object:Gem::Dependency
132
146
  name: versionaire
133
147
  requirement: !ruby/object:Gem::Requirement
134
148
  requirements:
135
149
  - - "~>"
136
150
  - !ruby/object:Gem::Version
137
- version: '10.6'
151
+ version: '11.0'
138
152
  type: :runtime
139
153
  prerelease: false
140
154
  version_requirements: !ruby/object:Gem::Requirement
141
155
  requirements:
142
156
  - - "~>"
143
157
  - !ruby/object:Gem::Version
144
- version: '10.6'
158
+ version: '11.0'
145
159
  - !ruby/object:Gem::Dependency
146
160
  name: zeitwerk
147
161
  requirement: !ruby/object:Gem::Requirement
@@ -209,14 +223,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
209
223
  requirements:
210
224
  - - "~>"
211
225
  - !ruby/object:Gem::Version
212
- version: '3.1'
226
+ version: '3.2'
213
227
  required_rubygems_version: !ruby/object:Gem::Requirement
214
228
  requirements:
215
229
  - - ">="
216
230
  - !ruby/object:Gem::Version
217
231
  version: '0'
218
232
  requirements: []
219
- rubygems_version: 3.3.24
233
+ rubygems_version: 3.4.1
220
234
  signing_key:
221
235
  specification_version: 4
222
236
  summary: A command line interface for crafting Git semantically versioned repository
metadata.gz.sig CHANGED
Binary file