go-merge 7.1.9 → 7.1.10

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: 6b6499bfd8d4a005880ad8b6bb18369a1e2d5a4fc76617732d21374414c73bf7
4
- data.tar.gz: a9e6a4f8d1e2dba0ab8d0c05df94d0f35d2853de280573ef4e25974d498f0738
3
+ metadata.gz: 0f8144d5113bba42276a38416ab726bf6ad594de23e306025aa38afad639dc7c
4
+ data.tar.gz: 305d91a090100088b819a595b132a8dd1f3b57149004a57717e64ac17387d24d
5
5
  SHA512:
6
- metadata.gz: 682459a659a8eaea85976909c5b9774dd73532901c33c5546218b92825b8ef6d1f1a199b9156c79418c4ad55e0d5a6b1aa9ced4f97d90fd58f8615a24e06f5bc
7
- data.tar.gz: 5f2b4488d60d31a98335b1f863cef3f2598cc3698921dfc2105866e6919e0c205c066216395e65664a652f5e8d77bd6630e4fac240e0dc262824c41240854c23
6
+ metadata.gz: 6a059f8e94cfa09ca3806deb8d7a0471d321deb439521c80ff3a7011bcb37d5d4d68d61db3aba2a2328862c235db37c2d93b52ae9126387d0ae544f956800865
7
+ data.tar.gz: 9b0fd59271cc0e950f5862651d8b366018b5ab35c89a6d0fb7b98f1fe06a69bad358b6261fcc9e00244e46a801093432afe8ec0972af0f4e17dd31e324d80f1b
checksums.yaml.gz.sig CHANGED
Binary file
@@ -336,7 +336,7 @@ module Go
336
336
  def grouped_ownership_failure(request, documents)
337
337
  signatures = documents.transform_values do |document|
338
338
  document.owners.filter_map { |owner| owner.signature if grouped_owner?(owner) }
339
- .sort_by { |signature| JSON.generate(Ast::Merge.json_ready(signature)) }
339
+ .sort_by { |signature| JSON.generate(Ast::Merge.json_ready(signature)) }
340
340
  end
341
341
  return if signatures.values.uniq.length == 1
342
342
 
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'ast/merge'
4
+ require 'ast/merge/typed_core_provider'
5
+
6
+ module Go
7
+ module Merge
8
+ # Opt-in typed Go function profile. Compatibility name, not a prototype dependency.
9
+ class RustHostProvider < Ast::Merge::TypedCoreProvider
10
+ PROVIDER_ID = 'rust.go'
11
+ FAMILY = 'go'
12
+ DIALECTS = [:go].freeze
13
+ OPERATIONS = %i[analyze diff2 merge2 merge3].freeze
14
+ CORE_PROVIDER = 'kernel.go'
15
+ CORE_PROFILE = 'kernel.go.owners.v1'
16
+ PACKAGE = 'go-merge'
17
+
18
+ def capabilities
19
+ super.merge(ast_ownership: :top_level_functions).freeze
20
+ end
21
+
22
+ private
23
+
24
+ def package_version = Go::Merge::Version::VERSION
25
+ def parser_language(dialect) = dialect
26
+ def owner_path(owner) = owner.fetch('id')
27
+
28
+ def additional_fields = %i[path_name labels conflict_marker_size]
29
+
30
+ def policy(operation, request)
31
+ # Git supplies neutral framing even to non-rendering providers. A path
32
+ # is context, never a language selector. This profile emits no markers:
33
+ # accept only empty labels and the default width, not custom requests.
34
+ labels = request.fetch(:labels, {})
35
+ width = request[:conflict_marker_size]
36
+ width = Integer(width, 10) if width.is_a?(String)
37
+ unless labels == {} && (width.nil? || (width.is_a?(Integer) && width == 7))
38
+ raise ArgumentError, 'Typed Go does not support custom conflict markers or labels'
39
+ end
40
+
41
+ super
42
+ end
43
+ end
44
+ end
45
+ end
@@ -5,7 +5,7 @@ module Go
5
5
  # Version namespace for this gem.
6
6
  module Version
7
7
  # Current gem version.
8
- VERSION = '7.1.9'
8
+ VERSION = '7.1.10'
9
9
  end
10
10
  # Current gem version exposed at the traditional constant location.
11
11
  VERSION = Version::VERSION # Traditional Constant Location
data/lib/go/merge.rb CHANGED
@@ -18,6 +18,7 @@ module Go
18
18
  autoload :NodeWrapper, 'go/merge/node_wrapper'
19
19
  autoload :FileAnalysis, 'go/merge/file_analysis'
20
20
  autoload :Provider, 'go/merge/provider'
21
+ autoload :RustHostProvider, 'go/merge/rust_host_provider'
21
22
 
22
23
  def register_backend!
23
24
  BACKEND_REGISTRY.mutex.synchronize do
@@ -94,7 +95,10 @@ module Go
94
95
  return backend.to_s unless backend.to_s.empty?
95
96
 
