metanorma-cli 1.17.0 → 1.18.0.pre.alpha.2

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: f002b87450dab7938a159523e3fa09a6ea580d8c42ac529f4bb5b4700f6a9601
4
- data.tar.gz: d6bc7ec2d3f6c2e0b2cfd6d2c2548464e30e25ed8361fa5ebaaab7ef501e72b6
3
+ metadata.gz: 28e29deeb3fe645faa1382c9f682e81c5221a11a7be785b054a948559f56bb4e
4
+ data.tar.gz: 682ddf53ebe1aef3e0e310cb6bfe921cc1aef98870e2e39038f9abe49dc4cd53
5
5
  SHA512:
6
- metadata.gz: b27546bb7529b629709a7c5c58edb9186207a79906c8386f231fc301fc45e53682b39bd56dc80c2a513c703365d67e4712345da8b46e13ea4f5d9908a5813a79
7
- data.tar.gz: 53391d057121fc210138ae3f0816823ced2afe28b84b1dce39f130771cc862d17236fa6e00bd4492ac6a13a784084767003d9ff09ba8958be02f0fdd217b7aea
6
+ metadata.gz: 483083c40846248424a92ad551043340dbd9d9efc3ba2f9f4e422206eb1e1fdcad965202cd9d957bf2b771f2a76ee703f108c10595ec0d38b5721400b649f692
7
+ data.tar.gz: 35bc0d1128dd431515a8da890b281a01c26d3ddb732d778af1da2bb90937cabf58ca37c0384053b83e41d9d45cac99216b19a30da1efada13635d6dace758187
data/Gemfile CHANGED
@@ -4,13 +4,47 @@ Encoding.default_internal = Encoding::UTF_8
4
4
  source "https://rubygems.org"
5
5
  git_source(:github) { |repo| "https://github.com/#{repo}" }
6
6
 
7
- source "https://rubygems.pkg.github.com/metanorma" do
8
- gem "metanorma-nist"
9
- gem "metanorma-bsi"
10
- end
11
7
 
12
8
  gemspec
13
9
 
10
+ # Remaining cross-PR pins for the flavor-table restructure wave.
11
+ # document#45 metanorma#591 iso#1618 standoc#1232 itu/iec/ogc migration
12
+ # PRs and isodoc#825 all merged: those pins below are carried by the
13
+ # canonical zoo at the foot of this file.
14
+ gem "metanorma-core",
15
+ github: "metanorma/metanorma-core",
16
+ branch: "main"
17
+ gem "metanorma-taste",
18
+ github: "metanorma/metanorma-taste",
19
+ branch: "main"
20
+
21
+ # Private flavors (nist, bsi) are intentionally absent: their sources are
22
+ # not readable without credentials, so any unauthenticated fresh resolve
23
+ # fails. The flavor loader is still tested against them via stubbed
24
+ # specs, and the grammar census installs them with GitHub Packages auth.
25
+
26
+ gem "relaton-cli", ">= 2.2.0.pre.alpha.1"
27
+ gem "relaton-bib", "~> 2.2.0.pre.alpha.1"
28
+ gem "pubid",
29
+ github: "pubid/pubid",
30
+ branch: "main"
31
+
32
+ # Cap lutaml-model < 0.8.20: 0.8.20 relocates the XML adapter directory
33
+ # (xmi and other transitive gems still require the old path). The wave's
34
+ # other gems (document/iso) also pin ~> 0.8.0; this avoids the imminent
35
+ # 0.8.20 yank.
36
+ # Force newer xmi (lutaml 0.9.43 pins xmi ~> 0.3.20; xmi 0.7+ moved
37
+ # the XML adapter to a path compatible with lutaml-model 0.8.x).
38
+ # Conflict with lutaml's pin is resolved by also pinning lutaml to a
39
+ # version that no longer enforces it.
40
+ gem "xmi", "~> 0.7"
41
+ gem "lutaml", ">= 0.11.2"
42
+ gem "ogc-gml", "1.1.0"
43
+ gem "lutaml-model", "~> 0.8" # the 0.8.114 pin predates ogc's ~> 0.8.122; the lock governs
44
+ # Pin glossarist plugin: 0.3.10 freezes its preprocessor after
45
+ # initialization, breaking Asciidoctor compile in the cli suite.
46
+ gem "metanorma-plugin-glossarist", "~> 0.5" # standoc main needs the 0.5 preprocessor
47
+
14
48
  group :development do
15
49
  gem "debug"
16
50
  gem "pry"
@@ -35,3 +69,24 @@ begin
35
69
  rescue StandardError
36
70
  nil
37
71
  end
