metanorma-release 0.2.1

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.
Files changed (65) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +3 -0
  3. data/.rubocop.yml +1 -0
  4. data/.rubocop_todo.yml +504 -0
  5. data/CHANGELOG.md +15 -0
  6. data/PROMPT.md +282 -0
  7. data/README.adoc +430 -0
  8. data/Rakefile +8 -0
  9. data/exe/mn-release +6 -0
  10. data/lib/metanorma/release/aggregation_interfaces.rb +33 -0
  11. data/lib/metanorma/release/aggregation_pipeline.rb +155 -0
  12. data/lib/metanorma/release/asset_processor.rb +58 -0
  13. data/lib/metanorma/release/cache_store.rb +86 -0
  14. data/lib/metanorma/release/change_detector.rb +20 -0
  15. data/lib/metanorma/release/channel.rb +64 -0
  16. data/lib/metanorma/release/channel_audience.rb +24 -0
  17. data/lib/metanorma/release/channel_config.rb +55 -0
  18. data/lib/metanorma/release/channel_filter.rb +26 -0
  19. data/lib/metanorma/release/channel_manifest.rb +192 -0
  20. data/lib/metanorma/release/channel_registry.rb +60 -0
  21. data/lib/metanorma/release/cli.rb +129 -0
  22. data/lib/metanorma/release/commands/aggregate.rb +126 -0
  23. data/lib/metanorma/release/commands/package.rb +46 -0
  24. data/lib/metanorma/release/commands/publish.rb +51 -0
  25. data/lib/metanorma/release/config_fetcher.rb +11 -0
  26. data/lib/metanorma/release/config_locator.rb +37 -0
  27. data/lib/metanorma/release/config_resolver.rb +37 -0
  28. data/lib/metanorma/release/content_hash.rb +51 -0
  29. data/lib/metanorma/release/delta_state.rb +108 -0
  30. data/lib/metanorma/release/document_id.rb +45 -0
  31. data/lib/metanorma/release/document_index.rb +183 -0
  32. data/lib/metanorma/release/document_metadata.rb +39 -0
  33. data/lib/metanorma/release/document_stage.rb +86 -0
  34. data/lib/metanorma/release/document_type.rb +55 -0
  35. data/lib/metanorma/release/document_version.rb +50 -0
  36. data/lib/metanorma/release/file_routing.rb +51 -0
  37. data/lib/metanorma/release/interfaces.rb +47 -0
  38. data/lib/metanorma/release/naming_strategy.rb +158 -0
  39. data/lib/metanorma/release/platform/github/config_fetcher.rb +40 -0
  40. data/lib/metanorma/release/platform/github/manifest_reader.rb +32 -0
  41. data/lib/metanorma/release/platform/github/publisher.rb +73 -0
  42. data/lib/metanorma/release/platform/github/release_fetcher.rb +52 -0
  43. data/lib/metanorma/release/platform/github/topic_discoverer.rb +29 -0
  44. data/lib/metanorma/release/platform/github.rb +25 -0
  45. data/lib/metanorma/release/platform/local/config_fetcher.rb +20 -0
  46. data/lib/metanorma/release/platform/local/directory_discoverer.rb +26 -0
  47. data/lib/metanorma/release/platform/local/fetcher.rb +76 -0
  48. data/lib/metanorma/release/platform/local/publisher.rb +44 -0
  49. data/lib/metanorma/release/platform/local.rb +14 -0
  50. data/lib/metanorma/release/platform/null/publisher.rb +17 -0
  51. data/lib/metanorma/release/platform/null.rb +11 -0
  52. data/lib/metanorma/release/platform.rb +11 -0
  53. data/lib/metanorma/release/platform_factory.rb +78 -0
  54. data/lib/metanorma/release/rake_tasks.rb +71 -0
  55. data/lib/metanorma/release/relaton_enricher.rb +138 -0
  56. data/lib/metanorma/release/release_metadata.rb +79 -0
  57. data/lib/metanorma/release/release_pipeline.rb +115 -0
  58. data/lib/metanorma/release/release_tag.rb +49 -0
  59. data/lib/metanorma/release/repo_ref.rb +34 -0
  60. data/lib/metanorma/release/rxl_extractor.rb +115 -0
  61. data/lib/metanorma/release/stage_filter.rb +18 -0
  62. data/lib/metanorma/release/version.rb +7 -0
  63. data/lib/metanorma/release/zip_packager.rb +37 -0
  64. data/lib/metanorma/release.rb +116 -0
  65. metadata +156 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 0e4ed312d1cdaa5cea2092166d82834a5fa85a05fb8a42b30f43ea215f773bd4