96
97
  contextual = TreeHaver.current_backend_id || ENV['TREE_HAVER_BACKEND']
97
- contextual.to_s.empty? || contextual.to_s == 'auto' ? TREE_SITTER_BACKEND.id : contextual.to_s
98
+ return TREE_SITTER_BACKEND.id if contextual.to_s.empty? || contextual.to_s == 'auto'
99
+ return TREE_SITTER_BACKEND.id if contextual.to_s == 'rust_tslp'
100
+
101
+ contextual.to_s
98
102
  end
99
103
  private_class_method :requested_tree_sitter_backend_id
100
104
 
@@ -110,6 +114,14 @@ module Go
110
114
  Ast::Merge.register_provider(merge_provider, replace: replace)
111
115
  end
112
116
 
117
+ def rust_host_provider
118
+ @rust_host_provider ||= RustHostProvider.new
119
+ end
120
+
121
+ def register_rust_host_provider!(replace: false)
122
+ Ast::Merge.register_provider(rust_host_provider, replace: replace)
123
+ end
124
+
113
125
  # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity -- legacy merge result assembly remains one compatibility boundary
114
126
  def merge_go(template_source, destination_source, dialect)
115
127
  template = parse_go(template_source, dialect)
data.tar.gz.sig CHANGED
@@ -1,4 +1,2 @@
1
- ���~̙�U"N�F�b��K���yya����QT����E�UO�e�(��}ɶ<��M��
2
- ���oU��<�29���2��]�n�� =�?�������f�zγ�K�����1:m �[
3
- ��;m���2r� ���X�7�+g?���p���O���,��J�ϭ>�C�ۘ��{>7�R�+�:϶K����n�0�I0�ǃ�r�d�Z�1
4
- ���߳�0#E媙��*�������fc ���
1
+ t?�-��oe'3���;��5�y�x�E8~�����>�++Y��J�U(��Z$�����|��%�%$���*j�''{a�M^�a��ss/9_dO��"]�g�����$��N��Ð?�eˇ�-�k~�ړk4@�=Y�g<�-n�8,�뀀1p���
2
+ ��O��04�!L������!�@��J�K��dz�'���_��v�n�X)ϙ ��1f�&�U��D�DI:-}�u���2��)LŨL,.�|�z�ŋ�:+�H�z�J���呹�ė.��_BtL��r�R<
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: go-merge
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.1.9
4
+ version: 7.1.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -43,28 +43,28 @@ dependencies:
43
43
  requirements:
44
44
  - - '='
45
45
  - !ruby/object:Gem::Version
46
- version: 7.1.9
46
+ version: 7.1.10
47
47
  type: :runtime
48
48
  prerelease: false
49
49
  version_requirements: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - '='
52
52
  - !ruby/object:Gem::Version
53
- version: 7.1.9
53
+ version: 7.1.10
54
54
  - !ruby/object:Gem::Dependency
55
55
  name: tree_haver
56
56
  requirement: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - '='
59
59
  - !ruby/object:Gem::Version
60
- version: 7.1.9
60
+ version: 7.1.10
61
61
  type: :runtime
62
62
  prerelease: false
63
63
  version_requirements: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - '='
66
66
  - !ruby/object:Gem::Version
67
- version: 7.1.9
67
+ version: 7.1.10
68
68
  - !ruby/object:Gem::Dependency
69
69
  name: version_gem
70
70
  requirement: !ruby/object:Gem::Requirement
@@ -91,20 +91,20 @@ dependencies:
91
91
  requirements:
92
92
  - - "~>"
93
93
  - !ruby/object:Gem::Version
94
- version: '3.0'
94
+ version: '3.1'
95
95
  - - ">="
96
96
  - !ruby/object:Gem::Version
97
- version: 3.0.34
97
+ version: 3.1.8
98
98
  type: :development
99
99
  prerelease: false
100
100
  version_requirements: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - "~>"
103
103
  - !ruby/object:Gem::Version
104
- version: '3.0'
104
+ version: '3.1'
105
105
  - - ">="
106
106
  - !ruby/object:Gem::Version
107
- version: 3.0.34
107
+ version: 3.1.8
108
108
  - !ruby/object:Gem::Dependency
109
109
  name: bundler-audit
110
110
  requirement: !ruby/object:Gem::Requirement
@@ -182,7 +182,7 @@ dependencies:
182
182
  version: '3.2'
183
183
  - - ">="
184
184
  - !ruby/object:Gem::Version
185
- version: 3.2.3
185
+ version: 3.2.5
186
186
  type: :development
187
187
  prerelease: false
188
188
  version_requirements: !ruby/object:Gem::Requirement
@@ -192,7 +192,7 @@ dependencies:
192
192
  version: '3.2'
193
193
  - - ">="
194
194
  - !ruby/object:Gem::Version
195
- version: 3.2.3
195
+ version: 3.2.5
196
196
  - !ruby/object:Gem::Dependency
197
197
  name: kettle-test
198
198
  requirement: !ruby/object:Gem::Requirement
@@ -202,7 +202,7 @@ dependencies:
202
202
  version: '2.0'
203
203
  - - ">="
204
204
  - !ruby/object:Gem::Version
205
- version: 2.0.21
205
+ version: 2.0.23
206
206
  type: :development
207
207
  prerelease: false
208
208
  version_requirements: !ruby/object:Gem::Requirement
@@ -212,7 +212,7 @@ dependencies:
212
212
  version: '2.0'
213
213
  - - ">="
214
214
  - !ruby/object:Gem::Version
215
- version: 2.0.21
215
+ version: 2.0.23
216
216
  - !ruby/object:Gem::Dependency
217
217
  name: turbo_tests2
218
218
  requirement: !ruby/object:Gem::Requirement
@@ -222,7 +222,7 @@ dependencies:
222
222
  version: '3.2'
223
223
  - - ">="
224
224
  - !ruby/object:Gem::Version
225
- version: 3.2.7
225
+ version: 3.2.14
226
226
  type: :development
227
227
  prerelease: false
228
228
  version_requirements: !ruby/object:Gem::Requirement
@@ -232,7 +232,7 @@ dependencies:
232
232
  version: '3.2'
233
233
  - - ">="
234
234
  - !ruby/object:Gem::Version
235
- version: 3.2.7
235
+ version: 3.2.14
236
236
  - !ruby/object:Gem::Dependency
237
237
  name: ruby-progressbar
238
238
  requirement: !ruby/object:Gem::Requirement
@@ -256,7 +256,7 @@ dependencies:
256
256
  version: '1.0'
257
257
  - - ">="
258
258
  - !ruby/object:Gem::Version
259
- version: 1.0.8
259
+ version: 1.0.9
260
260
  type: :development
261
261
  prerelease: false
262
262
  version_requirements: !ruby/object:Gem::Requirement
@@ -266,7 +266,7 @@ dependencies:
266
266
  version: '1.0'
267
267
  - - ">="
268
268
  - !ruby/object:Gem::Version
269
- version: 1.0.8
269
+ version: 1.0.9
270
270
  - !ruby/object:Gem::Dependency
271
271
  name: gitmoji-regex
272
272
  requirement: !ruby/object:Gem::Requirement
@@ -276,7 +276,7 @@ dependencies:
276
276
  version: '2.0'
277
277
  - - ">="
278
278
  - !ruby/object:Gem::Version
279
- version: 2.0.12
279
+ version: 2.0.15
280
280
  type: :development
281
281
  prerelease: false
282
282
  version_requirements: !ruby/object:Gem::Requirement
@@ -286,7 +286,7 @@ dependencies:
286
286
  version: '2.0'
287
287
  - - ">="
288
288
  - !ruby/object:Gem::Version
289
- version: 2.0.12
289
+ version: 2.0.15
290
290
  description: "☯️ Portable Go module owner analysis and merge behavior for Structured
291
291
  Merge."
292
292
  email:
@@ -302,6 +302,7 @@ files:
302
302
  - lib/go/merge/file_analysis.rb
303
303
  - lib/go/merge/node_wrapper.rb
304
304
  - lib/go/merge/provider.rb
305
+ - lib/go/merge/rust_host_provider.rb
305
306
  - lib/go/merge/version.rb
306
307
  - sig/go/merge.rbs
307
308
  homepage: https://github.com/structuredmerge/structuredmerge-ruby
@@ -310,10 +311,10 @@ licenses:
310
311
  - PolyForm-Small-Business-1.0.0
311
312
  metadata:
312
313
  homepage_uri: https://structuredmerge.org
313
- source_code_uri: https://github.com/structuredmerge/structuredmerge-ruby/tree/v7.1.9
314
- changelog_uri: https://github.com/structuredmerge/structuredmerge-ruby/blob/v7.1.9/CHANGELOG.md
314
+ source_code_uri: https://github.com/structuredmerge/structuredmerge-ruby/tree/v7.1.10
315
+ changelog_uri: https://github.com/structuredmerge/structuredmerge-ruby/blob/v7.1.10/CHANGELOG.md
315
316
  bug_tracker_uri: https://github.com/structuredmerge/structuredmerge-ruby/issues
316
- documentation_uri: https://www.rubydoc.info/gems/go-merge/7.1.9
317
+ documentation_uri: https://www.rubydoc.info/gems/go-merge/7.1.10
317
318
  funding_uri: https://github.com/sponsors/pboling
318
319
  wiki_uri: https://github.com/structuredmerge/structuredmerge-ruby/wiki
319
320
  news_uri: https://www.railsbling.com/tags/go-merge
@@ -343,7 +344,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
343
344
  - !ruby/object:Gem::Version
344
345
  version: '0'
345
346
  requirements: []
346
- rubygems_version: 4.0.17
347
+ rubygems_version: 4.0.20
347
348
  specification_version: 4
348
349
  summary: "☯️ Structured Merge Go module analysis and merge for Ruby"
349
350
  test_files: []
metadata.gz.sig CHANGED
Binary file