72
+ gem "metanorma-standoc", github: "metanorma/metanorma-standoc", branch: "main"
73
+ gem "metanorma-iso", github: "metanorma/metanorma-iso", branch: "main" # released 3.5.0 conflicts with metanorma-document main # released 3.4.2 still caps relaton-cli ~> 2.1
74
+ gem "metanorma-document", github: "metanorma/metanorma-document", branch: "main" # standoc main references Document::Components constants
75
+ gem "metanorma-utils", github: "metanorma/metanorma-utils", branch: "main" # released utils lacks GcBudget/deep_symbolize (main-only)
76
+ gem "isodoc", github: "metanorma/isodoc", branch: "main" # released isodoc caps relaton-render ~> 1.3
77
+
78
+ # the metagem's flavor zoo on mains: released flavors reference the retired 1.x render API
79
+ gem "metanorma", github: "metanorma/metanorma", branch: "main"
80
+ gem "metanorma-bipm", github: "metanorma/metanorma-bipm", branch: "main"
81
+ gem "metanorma-cc", github: "metanorma/metanorma-cc", branch: "main"
82
+ gem "metanorma-iec", github: "metanorma/metanorma-iec", branch: "main"
83
+ gem "metanorma-ieee", github: "metanorma/metanorma-ieee", branch: "main"
84
+ gem "metanorma-ietf", github: "metanorma/metanorma-ietf", branch: "main"
85
+ gem "metanorma-gb", github: "metanorma/metanorma-gb", branch: "main"
86
+ gem "metanorma-generic", github: "metanorma/metanorma-generic", branch: "main"
87
+ gem "metanorma-iho", github: "metanorma/metanorma-iho", branch: "main"
88
+ gem "metanorma-itu", github: "metanorma/metanorma-itu", branch: "main"
89
+ gem "metanorma-jis", github: "metanorma/metanorma-jis", branch: "main"
90
+ gem "metanorma-ogc", github: "metanorma/metanorma-ogc", branch: "main"
91
+ gem "metanorma-plateau", github: "metanorma/metanorma-plateau", branch: "main"
92
+ gem "metanorma-ribose", github: "metanorma/metanorma-ribose", branch: "main"
data/bin/font-test CHANGED
@@ -13,10 +13,33 @@ end
13
13
 
14
14
  Fontist::Formula.update_formulas_repo
15
15
 
16
+ def taste_fonts(flavor)
17
+ require "metanorma-taste"
18
+ config = Metanorma::TasteRegister.get_config(flavor.to_sym)
19
+ fonts = config&.base_override&.value_attributes&.fonts
20
+ fonts&.split(";")&.map(&:strip)&.reject(&:empty?)
21
+ rescue Metanorma::TasteRegister::UnknownTasteError, LoadError
22
+ nil
23
+ end
24
+
16
25
  flavors.each do |flavor|
17
26
  flavor_name = (flavor == "jcgm") ? "bipm" : flavor
18
27
  gem_name = "metanorma-#{flavor_name}"
19
- require gem_name
28
+ begin
29
+ require gem_name
30
+ rescue LoadError
31
+ # A taste has no gem of its own: install the fonts its config declares
32
+ if (fonts = taste_fonts(flavor_name))
33
+ puts "Processing fonts for taste '#{flavor_name}' (metanorma-taste)..."
34
+ fonts.each do |font|
35
+ Fontist::Font.install(font, confirmation: "yes")
36
+ puts "- #{font}"
37
+ end
38
+ puts "Done."
39
+ next
40
+ end
41
+ raise
42
+ end
20
43
 
21
44
  # Determine the processor class based on the flavor
22
45
  processor_class = "Metanorma::#{flavor_name.capitalize}::Processor"
@@ -9,6 +9,7 @@ require "metanorma/cli/commands/config"
9
9
  require "metanorma/cli/commands/template_repo"
10
10
  require "metanorma/cli/commands/site"
11
11
  require "metanorma/cli/commands/diff"
12
+ require "metanorma/release/cli"
12
13
  require "mnconvert"
13
14
  require_relative "flavor"
14
15
 
@@ -228,6 +229,9 @@ module Metanorma
228
229
  desc "site", "Manage site for metanorma collections"
229
230
  subcommand :site, Metanorma::Cli::Commands::Site
230
231
 
232
+ desc "release SUBCOMMAND ...", "Document registry commands (metanorma-release)"
233
+ subcommand :release, Metanorma::Release::CLI
234
+
231
235
  desc "config", "Manage configuration file"
232
236
  subcommand :config, Metanorma::Cli::Commands::Config
233
237
 
@@ -16,6 +16,8 @@ module Metanorma
16
16
  "isodoc/*/*.yaml",
17
17
  "relaton/render/*.yml",
18
18
  "relaton/render/*.yaml",
19
+ "relaton/render-isodoc/**/*.yml",
20
+ "metanorma/*/*-style.yml",
19
21
  ].freeze
20
22
 
21
23
  private
@@ -45,8 +47,22 @@ module Metanorma
45
47
  end
46
48
 
47
49
  def flavor_dictionary_taste(ret)
48
- Metanorma::TasteRegister.instance.available_tastes.each do |taste|
50
+ # Tastes come from the core flavor table (metanorma-core#18)
51
+ # when available; fall back to TasteRegister for contexts where
52
+ # the table has no taste entries registered yet (load-order or
53
+ # version-skew). Same output shape either way — the specs are
54
+ # the contract.
55
+ tastes = if defined?(Metanorma::Core::Flavors) &&
56
+ Metanorma::Core::Flavors.available_tastes.any?
57
+ Metanorma::Core::Flavors.available_tastes
58
+ else
59
+ Metanorma::TasteRegister.instance.available_tastes
60
+ end
61
+
62
+ tastes.each do |taste|
49
63
  format_keys, base_flavor = taste_format_keys(taste)
64
+ next unless ret[base_flavor]
65
+
50
66
  ret[taste] = { format_keys: format_keys, base_flavor: base_flavor,
51
67
  native_keys: ret[base_flavor][:format_keys],
52
68
  input: ret[base_flavor][:input] }