4
+ data.tar.gz: 366a9d6138af1dee33f67608d635e7f665388057bd82363257f35bcdd2f85b32
5
+ SHA512:
6
+ metadata.gz: 660c462528a52631d92bcac5e3b1a20dac9782a3a2732ea1df8aecc237c89332eaa0900b9648bec7f2d244d3dcf968ee76e598723d464ff530784c41ca3fa839
7
+ data.tar.gz: 23e08bd704747c50e34af4ba468aaca22b8dfe965140fe811d7afd3867bfecb4a60d7bf0d7945d30f5a47bc5ab3bbf35aa3cc092ee7762bceabe20737f08e115
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --color
3
+ --require spec_helper
data/.rubocop.yml ADDED
@@ -0,0 +1 @@
1
+ inherit_from: .rubocop_todo.yml
data/.rubocop_todo.yml ADDED
@@ -0,0 +1,504 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2026-05-15 16:10:17 UTC using RuboCop version 1.86.2.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 1
10
+ # This cop supports safe autocorrection (--autocorrect).
11
+ # Configuration parameters: TreatCommentsAsGroupSeparators, ConsiderPunctuation.
12
+ Gemspec/OrderedDependencies:
13
+ Exclude:
14
+ - 'metanorma-release.gemspec'
15
+
16
+ # Offense count: 29
17
+ # This cop supports safe autocorrection (--autocorrect).
18
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
19
+ # SupportedStyles: with_first_argument, with_fixed_indentation
20
+ Layout/ArgumentAlignment:
21
+ Exclude:
22
+ - 'lib/metanorma/release/cli.rb'
23
+ - 'lib/metanorma/release/document_index.rb'
24
+ - 'spec/aggregation/aggregation_pipeline_spec.rb'
25
+ - 'spec/aggregation/file_routing_spec.rb'
26
+ - 'spec/domain/naming_strategy_spec.rb'
27
+ - 'spec/integration/channel_filtering_spec.rb'
28
+ - 'spec/integration/delta_dedup_spec.rb'
29
+ - 'spec/integration/file_routing_spec.rb'
30
+ - 'spec/integration/local_round_trip_spec.rb'
31
+ - 'spec/integration/release_publish_spec.rb'
32
+ - 'spec/integration/verification_spec.rb'
33
+
34
+ # Offense count: 13
35
+ # This cop supports safe autocorrection (--autocorrect).
36
+ # Configuration parameters: EnforcedStyleAlignWith.
37
+ # SupportedStylesAlignWith: either, start_of_block, start_of_line
38
+ Layout/BlockAlignment:
39
+ Exclude:
40
+ - 'lib/metanorma/release/relaton_enricher.rb'
41
+ - 'spec/cli_spec.rb'
42
+
43
+ # Offense count: 13
44
+ # This cop supports safe autocorrection (--autocorrect).
45
+ Layout/BlockEndNewline:
46
+ Exclude:
47
+ - 'lib/metanorma/release/relaton_enricher.rb'
48
+ - 'spec/cli_spec.rb'
49
+
50
+ # Offense count: 2
51
+ # This cop supports safe autocorrection (--autocorrect).
52
+ # Configuration parameters: IndentationWidth.
53
+ Layout/ClosingParenthesisIndentation:
54
+ Exclude:
55
+ - 'spec/integration/local_round_trip_spec.rb'
56
+ - 'spec/integration/release_publish_spec.rb'
57
+
58
+ # Offense count: 15
59
+ # This cop supports safe autocorrection (--autocorrect).
60
+ Layout/EmptyLineAfterGuardClause:
61
+ Exclude:
62
+ - 'lib/metanorma/release/aggregation_pipeline.rb'
63
+ - 'lib/metanorma/release/cache_store.rb'
64
+ - 'lib/metanorma/release/channel_manifest.rb'
65
+ - 'lib/metanorma/release/cli.rb'
66
+ - 'lib/metanorma/release/platform_factory.rb'
67
+ - 'lib/metanorma/release/repo_ref.rb'
68
+ - 'lib/metanorma/release/rxl_extractor.rb'
69
+ - 'lib/metanorma/release/stage_filter.rb'
70
+
71
+ # Offense count: 2
72
+ # This cop supports safe autocorrection (--autocorrect).
73
+ # Configuration parameters: EmptyLineBetweenMethodDefs, EmptyLineBetweenClassDefs, EmptyLineBetweenModuleDefs, DefLikeMacros, AllowAdjacentOneLineDefs, NumberOfEmptyLines.
74
+ Layout/EmptyLineBetweenDefs:
75
+ Exclude:
76
+ - 'lib/metanorma/release/channel_registry.rb'
77
+ - 'lib/metanorma/release/document_index.rb'
78
+
79
+ # Offense count: 4
80
+ # This cop supports safe autocorrection (--autocorrect).
81
+ Layout/EmptyLines:
82
+ Exclude:
83
+ - 'lib/metanorma/release/channel_config.rb'
84
+ - 'lib/metanorma/release/channel_manifest.rb'
85
+ - 'lib/metanorma/release/channel_registry.rb'
86
+ - 'lib/metanorma/release/document_index.rb'
87
+
88
+ # Offense count: 4
89
+ # This cop supports safe autocorrection (--autocorrect).
90
+ # Configuration parameters: EnforcedStyle.
91
+ # SupportedStyles: empty_lines, no_empty_lines
92
+ Layout/EmptyLinesAroundBlockBody:
93
+ Exclude:
94
+ - 'lib/metanorma/release/aggregation_pipeline.rb'
95
+ - 'lib/metanorma/release/rxl_extractor.rb'
96
+
97
+ # Offense count: 1
98
+ # This cop supports safe autocorrection (--autocorrect).
99
+ Layout/EmptyLinesAroundMethodBody:
100
+ Exclude:
101
+ - 'lib/metanorma/release/channel_manifest.rb'
102
+
103
+ # Offense count: 13
104
+ # This cop supports safe autocorrection (--autocorrect).
105
+ # Configuration parameters: AllowForAlignment, AllowBeforeTrailingComments, ForceEqualSignAlignment.
106
+ Layout/ExtraSpacing:
107
+ Exclude:
108
+ - 'lib/metanorma/release/cache_store.rb'
109
+ - 'lib/metanorma/release/document_type.rb'
110
+ - 'lib/metanorma/release/relaton_enricher.rb'
111
+
112
+ # Offense count: 2
113
+ # This cop supports safe autocorrection (--autocorrect).
114
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
115
+ # SupportedStyles: consistent, consistent_relative_to_receiver, special_for_inner_method_call, special_for_inner_method_call_in_parentheses
116
+ Layout/FirstArgumentIndentation:
117
+ Exclude:
118
+ - 'spec/integration/local_round_trip_spec.rb'
119
+ - 'spec/integration/release_publish_spec.rb'
120
+
121
+ # Offense count: 2
122
+ # This cop supports safe autocorrection (--autocorrect).
123
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
124
+ # SupportedStyles: special_inside_parentheses, consistent, align_brackets
125
+ Layout/FirstArrayElementIndentation:
126
+ Exclude:
127
+ - 'spec/platform/github/release_fetcher_spec.rb'
128
+
129
+ # Offense count: 16
130
+ # This cop supports safe autocorrection (--autocorrect).
131
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
132
+ # SupportedStyles: special_inside_parentheses, consistent, align_braces
133
+ Layout/FirstHashElementIndentation:
134
+ Exclude:
135
+ - 'spec/aggregation/document_index_spec.rb'
136
+ - 'spec/platform/local/fetcher_spec.rb'
137
+
138
+ # Offense count: 50
139
+ # This cop supports safe autocorrection (--autocorrect).
140
+ # Configuration parameters: AllowMultipleStyles, EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle.
141
+ # SupportedHashRocketStyles: key, separator, table
142
+ # SupportedColonStyles: key, separator, table
143
+ # SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit
144
+ Layout/HashAlignment:
145
+ Exclude:
146
+ - 'lib/metanorma/release/cli.rb'
147
+ - 'spec/aggregation/aggregation_pipeline_spec.rb'
148
+ - 'spec/aggregation/document_index_spec.rb'
149
+ - 'spec/aggregation/relaton_enricher_spec.rb'
150
+ - 'spec/domain/document_type_spec.rb'
151
+ - 'spec/integration/channel_filtering_spec.rb'
152
+ - 'spec/integration/delta_dedup_spec.rb'
153
+ - 'spec/integration/file_routing_spec.rb'
154
+ - 'spec/integration/local_round_trip_spec.rb'
155
+ - 'spec/integration/release_publish_spec.rb'
156
+ - 'spec/integration/verification_spec.rb'
157
+ - 'spec/platform/local/fetcher_spec.rb'
158
+
159
+ # Offense count: 49
160
+ # This cop supports safe autocorrection (--autocorrect).
161
+ # Configuration parameters: EnforcedStyle.
162
+ # SupportedStyles: normal, indented_internal_methods
163
+ Layout/IndentationConsistency:
164
+ Exclude:
165
+ - 'lib/metanorma/release/channel_manifest.rb'
166
+ - 'lib/metanorma/release/relaton_enricher.rb'
167
+
168
+ # Offense count: 28
169
+ # This cop supports safe autocorrection (--autocorrect).
170
+ # Configuration parameters: Width, EnforcedStyleAlignWith, AllowedPatterns.
171
+ # SupportedStylesAlignWith: start_of_line, relative_to_receiver
172
+ Layout/IndentationWidth:
173
+ Exclude:
174
+ - 'lib/metanorma/release/aggregation_pipeline.rb'
175
+ - 'lib/metanorma/release/relaton_enricher.rb'
176
+ - 'lib/metanorma/release/rxl_extractor.rb'
177
+ - 'spec/cli_spec.rb'
178
+
179
+ # Offense count: 12
180
+ # This cop supports safe autocorrection (--autocorrect).
181
+ Layout/MultilineBlockLayout:
182
+ Exclude:
183
+ - 'lib/metanorma/release/relaton_enricher.rb'
184
+
185
+ # Offense count: 2
186
+ # This cop supports safe autocorrection (--autocorrect).
187
+ # Configuration parameters: EnforcedStyle.
188
+ # SupportedStyles: symmetrical, new_line, same_line
189
+ Layout/MultilineMethodCallBraceLayout:
190
+ Exclude:
191
+ - 'spec/integration/local_round_trip_spec.rb'
192
+ - 'spec/integration/release_publish_spec.rb'
193
+
194
+ # Offense count: 2
195
+ # This cop supports safe autocorrection (--autocorrect).
196
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
197
+ # SupportedStyles: aligned, indented, indented_relative_to_receiver
198
+ Layout/MultilineMethodCallIndentation:
199
+ Exclude:
200
+ - 'lib/metanorma/release/cache_store.rb'
201
+
202
+ # Offense count: 2
203
+ # This cop supports safe autocorrection (--autocorrect).
204
+ Layout/RescueEnsureAlignment:
205
+ Exclude:
206
+ - 'lib/metanorma/release/aggregation_pipeline.rb'
207
+ - 'lib/metanorma/release/rxl_extractor.rb'
208
+
209
+ # Offense count: 1
210
+ # This cop supports safe autocorrection (--autocorrect).
211
+ # Configuration parameters: EnforcedStyleInsidePipes.
212
+ # SupportedStylesInsidePipes: space, no_space
213
+ Layout/SpaceAroundBlockParameters:
214
+ Exclude:
215
+ - 'lib/metanorma/release/cache_store.rb'
216
+
217
+ # Offense count: 28
218
+ # This cop supports safe autocorrection (--autocorrect).
219
+ # Configuration parameters: AllowInHeredoc.
220
+ Layout/TrailingWhitespace:
221
+ Exclude:
222
+ - 'lib/metanorma/release/aggregation_pipeline.rb'
223
+ - 'lib/metanorma/release/channel_manifest.rb'
224
+ - 'lib/metanorma/release/cli.rb'
225
+ - 'lib/metanorma/release/document_index.rb'
226
+ - 'lib/metanorma/release/relaton_enricher.rb'
227
+ - 'lib/metanorma/release/rxl_extractor.rb'
228
+ - 'spec/aggregation/aggregation_pipeline_spec.rb'
229
+ - 'spec/integration/channel_filtering_spec.rb'
230
+ - 'spec/integration/delta_dedup_spec.rb'
231
+ - 'spec/integration/file_routing_spec.rb'
232
+ - 'spec/integration/local_round_trip_spec.rb'
233
+ - 'spec/integration/release_publish_spec.rb'
234
+ - 'spec/integration/verification_spec.rb'
235
+
236
+ # Offense count: 3
237
+ Lint/IneffectiveAccessModifier:
238
+ Exclude:
239
+ - 'lib/metanorma/release/channel_manifest.rb'
240
+
241
+ # Offense count: 1
242
+ # This cop supports safe autocorrection (--autocorrect).
243
+ Lint/RedundantStringCoercion:
244
+ Exclude:
245
+ - 'spec/aggregation/aggregation_pipeline_spec.rb'
246
+
247
+ # Offense count: 4
248
+ Lint/StructNewOverride:
249
+ Exclude:
250
+ - 'lib/metanorma/release/interfaces.rb'
251
+ - 'lib/metanorma/release/platform/github/release_fetcher.rb'
252
+ - 'lib/metanorma/release/platform/local/fetcher.rb'
253
+ - 'spec/aggregation/aggregation_pipeline_spec.rb'
254
+
255
+ # Offense count: 16
256
+ # This cop supports safe autocorrection (--autocorrect).
257
+ # Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods, IgnoreNotImplementedMethods, NotImplementedExceptions.
258
+ # NotImplementedExceptions: NotImplementedError
259
+ Lint/UnusedMethodArgument:
260
+ Exclude:
261
+ - 'lib/metanorma/release/aggregation_pipeline.rb'
262
+ - 'lib/metanorma/release/naming_strategy.rb'
263
+ - 'lib/metanorma/release/platform/github/publisher.rb'
264
+ - 'lib/metanorma/release/platform/github/release_fetcher.rb'
265
+ - 'lib/metanorma/release/platform/local/fetcher.rb'
266
+ - 'lib/metanorma/release/platform/local/publisher.rb'
267
+ - 'lib/metanorma/release/platform/null/publisher.rb'
268
+ - 'lib/metanorma/release/release_pipeline.rb'
269
+ - 'spec/aggregation/aggregation_pipeline_spec.rb'
270
+ - 'spec/release/release_pipeline_spec.rb'
271
+
272
+ # Offense count: 4
273
+ # This cop supports safe autocorrection (--autocorrect).
274
+ # Configuration parameters: ContextCreatingMethods, MethodCreatingMethods.
275
+ Lint/UselessAccessModifier:
276
+ Exclude:
277
+ - 'lib/metanorma/release/channel_config.rb'
278
+ - 'lib/metanorma/release/channel_manifest.rb'
279
+ - 'lib/metanorma/release/channel_registry.rb'
280
+ - 'lib/metanorma/release/document_index.rb'
281
+
282
+ # Offense count: 3
283
+ # This cop supports safe autocorrection (--autocorrect).
284
+ Lint/UselessAssignment:
285
+ Exclude:
286
+ - 'spec/release/release_pipeline_spec.rb'
287
+
288
+ # Offense count: 20
289
+ # Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
290
+ Metrics/AbcSize:
291
+ Max: 87
292
+
293
+ # Offense count: 54
294
+ # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
295
+ # AllowedMethods: refine
296
+ Metrics/BlockLength:
297
+ Max: 232
298
+
299
+ # Offense count: 2
300
+ # Configuration parameters: CountComments, CountAsOne.
301
+ Metrics/ClassLength:
302
+ Max: 118
303
+
304
+ # Offense count: 4
305
+ # Configuration parameters: AllowedMethods, AllowedPatterns.
306
+ Metrics/CyclomaticComplexity:
307
+ Max: 15
308
+
309
+ # Offense count: 32
310
+ # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
311
+ Metrics/MethodLength:
312
+ Max: 51
313
+
314
+ # Offense count: 1
315
+ # Configuration parameters: CountComments, CountAsOne.
316
+ Metrics/ModuleLength:
317
+ Max: 182
318
+
319
+ # Offense count: 3
320
+ # Configuration parameters: CountKeywordArgs, MaxOptionalParameters.
321
+ Metrics/ParameterLists:
322
+ Max: 11
323
+
324
+ # Offense count: 3
325
+ # Configuration parameters: AllowedMethods, AllowedPatterns.
326
+ Metrics/PerceivedComplexity:
327
+ Max: 15
328
+
329
+ # Offense count: 1
330
+ # Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames.
331
+ # AllowedNames: as, at, by, cc, db, id, if, in, io, ip, of, on, os, pp, to
332
+ Naming/MethodParameterName:
333
+ Exclude:
334
+ - 'lib/metanorma/release/platform/github/release_fetcher.rb'
335
+
336
+ # Offense count: 4
337
+ # This cop supports safe autocorrection (--autocorrect).
338
+ # Configuration parameters: EnforcedStyle.
339
+ # SupportedStyles: separated, grouped
340
+ Style/AccessorGrouping:
341
+ Exclude:
342
+ - 'lib/metanorma/release/channel_manifest.rb'
343
+ - 'lib/metanorma/release/document_index.rb'
344
+
345
+ # Offense count: 20
346
+ # This cop supports safe autocorrection (--autocorrect).
347
+ # Configuration parameters: EnforcedStyle, ProceduralMethods, FunctionalMethods, AllowedMethods, AllowedPatterns, AllowBracesOnProceduralOneLiners, BracesRequiredMethods.
348
+ # SupportedStyles: line_count_based, semantic, braces_for_chaining, always_braces
349
+ # ProceduralMethods: benchmark, bm, bmbm, create, each_with_object, measure, new, realtime, tap, with_object
350
+ # FunctionalMethods: let, let!, subject, watch
351
+ # AllowedMethods: lambda, proc, it
352
+ Style/BlockDelimiters:
353
+ Exclude:
354
+ - 'lib/metanorma/release/relaton_enricher.rb'
355
+ - 'spec/cli_spec.rb'
356
+ - 'spec/platform/null/publisher_spec.rb'
357
+
358
+ # Offense count: 75
359
+ # Configuration parameters: AllowedConstants.
360
+ Style/Documentation:
361
+ Enabled: false
362
+
363
+ # Offense count: 1
364
+ # This cop supports safe autocorrection (--autocorrect).
365
+ # Configuration parameters: MinBodyLength, AllowConsecutiveConditionals.
366
+ Style/GuardClause:
367
+ Exclude:
368
+ - 'lib/metanorma/release/channel_manifest.rb'
369
+
370
+ # Offense count: 5
371
+ # This cop supports safe autocorrection (--autocorrect).
372
+ Style/IfUnlessModifier:
373
+ Exclude:
374
+ - 'lib/metanorma/release/channel_manifest.rb'
375
+ - 'lib/metanorma/release/cli.rb'
376
+ - 'lib/metanorma/release/platform_factory.rb'
377
+ - 'lib/metanorma/release/rake_tasks.rb'
378
+ - 'lib/metanorma/release/relaton_enricher.rb'
379
+
380
+ # Offense count: 1
381
+ # This cop supports safe autocorrection (--autocorrect).
382
+ # Configuration parameters: EnforcedStyle.
383
+ # SupportedStyles: line_count_dependent, lambda, literal
384
+ Style/Lambda:
385
+ Exclude:
386
+ - 'lib/metanorma/release/platform_factory.rb'
387
+
388
+ # Offense count: 1
389
+ Style/MultilineBlockChain:
390
+ Exclude:
391
+ - 'spec/cli_spec.rb'
392
+
393
+ # Offense count: 2
394
+ # This cop supports safe autocorrection (--autocorrect).
395
+ Style/MultilineIfModifier:
396
+ Exclude:
397
+ - 'lib/metanorma/release/document_index.rb'
398
+
399
+ # Offense count: 1
400
+ # This cop supports unsafe autocorrection (--autocorrect-all).
401
+ # Configuration parameters: EnforcedStyle, AllowedMethods, AllowedPatterns.
402
+ # SupportedStyles: predicate, comparison
403
+ Style/NumericPredicate:
404
+ Exclude:
405
+ - 'spec/**/*'
406
+ - 'lib/metanorma/release/cli.rb'
407
+
408
+ # Offense count: 2
409
+ # This cop supports safe autocorrection (--autocorrect).
410
+ Style/RedundantBegin:
411
+ Exclude:
412
+ - 'lib/metanorma/release/aggregation_pipeline.rb'
413
+ - 'lib/metanorma/release/rxl_extractor.rb'
414
+
415
+ # Offense count: 1
416
+ # This cop supports safe autocorrection (--autocorrect).
417
+ Style/RedundantParentheses:
418
+ Exclude:
419
+ - 'lib/metanorma/release/cli.rb'
420
+
421
+ # Offense count: 16
422
+ # This cop supports safe autocorrection (--autocorrect).
423
+ # Configuration parameters: EnforcedStyle, AllowInnerSlashes.
424
+ # SupportedStyles: slashes, percent_r, mixed
425
+ Style/RegexpLiteral:
426
+ Exclude:
427
+ - 'lib/metanorma/release/document_type.rb'
428
+ - 'lib/metanorma/release/platform/local/config_fetcher.rb'
429
+
430
+ # Offense count: 1
431
+ # This cop supports safe autocorrection (--autocorrect).
432
+ Style/RescueModifier:
433
+ Exclude:
434
+ - 'lib/metanorma/release/platform/github/publisher.rb'
435
+
436
+ # Offense count: 1
437
+ # This cop supports safe autocorrection (--autocorrect).
438
+ # Configuration parameters: EnforcedStyle.
439
+ # SupportedStyles: implicit, explicit
440
+ Style/RescueStandardError:
441
+ Exclude:
442
+ - 'lib/metanorma/release/platform/github/publisher.rb'
443
+
444
+ # Offense count: 3
445
+ # This cop supports unsafe autocorrection (--autocorrect-all).
446
+ # Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods, MaxChainLength.
447
+ # AllowedMethods: present?, blank?, presence, try, try!
448
+ Style/SafeNavigation:
449
+ Exclude:
450
+ - 'lib/metanorma/release/channel_manifest.rb'
451
+ - 'lib/metanorma/release/rake_tasks.rb'
452
+
453
+ # Offense count: 12
454
+ # This cop supports safe autocorrection (--autocorrect).
455
+ # Configuration parameters: AllowAsExpressionSeparator.
456
+ Style/Semicolon:
457
+ Exclude:
458
+ - 'lib/metanorma/release/relaton_enricher.rb'
459
+
460
+ # Offense count: 3
461
+ # This cop supports safe autocorrection (--autocorrect).
462
+ Style/StderrPuts:
463
+ Exclude:
464
+ - 'lib/metanorma/release/cli.rb'
465
+
466
+ # Offense count: 2269
467
+ # This cop supports safe autocorrection (--autocorrect).
468
+ # Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
469
+ # SupportedStyles: single_quotes, double_quotes
470
+ Style/StringLiterals:
471
+ Enabled: false
472
+
473
+ # Offense count: 7
474
+ # This cop supports safe autocorrection (--autocorrect).
475
+ # Configuration parameters: ExactNameMatch, AllowPredicates, AllowDSLWriters, IgnoreClassMethods, AllowedMethods.
476
+ # AllowedMethods: to_ary, to_a, to_c, to_enum, to_h, to_hash, to_i, to_int, to_io, to_open, to_path, to_proc, to_r, to_regexp, to_str, to_s, to_sym
477
+ Style/TrivialAccessors:
478
+ Exclude:
479
+ - 'lib/metanorma/release/channel_manifest.rb'
480
+ - 'lib/metanorma/release/channel_registry.rb'
481
+ - 'lib/metanorma/release/document_index.rb'
482
+ - 'lib/metanorma/release/relaton_enricher.rb'
483
+
484
+ # Offense count: 2
485
+ # This cop supports safe autocorrection (--autocorrect).
486
+ Style/UnpackFirst:
487
+ Exclude:
488
+ - 'lib/metanorma/release/platform/github/config_fetcher.rb'
489
+ - 'lib/metanorma/release/platform/github/manifest_reader.rb'
490
+
491
+ # Offense count: 1
492
+ # This cop supports safe autocorrection (--autocorrect).
493
+ # Configuration parameters: WordRegex.
494
+ # SupportedStyles: percent, brackets
495
+ Style/WordArray:
496
+ EnforcedStyle: percent
497
+ MinSize: 3
498
+
499
+ # Offense count: 17
500
+ # This cop supports safe autocorrection (--autocorrect).
501
+ # Configuration parameters: AllowHeredoc, AllowURI, AllowQualifiedName, URISchemes, AllowRBSInlineAnnotation, AllowCopDirectives, AllowedPatterns, SplitStrings.
502
+ # URISchemes: http, https
503
+ Layout/LineLength:
504
+ Max: 153
data/CHANGELOG.md ADDED
@@ -0,0 +1,15 @@
1
+ # Changelog
2
+
3
+ ## 0.2.0 (Unreleased)
4
+
5
+ - Add command classes (`PackageCommand`, `PublishCommand`, `AggregateCommand`) encapsulating pipeline construction
6
+ - Add `ConfigResolver` mixin for channel config resolution shared across commands
7
+ - Add `Channel.parse_list` for batch channel parsing
8
+ - Eliminate DRY violations: CLI delegates to command classes instead of duplicating pipeline wiring
9
+ - Eliminate type conditionals: `ChannelRegistry#include?` and `Channel#matches?` use polymorphic dispatch
10
+ - Fix `Channel#matches?` to use `Channel.parse` instead of type-conditional string check
11
+ - Update dependency flow: CLI -> commands -> pipelines -> domain
12
+
13
+ ## 0.1.0
14
+
15
+ - Initial release.