@@ -92,7 +92,6 @@ module Metanorma
92
92
  iho: "https://github.com/metanorma/mn-templates-iho",
93
93
  cc: "https://github.com/metanorma/mn-templates-cc",
94
94
  un: "https://github.com/metanorma/mn-templates-un",
95
- nist: "https://github.com/metanorma/mn-templates-nist",
96
95
  m3aawg: "https://github.com/metanorma/mn-templates-m3aawg",
97
96
  }
98
97
  end
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "suma"
4
+
5
+ module Metanorma
6
+ module Cli
7
+ # Reports whether a Metanorma site manifest is schema-bearing: any
8
+ # collection manifest it references carries EXPRESS schemas, either as
9
+ # `schemas-only` entries or as a `schemas.yaml` beside a `collection.yml`.
10
+ # Schema-bearing sites build through the suma pipeline, which compiles
11
+ # those schemas into the documents the manifests attach.
12
+ class SchemaSiteDetector
13
+ COLLECTION_FILENAME = "collection.yml"
14
+ SCHEMAS_FILENAME = "schemas.yaml"
15
+
16
+ def initialize(metanorma_yaml_path)
17
+ @path = metanorma_yaml_path
18
+ end
19
+
20
+ def schema_bearing?
21
+ source_files.any? { |file| schema_collection?(file) }
22
+ end
23
+
24
+ private
25
+
26
+ def source_files
27
+ site = Metanorma::SiteManifest::Base.from_yaml(File.read(@path))
28
+ Array(site.metanorma&.source&.files)
29
+ end
30
+
31
+ def schema_collection?(file)
32
+ return false unless /\.ya?ml\z/.match?(file)
33
+
34
+ path = File.expand_path(file, File.dirname(@path))
35
+ return false unless File.exist?(path)
36
+
37
+ return true if schemas_beside?(path)
38
+
39
+ walk(Suma::CollectionConfig.from_file(path).manifest,
40
+ File.dirname(path))
41
+ end
42
+
43
+ # Entries resolve their `file` relative to the manifest that declares
44
+ # them, so the walk carries the declaring directory along.
45
+ def walk(manifest, dir)
46
+ return false unless manifest
47
+ return true if manifest.schemas_only
48
+
49
+ child_dir = dir
50
+ if manifest.file
51
+ path = File.expand_path(manifest.file, dir)
52
+ return true if schemas_beside?(path)
53
+
54
+ child_dir = File.dirname(path)
55
+ end
56
+
57
+ Array(manifest.entry).any? { |entry| walk(entry, child_dir) }
58
+ end
59
+
60
+ def schemas_beside?(manifest_path)
61
+ File.basename(manifest_path) == COLLECTION_FILENAME &&
62
+ File.exist?(File.join(File.dirname(manifest_path), SCHEMAS_FILENAME))
63
+ end
64
+ end
65
+ end
66
+ end
@@ -62,6 +62,8 @@ module Metanorma
62
62
  end
63
63
 
64
64
  def generate!
65
+ return generate_via_suma if schema_site?
66
+
65
67
  ensure_site_asset_directory!
66
68
 
67
69
  # compile individual document files
@@ -72,10 +74,7 @@ module Metanorma
72
74
  # actually compile collection file(s)
73
75
  compile_collections!
74
76
 
75
- Dir.chdir(site_directory) do
76
- build_collection_file!(relaton_collection_index)
77
- convert_to_html_page!(relaton_collection_index, DEFAULT_SITE_INDEX)
78
- end
77
+ build_site_index(site_directory)
79
78
  end
80
79
 
81
80
  private
@@ -86,6 +85,35 @@ module Metanorma
86
85
  :output_filename_template,
87
86
  :base_path
88
87
 
88
+ # Schema-bearing manifests build through the suma pipeline, which
89
+ # compiles the schemas the manifests attach as documents.
90
+ def schema_site?
91
+ @schema_site ||= !manifest_file.nil? &&
92
+ SchemaSiteDetector.new(manifest_file.to_s).schema_bearing?
93
+ end
94
+
95
+ def generate_via_suma
96
+ Dir.chdir(source_path) do
97
+ ::Suma::Processor.new(
98
+ metanorma_yaml_path: manifest_file.to_s,
99
+ schemas_all_path: schemas_all_path,
100
+ output_directory: site_path.to_s,
101
+ ).run
102
+ end
103
+ end
104
+
105
+ def schemas_all_path
106
+ File.join(File.dirname(manifest_file.to_s),
107
+ File.basename(manifest_file.to_s).gsub("metanorma", "schemas"))
108
+ end
109
+
110
+ def build_site_index(site_directory)
111
+ Dir.chdir(site_directory) do
112
+ build_collection_file!(relaton_collection_index)
113
+ convert_to_html_page!(relaton_collection_index, DEFAULT_SITE_INDEX)
114
+ end
115
+ end
116
+
89
117
  def find_realpath(path)
90
118
  Pathname.new(path).realpath if path
91
119
  rescue Errno::ENOENT
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Cli
3
- VERSION = "1.17.0".freeze
3
+ VERSION = "1.18.0.pre.alpha.2".freeze
4
4
  end
5
5
  end
data/lib/metanorma/cli.rb CHANGED
@@ -14,6 +14,8 @@ module Metanorma
14
14
  CONFIG_DIRNAME = ".metanorma"
15
15
  CONFIG_FILENAME = "config.yml"
16
16
 
17
+ autoload :SchemaSiteDetector, "metanorma/cli/schema_site_detector"
18
+
17
19
  def self.load_flavors
18
20
  Metanorma::Flavor.load_flavors
19
21
  end
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "bundler"
3
4
  require "metanorma/cli/ui"
4
5
 
5
6
  module Metanorma
@@ -14,10 +15,11 @@ module Metanorma
14
15
  "metanorma-cc",
15
16
  "metanorma-iho",
16
17
  "metanorma-jis",
17
- # "metanorma-m3aawg",
18
+ "metanorma-m3aawg",
19
+ "metanorma-gb",
18
20
  "metanorma-generic",
19
21
  "metanorma-standoc",
20
- # "metanorma-un",
22
+ "metanorma-un",
21
23
  "metanorma-ogc",
22
24
  "metanorma-itu",
23
25
  "metanorma-plateau",
@@ -26,9 +28,26 @@ module Metanorma
26
28
  PRIVATE_SUPPORTED_GEMS = [
27
29
  "metanorma-ribose",
28
30
  # "metanorma-mpfa",
29
- "metanorma-nist",
30
31
  ].freeze
31
32
 
33
+ # Bundled metanorma-* gems that are not flavors; they are never
34
+ # require'd by the loader. Everything bundled outside this list and
35
+ # the flavor lists above loads generically, so fully private flavor
36
+ # gems (nist, bsi, ...) work by mere presence in the consumer's
37
+ # bundle — open CLI code never names them.
38
+ NON_FLAVOR_GEMS = %w(
39
+ metanorma
40
+ metanorma-cli
41
+ metanorma-core
42
+ metanorma-standoc
43
+ metanorma-document
44
+ metanorma-utils
45
+ metanorma-mirror
46
+ metanorma-taste
47
+ metanorma-release
48
+ metanorma-acme
49
+ ).freeze
50
+
32
51
  def self.activate
33
52
  new.activate
34
53
  end
@@ -46,10 +65,54 @@ module Metanorma
46
65
  end
47
66
 
48
67
  def load_flavors
49
- flavors.each do |flavor_name|
68
+ require_tastes
69
+ (flavors + bundled_private_flavor_gems).each do |flavor_name|
50
70
  require(flavor_name)
51
- rescue LoadError => _e
52
- gem_loading_error(flavor_name)
71
+ rescue LoadError, NameError => _e
72
+ # NameError: released flavor gems predating the relaton-render 3
73
+ # line raise at require time (e.g. metanorma-ogc 2.x subclassing
74
+ # Relaton::Render::Parse); degrade them like absent flavors
75
+ # instead of crashing every corpus run that bundles them.
76
+ if SUPPORTED_GEMS.include?(flavor_name)
77
+ gem_loading_error(flavor_name)
78
+ else
79
+ # Bundled-but-not-supported metanorma-* gems load best-effort:
80
+ # the bundle pulls in data gems with no top-level entry file
81
+ # (metanorma-ietf-data) and stale releases awaiting their
82
+ # entry-file fix (metanorma-mko 1.1.1 predates the mko entry).
83
+ # Their absence is not the user's error, so stay quiet.
84
+ Metanorma::Cli::UI.debug("#{flavor_name} is not present!")
85
+ end
86
+ end
87
+ end
88
+
89
+ private
90
+
91
+ # Tastes register into Metanorma::Core::Flavors at require time; the
92
+ # registry is the single extension point behind the CLI's taste
93
+ # lookups (flavor dictionary, export-config, compile). Absence of the
94
+ # gem degrades silently, like an absent flavor.
95
+ def require_tastes
96
+ require "metanorma-taste"
97
+ rescue LoadError, NameError
98
+ Metanorma::Cli::UI.debug("metanorma-taste is not present!")
99
+ end
100
+
101
+ # Bundled metanorma-* gems outside the public flavor lists and the
102
+ # non-flavor helpers: fully private flavors. Names are discovered
103
+ # from the bundle, never listed here.
104
+ def bundled_private_flavor_gems
105
+ named = flavors + NON_FLAVOR_GEMS
106
+ specs = begin
107
+ Bundler.load.specs
108
+ rescue StandardError
109
+ Gem::Specification.find_all do |spec|
110
+ spec.name.start_with?("metanorma-")
111
+ end
112
+ end
113
+ specs.map(&:name).uniq.select do |name|
114
+ name.start_with?("metanorma-") && !name.start_with?("metanorma-plugin-") &&
115
+ !named.include?(name)
53
116
  end
54
117
  end
55
118
 
@@ -25,33 +25,42 @@ Gem::Specification.new do |spec|
25
25
  spec.require_paths = ["lib"]
26
26
  spec.required_ruby_version = Gem::Requirement.new(">= 3.3.0")
27
27
 
28
- spec.add_dependency "metanorma-ietf", "~> 3.7.0"
29
- spec.add_dependency "metanorma-iso", "~> 3.5.0"
30
- spec.add_dependency "mnconvert"
28
+ # The newest STABLE of these seven still subclasses the removed Relaton::Render::Parse
29
+ # at require time (relaton-render#148); the prerelease floors pair every
30
+ # resolution with the shim-free generation.
31
+ spec.add_dependency "metanorma-ietf", ">= 3.7.12.pre.alpha.1"
32
+ spec.add_dependency "metanorma-iso", ">= 3.5.1.pre.alpha.1"
33
+ spec.add_dependency "mnconvert", "~> 1.89"
34
+ spec.add_dependency "metanorma-release", "~> 0.2"
31
35
  # spec.add_dependency "thor", "~> 1.0" # inherited from vectory
32
- # spec.add_dependency "metanorma-gb", "~> 1.5.0"
33
- spec.add_dependency "metanorma-bipm", "~> 2.9.0"
34
- spec.add_dependency "metanorma-cc", "~> 2.9.0"
35
- spec.add_dependency "metanorma-generic", "~> 3.5.0"
36
- spec.add_dependency "metanorma-iec", "~> 2.9.0"
37
- spec.add_dependency "metanorma-ribose", "~> 2.9.0"
38
- spec.add_dependency "metanorma-standoc", "~> 3.5.0"
36
+ # revived flavors: floor the candidates that carry the coordinated fixes
37
+ spec.add_dependency "metanorma-gb", ">= 1.5.9.pre.alpha.3"
38
+ spec.add_dependency "metanorma-un", ">= 0.12.20.pre.alpha.2"
39
+ spec.add_dependency "metanorma-m3aawg", ">= 2.2.6.pre.alpha.2"
40
+ spec.add_dependency "metanorma-bipm", ">= 2.9.1.pre.alpha.1"
41
+ spec.add_dependency "metanorma-cc", ">= 2.9.1.pre.alpha.1"
42
+ spec.add_dependency "metanorma-generic", ">= 3.5.1.pre.alpha.1"
43
+ spec.add_dependency "metanorma-iec", ">= 2.9.1.pre.alpha.1"
44
+ spec.add_dependency "metanorma-ribose", ">= 2.9.1.pre.alpha.1"
45
+ spec.add_dependency "metanorma-standoc", ">= 3.5.1.pre.alpha.1"
46
+ spec.add_dependency "metanorma-taste", "~> 1.1"
39
47
  # spec.add_dependency 'metanorma-mpfa', "~> 0.9.0"
40
48
  spec.add_dependency "git", ">= 3.0"
41
- spec.add_dependency "lutaml-model"
42
- spec.add_dependency "metanorma", "~> 2.5.1"
43
- spec.add_dependency "metanorma-iho", "~> 1.4.0"
44
- spec.add_dependency "metanorma-itu", "~> 2.9.0"
45
- # spec.add_dependency "metanorma-nist", "~> 2.7.0"
49
+ spec.add_dependency "lutaml-model", "~> 0.8"
50
+ spec.add_dependency "metanorma", ">= 2.5.6.pre.alpha.2"
51
+ spec.add_dependency "metanorma-iho", ">= 1.4.1.pre.alpha.1"
52
+ spec.add_dependency "metanorma-itu", ">= 2.9.3.pre.alpha.1"
46
53
  spec.add_dependency "liquid", "~> 5"
47
- spec.add_dependency "metanorma-ieee", "~> 1.7.0"
48
- spec.add_dependency "metanorma-jis", "~> 1.2.0"
49
- spec.add_dependency "metanorma-ogc", "~> 2.10.0"
50
- spec.add_dependency "metanorma-plateau", "~> 1.3.0"
54
+ spec.add_dependency "metanorma-ieee", ">= 1.7.1.pre.alpha.1"
55
+ spec.add_dependency "metanorma-jis", ">= 1.2.1.pre.alpha.1"
56
+ spec.add_dependency "metanorma-ogc", ">= 2.10.1.pre.alpha.1"
57
+ spec.add_dependency "metanorma-plateau", ">= 1.3.2.pre.alpha.1"
51
58
  spec.add_dependency "canon", ">= 0.2.12"
52
- spec.add_dependency "relaton-cli", ">= 0.8.2"
59
+ spec.add_dependency "relaton-cli", ">= 3.0.0.pre.alpha"
60
+ # the coordinated isodoc candidate carries the bibrender nil-guard (isodoc#852)
61
+ spec.add_dependency "isodoc", ">= 3.7.4.pre.alpha.1"
53
62
  spec.add_dependency "socksify"
54
- spec.add_dependency "suma", "~> 0.5.0"
63
+ spec.add_dependency "suma", "~> 0.5"
55
64
  # spec.metadata["rubygems_mfa_required"] = "true"
56
65
  # NOBODY UNCOMMENTS THIS WITHOUT EXPLAINING TO ME HOW TO USE MFA
57
66
  end
metadata CHANGED
@@ -1,140 +1,211 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.17.0
4
+ version: 1.18.0.pre.alpha.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
+ autorequire:
8
9
  bindir: exe
9
10
  cert_chain: []
10
- date: 1980-01-02 00:00:00.000000000 Z
11
+ date: 2026-10-25 00:00:00.000000000 Z
11
12
  dependencies:
12
13
  - !ruby/object:Gem::Dependency
13
14
  name: metanorma-ietf
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 3.7.12.pre.alpha.1
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 3.7.12.pre.alpha.1
27
+ - !ruby/object:Gem::Dependency
28
+ name: metanorma-iso
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 3.5.1.pre.alpha.1
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 3.5.1.pre.alpha.1
41
+ - !ruby/object:Gem::Dependency
42
+ name: mnconvert
14
43
  requirement: !ruby/object:Gem::Requirement
15
44
  requirements:
16
45
  - - "~>"
17
46
  - !ruby/object:Gem::Version
18
- version: 3.7.0
47
+ version: '1.89'
19
48
  type: :runtime
20
49
  prerelease: false
21
50
  version_requirements: !ruby/object:Gem::Requirement
22
51
  requirements:
23
52
  - - "~>"
24
53
  - !ruby/object:Gem::Version
25
- version: 3.7.0
54
+ version: '1.89'
26
55
  - !ruby/object:Gem::Dependency
27
- name: metanorma-iso
56
+ name: metanorma-release
28
57
  requirement: !ruby/object:Gem::Requirement
29
58
  requirements:
30
59
  - - "~>"
31
60
  - !ruby/object:Gem::Version
32
- version: 3.5.0
61
+ version: '0.2'
33
62
  type: :runtime
34
63
  prerelease: false
35
64
  version_requirements: !ruby/object:Gem::Requirement
36
65
  requirements:
37
66
  - - "~>"
38
67
  - !ruby/object:Gem::Version
39
- version: 3.5.0
68
+ version: '0.2'
40
69
  - !ruby/object:Gem::Dependency
41
- name: mnconvert
70
+ name: metanorma-gb
42
71
  requirement: !ruby/object:Gem::Requirement
43
72
  requirements:
44
73
  - - ">="
45
74
  - !ruby/object:Gem::Version
46
- version: '0'
75
+ version: 1.5.9.pre.alpha.3
47
76
  type: :runtime
48
77
  prerelease: false
49
78
  version_requirements: !ruby/object:Gem::Requirement
50
79
  requirements:
51
80
  - - ">="
52
81
  - !ruby/object:Gem::Version
53
- version: '0'
82
+ version: 1.5.9.pre.alpha.3
83
+ - !ruby/object:Gem::Dependency
84
+ name: metanorma-un
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: 0.12.20.pre.alpha.2
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: 0.12.20.pre.alpha.2
97
+ - !ruby/object:Gem::Dependency
98
+ name: metanorma-m3aawg
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: 2.2.6.pre.alpha.2
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: 2.2.6.pre.alpha.2
54
111
  - !ruby/object:Gem::Dependency
55
112
  name: metanorma-bipm
56
113
  requirement: !ruby/object:Gem::Requirement
57
114
  requirements:
58
- - - "~>"
115
+ - - ">="
59
116
  - !ruby/object:Gem::Version
60
- version: 2.9.0
117
+ version: 2.9.1.pre.alpha.1
61
118
  type: :runtime
62
119
  prerelease: false
63
120
  version_requirements: !ruby/object:Gem::Requirement
64
121
  requirements:
65
- - - "~>"
122
+ - - ">="
66
123
  - !ruby/object:Gem::Version
67
- version: 2.9.0
124
+ version: 2.9.1.pre.alpha.1
68
125
  - !ruby/object:Gem::Dependency
69
126
  name: metanorma-cc
70
127
  requirement: !ruby/object:Gem::Requirement
71
128
  requirements:
72
- - - "~>"
129
+ - - ">="
73
130
  - !ruby/object:Gem::Version
74
- version: 2.9.0
131
+ version: 2.9.1.pre.alpha.1
75
132
  type: :runtime
76
133
  prerelease: false
77
134
  version_requirements: !ruby/object:Gem::Requirement
78
135
  requirements:
79
- - - "~>"
136
+ - - ">="
80
137
  - !ruby/object:Gem::Version
81
- version: 2.9.0
138
+ version: 2.9.1.pre.alpha.1
82
139
  - !ruby/object:Gem::Dependency
83
140
  name: metanorma-generic
84
141
  requirement: !ruby/object:Gem::Requirement
85
142
  requirements:
86
- - - "~>"
143
+ - - ">="
87
144
  - !ruby/object:Gem::Version
88
- version: 3.5.0
145
+ version: 3.5.1.pre.alpha.1
89
146
  type: :runtime
90
147
  prerelease: false
91
148
  version_requirements: !ruby/object:Gem::Requirement
92
149
  requirements:
93
- - - "~>"
150
+ - - ">="
94
151
  - !ruby/object:Gem::Version
95
- version: 3.5.0
152
+ version: 3.5.1.pre.alpha.1
96
153
  - !ruby/object:Gem::Dependency
97
154
  name: metanorma-iec
98
155
  requirement: !ruby/object:Gem::Requirement
99
156
  requirements:
100
- - - "~>"
157
+ - - ">="
101
158
  - !ruby/object:Gem::Version
102
- version: 2.9.0
159
+ version: 2.9.1.pre.alpha.1
103
160
  type: :runtime
104
161
  prerelease: false
105
162
  version_requirements: !ruby/object:Gem::Requirement
106
163
  requirements:
107
- - - "~>"
164
+ - - ">="
108
165
  - !ruby/object:Gem::Version
109
- version: 2.9.0
166
+ version: 2.9.1.pre.alpha.1
110
167
  - !ruby/object:Gem::Dependency
111
168
  name: metanorma-ribose
112
169
  requirement: !ruby/object:Gem::Requirement
113
170
  requirements:
114
- - - "~>"
171
+ - - ">="
115
172
  - !ruby/object:Gem::Version
116
- version: 2.9.0
173
+ version: 2.9.1.pre.alpha.1
117
174
  type: :runtime
118
175
  prerelease: false
119
176
  version_requirements: !ruby/object:Gem::Requirement
120
177
  requirements:
121
- - - "~>"
178
+ - - ">="
122
179
  - !ruby/object:Gem::Version
123
- version: 2.9.0
180
+ version: 2.9.1.pre.alpha.1
124
181
  - !ruby/object:Gem::Dependency
125
182
  name: metanorma-standoc
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: 3.5.1.pre.alpha.1
188
+ type: :runtime
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: 3.5.1.pre.alpha.1
195
+ - !ruby/object:Gem::Dependency
196
+ name: metanorma-taste
126
197
  requirement: !ruby/object:Gem::Requirement
127
198
  requirements:
128
199
  - - "~>"
129
200
  - !ruby/object:Gem::Version
130
- version: 3.5.0
201
+ version: '1.1'
131
202
  type: :runtime
132
203
  prerelease: false
133
204
  version_requirements: !ruby/object:Gem::Requirement
134
205
  requirements:
135
206
  - - "~>"
136
207
  - !ruby/object:Gem::Version
137
- version: 3.5.0
208
+ version: '1.1'
138
209
  - !ruby/object:Gem::Dependency
139
210
  name: git
140
211
  requirement: !ruby/object:Gem::Requirement
@@ -153,58 +224,58 @@ dependencies:
153
224
  name: lutaml-model
154
225
  requirement: !ruby/object:Gem::Requirement
155
226
  requirements:
156
- - - ">="
227
+ - - "~>"
157
228
  - !ruby/object:Gem::Version
158
- version: '0'
229
+ version: '0.8'
159
230
  type: :runtime
160
231
  prerelease: false
161
232
  version_requirements: !ruby/object:Gem::Requirement
162
233
  requirements:
163
- - - ">="
234
+ - - "~>"
164
235
  - !ruby/object:Gem::Version
165
- version: '0'
236
+ version: '0.8'
166
237
  - !ruby/object:Gem::Dependency
167
238
  name: metanorma
168
239
  requirement: !ruby/object:Gem::Requirement
169
240
  requirements:
170
- - - "~>"
241
+ - - ">="
171
242
  - !ruby/object:Gem::Version
172
- version: 2.5.1
243
+ version: 2.5.6.pre.alpha.2
173
244
  type: :runtime
174
245
  prerelease: false
175
246
  version_requirements: !ruby/object:Gem::Requirement
176
247
  requirements:
177
- - - "~>"
248
+ - - ">="
178
249
  - !ruby/object:Gem::Version
179
- version: 2.5.1
250
+ version: 2.5.6.pre.alpha.2
180
251
  - !ruby/object:Gem::Dependency
181
252
  name: metanorma-iho
182
253
  requirement: !ruby/object:Gem::Requirement
183
254
  requirements:
184
- - - "~>"
255
+ - - ">="
185
256
  - !ruby/object:Gem::Version
186
- version: 1.4.0
257
+ version: 1.4.1.pre.alpha.1
187
258
  type: :runtime
188
259
  prerelease: false
189
260
  version_requirements: !ruby/object:Gem::Requirement
190
261
  requirements:
191
- - - "~>"
262
+ - - ">="
192
263
  - !ruby/object:Gem::Version
193
- version: 1.4.0
264
+ version: 1.4.1.pre.alpha.1
194
265
  - !ruby/object:Gem::Dependency
195
266
  name: metanorma-itu
196
267
  requirement: !ruby/object:Gem::Requirement
197
268
  requirements:
198
- - - "~>"
269
+ - - ">="
199
270
  - !ruby/object:Gem::Version
200
- version: 2.9.0
271
+ version: 2.9.3.pre.alpha.1
201
272
  type: :runtime
202
273
  prerelease: false
203
274
  version_requirements: !ruby/object:Gem::Requirement
204
275
  requirements:
205
- - - "~>"
276
+ - - ">="
206
277
  - !ruby/object:Gem::Version
207
- version: 2.9.0
278
+ version: 2.9.3.pre.alpha.1
208
279
  - !ruby/object:Gem::Dependency
209
280
  name: liquid
210
281
  requirement: !ruby/object:Gem::Requirement
@@ -223,58 +294,58 @@ dependencies:
223
294
  name: metanorma-ieee
224
295
  requirement: !ruby/object:Gem::Requirement
225
296
  requirements:
226
- - - "~>"
297
+ - - ">="
227
298
  - !ruby/object:Gem::Version
228
- version: 1.7.0
299
+ version: 1.7.1.pre.alpha.1
229
300
  type: :runtime
230
301
  prerelease: false
231
302
  version_requirements: !ruby/object:Gem::Requirement
232
303
  requirements:
233
- - - "~>"
304
+ - - ">="
234
305
  - !ruby/object:Gem::Version
235
- version: 1.7.0
306
+ version: 1.7.1.pre.alpha.1
236
307
  - !ruby/object:Gem::Dependency
237
308
  name: metanorma-jis
238
309
  requirement: !ruby/object:Gem::Requirement
239
310
  requirements:
240
- - - "~>"
311
+ - - ">="
241
312
  - !ruby/object:Gem::Version
242
- version: 1.2.0
313
+ version: 1.2.1.pre.alpha.1
243
314
  type: :runtime
244
315
  prerelease: false
245
316
  version_requirements: !ruby/object:Gem::Requirement
246
317
  requirements:
247
- - - "~>"
318
+ - - ">="
248
319
  - !ruby/object:Gem::Version
249
- version: 1.2.0
320
+ version: 1.2.1.pre.alpha.1
250
321
  - !ruby/object:Gem::Dependency
251
322
  name: metanorma-ogc
252
323
  requirement: !ruby/object:Gem::Requirement
253
324
  requirements:
254
- - - "~>"
325
+ - - ">="
255
326
  - !ruby/object:Gem::Version
256
- version: 2.10.0
327
+ version: 2.10.1.pre.alpha.1
257
328
  type: :runtime
258
329
  prerelease: false
259
330
  version_requirements: !ruby/object:Gem::Requirement
260
331
  requirements:
261
- - - "~>"
332
+ - - ">="
262
333
  - !ruby/object:Gem::Version
263
- version: 2.10.0
334
+ version: 2.10.1.pre.alpha.1
264
335
  - !ruby/object:Gem::Dependency
265
336
  name: metanorma-plateau
266
337
  requirement: !ruby/object:Gem::Requirement
267
338
  requirements:
268
- - - "~>"
339
+ - - ">="
269
340
  - !ruby/object:Gem::Version
270
- version: 1.3.0
341
+ version: 1.3.2.pre.alpha.1
271
342
  type: :runtime
272
343
  prerelease: false
273
344
  version_requirements: !ruby/object:Gem::Requirement
274
345
  requirements:
275
- - - "~>"
346
+ - - ">="
276
347
  - !ruby/object:Gem::Version
277
- version: 1.3.0
348
+ version: 1.3.2.pre.alpha.1
278
349
  - !ruby/object:Gem::Dependency
279
350
  name: canon
280
351
  requirement: !ruby/object:Gem::Requirement
@@ -295,14 +366,28 @@ dependencies:
295
366
  requirements:
296
367
  - - ">="
297
368
  - !ruby/object:Gem::Version
298
- version: 0.8.2
369
+ version: 3.0.0.pre.alpha
370
+ type: :runtime
371
+ prerelease: false
372
+ version_requirements: !ruby/object:Gem::Requirement
373
+ requirements:
374
+ - - ">="
375
+ - !ruby/object:Gem::Version
376
+ version: 3.0.0.pre.alpha
377
+ - !ruby/object:Gem::Dependency
378
+ name: isodoc
379
+ requirement: !ruby/object:Gem::Requirement
380
+ requirements:
381
+ - - ">="
382
+ - !ruby/object:Gem::Version
383
+ version: 3.7.4.pre.alpha.1
299
384
  type: :runtime
300
385
  prerelease: false
301
386
  version_requirements: !ruby/object:Gem::Requirement
302
387
  requirements:
303
388
  - - ">="
304
389
  - !ruby/object:Gem::Version
305
- version: 0.8.2
390
+ version: 3.7.4.pre.alpha.1
306
391
  - !ruby/object:Gem::Dependency
307
392
  name: socksify
308
393
  requirement: !ruby/object:Gem::Requirement
@@ -323,14 +408,14 @@ dependencies:
323
408
  requirements:
324
409
  - - "~>"
325
410
  - !ruby/object:Gem::Version
326
- version: 0.5.0
411
+ version: '0.5'
327
412
  type: :runtime
328
413
  prerelease: false
329
414
  version_requirements: !ruby/object:Gem::Requirement
330
415
  requirements:
331
416
  - - "~>"
332
417
  - !ruby/object:Gem::Version
333
- version: 0.5.0
418
+ version: '0.5'
334
419
  description: Executable to process any Metanorma standard.
335
420
  email:
336
421
  - open.source@ribose.com
@@ -339,9 +424,9 @@ executables:
339
424
  - metanorma-manifest
340
425
  extensions: []
341
426
  extra_rdoc_files:
342
- - CODE_OF_CONDUCT.md
343
- - LICENSE
344
427
  - README.adoc
428
+ - LICENSE
429
+ - CODE_OF_CONDUCT.md
345
430
  files:
346
431
  - CODE_OF_CONDUCT.md
347
432
  - Gemfile
@@ -371,6 +456,7 @@ files:
371
456
  - lib/metanorma/cli/flavor.rb
372
457
  - lib/metanorma/cli/generator.rb
373
458
  - lib/metanorma/cli/git_template.rb
459
+ - lib/metanorma/cli/schema_site_detector.rb
374
460
  - lib/metanorma/cli/site_generator.rb
375
461
  - lib/metanorma/cli/stringify_all_keys.rb
376
462
  - lib/metanorma/cli/template_repo.rb
@@ -386,6 +472,7 @@ homepage: https://www.metanorma.com
386
472
  licenses:
387
473
  - BSD-2-Clause
388
474
  metadata: {}
475
+ post_install_message:
389
476
  rdoc_options: []
390
477
  require_paths:
391
478
  - lib
@@ -400,7 +487,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
400
487
  - !ruby/object:Gem::Version
401
488
  version: '0'
402
489
  requirements: []
403
- rubygems_version: 4.0.18
490
+ rubygems_version: 3.5.22
491
+ signing_key:
404
492
  specification_version: 4
405
493
  summary: Metanorma is the standard of standards; the metanorma gem allows you to create
406
494
  any standard document type supported by Metanorma.