mn-requirements 0.2.0 → 0.2.3
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
- data/lib/metanorma/modspec/cleanup.rb +38 -3
- data/lib/metanorma/modspec/isodoc.rb +9 -6
- data/lib/metanorma/modspec/modspec.rb +4 -0
- data/lib/metanorma/modspec/reqt_label.rb +80 -32
- data/lib/metanorma/modspec/table_cleanup.rb +33 -0
- data/lib/metanorma/modspec/validate.rb +51 -0
- data/lib/metanorma/modspec/xrefs.rb +2 -1
- data/lib/metanorma/requirements/selector.rb +2 -1
- data/lib/metanorma/requirements/version.rb +1 -1
- data/mn-requirements.gemspec +3 -2
- metadata +4 -10
- data/.github/workflows/rake.yml +0 -15
- data/.github/workflows/release.yml +0 -27
- data/Rakefile +0 -6
- data/bin/console +0 -14
- data/bin/rspec +0 -17
- data/bin/setup +0 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ed29bf407c16d8890bb04abf9028498f568a8d42cb2d232aab1f2312ccd045c3
|
4
|
+
data.tar.gz: 7cb6924aa3b79542533047703be36e769b4e69b299c052868232ed81764b45c0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bb1c844f85032d0fac0c678259ca2983debbbe55f7cbf308d155aac2f7f8169142ec2f838a57c0329dd6f9aa1d007e4040c7e3cf0bdf33205b41b6cdc737e40b
|
7
|
+
data.tar.gz: 49b72dcb20a45e87f82fa0b64bdc7db99374f2cf2c1c0bb031543cef803306e17e240b015c9a6a120a9714d5f8064dc4d18d72adad71d27e4864f91d24f88778
|
@@ -21,7 +21,7 @@ module Metanorma
|
|
21
21
|
|
22
22
|
def requirement_metadata_component_tags
|
23
23
|
%w(test-purpose test-method test-method-type conditions part description
|
24
|
-
reference step guidance) +
|
24
|
+
statement reference step guidance) +
|
25
25
|
requirement_metadata_requirement_tags
|
26
26
|
end
|
27
27
|
|
@@ -35,6 +35,7 @@ module Metanorma
|
|
35
35
|
ins1 = super
|
36
36
|
dlist.xpath("./dt").each do |e|
|
37
37
|
tag = e.text&.gsub(/ /, "-")&.downcase
|
38
|
+
tag = "description" if tag == "statement"
|
38
39
|
next unless requirement_metadata_component_tags.include?(tag)
|
39
40
|
|
40
41
|
ins1.next = requirement_metadata1_component(e, tag)
|
@@ -75,7 +76,7 @@ module Metanorma
|
|
75
76
|
|
76
77
|
def requirement_target_identifiers(reqt)
|
77
78
|
reqt.xpath("./classification[tag][value/link]").each do |c|
|
78
|
-
%w(target indirect-dependency implements)
|
79
|
+
%w(target indirect-dependency implements identifier-base)
|
79
80
|
.include?(c.at("./tag").text.downcase) or next
|
80
81
|
v = c.at("./value[link]")
|
81
82
|
v.children = v.at("./link/@target").text
|
@@ -83,7 +84,7 @@ module Metanorma
|
|
83
84
|
end
|
84
85
|
|
85
86
|
def requirement_metadata_to_component(reqt)
|
86
|
-
xpath = requirement_metadata_component_tags - %w(description) -
|
87
|
+
xpath = requirement_metadata_component_tags - %w(statement description) -
|
87
88
|
requirement_metadata_requirement_tags
|
88
89
|
reqt.xpath(xpath.map { |x| ".//#{x}" }.join(" | ")).each do |c|
|
89
90
|
c["class"] = c.name
|
@@ -119,6 +120,40 @@ module Metanorma
|
|
119
120
|
c.children = "<p>#{c.children.to_xml}</p>"
|
120
121
|
end
|
121
122
|
end
|
123
|
+
|
124
|
+
def add_misc_container(xmldoc)
|
125
|
+
unless ins = xmldoc.at("//misc-container")
|
126
|
+
a = xmldoc.at("//termdocsource") || xmldoc.at("//bibdata")
|
127
|
+
a.next = "<misc-container/>"
|
128
|
+
ins = xmldoc.at("//misc-container")
|
129
|
+
end
|
130
|
+
ins
|
131
|
+
end
|
132
|
+
|
133
|
+
def add_misccontainer_anchor_aliases(xmldoc)
|
134
|
+
m = add_misc_container(xmldoc)
|
135
|
+
x = ".//table[@id = '_misccontainer_anchor_aliases']/tbody"
|
136
|
+
unless ins = m.at(x)
|
137
|
+
m << "<table id = '_misccontainer_anchor_aliases'><tbody/></table>"
|
138
|
+
ins = m.at(x)
|
139
|
+
end
|
140
|
+
ins
|
141
|
+
end
|
142
|
+
|
143
|
+
def requirement_anchor_aliases(reqt)
|
144
|
+
x = reqt.xpath("./identifier")
|
145
|
+
x.empty? and return
|
146
|
+
table = add_misccontainer_anchor_aliases(reqt.document)
|
147
|
+
ids = x.each_with_object([]) do |i, m|
|
148
|
+
m << "<td>#{i.text}</td>"
|
149
|
+
end
|
150
|
+
table << "<tr><th>#{reqt['id']}</th>#{ids.join}</tr>"
|
151
|
+
end
|
152
|
+
|
153
|
+
def requirement_identifier_cleanup(reqt)
|
154
|
+
super
|
155
|
+
requirement_anchor_aliases(reqt)
|
156
|
+
end
|
122
157
|
end
|
123
158
|
end
|
124
159
|
end
|
@@ -69,8 +69,11 @@ module Metanorma
|
|
69
69
|
|
70
70
|
def recommend_title(node, out)
|
71
71
|
label = node.at(ns("./identifier")) or return
|
72
|
-
|
73
|
-
|
72
|
+
ret = <<~OUTPUT
|
73
|
+
<tr><th>#{@labels['modspec']['identifier']}</th>
|
74
|
+
<td><tt><modspec-ident>#{label.children.to_xml}</modspec-ident></tt></td>
|
75
|
+
OUTPUT
|
76
|
+
out.add_child(ret)
|
74
77
|
end
|
75
78
|
|
76
79
|
def recommendation_attributes1(node)
|
@@ -162,7 +165,7 @@ module Metanorma
|
|
162
165
|
def recommendation_attr_keyvalue(node, key, value)
|
163
166
|
tag = node.at(ns("./#{key}")) or return nil
|
164
167
|
value = node.at(ns("./#{value}")) or return nil
|
165
|
-
!%w(target indirect-dependency
|
168
|
+
!%w(target indirect-dependency identifier-base
|
166
169
|
implements).include?(tag.text.downcase) or
|
167
170
|
return nil
|
168
171
|
[Metanorma::Utils.strict_capitalize_first(tag.text), value.children]
|
@@ -194,9 +197,9 @@ module Metanorma
|
|
194
197
|
end
|
195
198
|
|
196
199
|
def requirement_description_parse(node, out)
|
197
|
-
lbl = "
|
198
|
-
recommend_class(node.parent) == "
|
199
|
-
lbl = "
|
200
|
+
lbl = "description"
|
201
|
+
recommend_class(node.parent) == "recommend" and
|
202
|
+
lbl = "statement"
|
200
203
|
out << "<tr><th>#{@labels['modspec'][lbl]}</th>" \
|
201
204
|
"<td>#{node.children.to_xml}</td></tr>"
|
202
205
|
out
|
@@ -1,3 +1,10 @@
|
|
1
|
+
class Nokogiri::XML::Document
|
2
|
+
def reqt_iter(&block)
|
3
|
+
xpath("//xmlns:requirement | //xmlns:recommendation | //xmlns:permission")
|
4
|
+
.each_with_object({}, &block)
|
5
|
+
end
|
6
|
+
end
|
7
|
+
|
1
8
|
module Metanorma
|
2
9
|
class Requirements
|
3
10
|
class Modspec < Default
|
@@ -31,13 +38,14 @@ module Metanorma
|
|
31
38
|
@reqt_ids = reqt_ids(doc)
|
32
39
|
@reqt_links_class = reqt_links_class(doc)
|
33
40
|
@reqt_links_test = reqt_links_test(doc)
|
41
|
+
@reqt_id_base = reqt_id_base(doc)
|
42
|
+
truncate_id_base_outside_reqts(doc)
|
34
43
|
end
|
35
44
|
|
36
45
|
def reqtlabels(doc)
|
37
|
-
doc.
|
38
|
-
.
|
39
|
-
|
40
|
-
end
|
46
|
+
doc.reqt_iter do |r, m|
|
47
|
+
l = r.at(ns("./identifier"))&.text and m[l] = r["id"]
|
48
|
+
end
|
41
49
|
end
|
42
50
|
|
43
51
|
# embedded reqts xref to reqts via label lookup
|
@@ -62,30 +70,23 @@ module Metanorma
|
|
62
70
|
end
|
63
71
|
|
64
72
|
def reqt_ids(docxml)
|
65
|
-
docxml.
|
66
|
-
.
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
end
|
73
|
+
docxml.reqt_iter do |r, m|
|
74
|
+
id = r.at(ns("./identifier")) or next
|
75
|
+
m[id.text] =
|
76
|
+
{ id: r["id"], lbl: @xrefs.anchor(r["id"], :xref, false) }
|
77
|
+
end
|
71
78
|
end
|
72
79
|
|
73
80
|
def reqt_links_test(docxml)
|
74
|
-
docxml.
|
75
|
-
.each_with_object({}) do |r, m|
|
76
|
-
reqt_links_test1(r, m)
|
77
|
-
end
|
81
|
+
docxml.reqt_iter { |r, m| reqt_links_test1(r, m) }
|
78
82
|
end
|
79
83
|
|
80
84
|
def reqt_links_test1(reqt, acc)
|
81
|
-
|
82
|
-
verification).include?(reqt["type"])
|
83
|
-
|
85
|
+
%w(conformanceclass verification).include?(reqt["type"]) or return
|
84
86
|
subj = reqt_extract_target(reqt)
|
85
87
|
id = reqt.at(ns("./identifier")) or return
|
86
88
|
lbl = @xrefs.anchor(@reqt_ids[id.text.strip][:id], :xref, false)
|
87
|
-
|
88
|
-
|
89
|
+
(subj && lbl) or return
|
89
90
|
acc[subj.text] = { lbl: lbl, id: reqt["id"] }
|
90
91
|
end
|
91
92
|
|
@@ -95,26 +96,62 @@ module Metanorma
|
|
95
96
|
end&.at(ns("./value"))
|
96
97
|
end
|
97
98
|
|
99
|
+
def reqt_extract_id_base(reqt)
|
100
|
+
reqt.xpath(ns("./classification[tag][value]")).detect do |x|
|
101
|
+
x.at(ns("./tag")).text.casecmp("identifier-base").zero?
|
102
|
+
end&.at(ns("./value"))
|
103
|
+
end
|
104
|
+
|
98
105
|
def recommendation_link_test(ident)
|
99
106
|
test = @reqt_links_test[ident&.strip] or return nil
|
100
107
|
"<xref target='#{test[:id]}'>#{test[:lbl]}</xref>"
|
101
108
|
end
|
102
109
|
|
110
|
+
# we have not implemented multiple levels of nesting of classes
|
103
111
|
def reqt_links_class(docxml)
|
104
|
-
docxml.
|
105
|
-
.
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
.each do |r1|
|
111
|
-
id1 = r1.at(ns("./identifier")) or next
|
112
|
-
lbl = @xrefs.anchor(@reqt_ids[id.text.strip][:id], :xref, false)
|
113
|
-
next unless lbl
|
114
|
-
|
115
|
-
m[id1.text] = { lbl: lbl, id: r["id"] }
|
116
|
-
end
|
112
|
+
docxml.reqt_iter do |r, m|
|
113
|
+
%w(class conformanceclass).include?(r["type"]) or next
|
114
|
+
id = r.at(ns("./identifier")) or next
|
115
|
+
r.xpath(ns("./requirement | ./recommendation | ./permission"))
|
116
|
+
.each do |r1|
|
117
|
+
m = reqt_links_class1(id, r, r1, m)
|
117
118
|
end
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
122
|
+
def reqt_links_class1(id, parent_reqt, reqt, acc)
|
123
|
+
id1 = reqt.at(ns("./identifier")) or return acc
|
124
|
+
lbl = @xrefs.anchor(@reqt_ids[id.text.strip][:id], :xref, false)
|
125
|
+
lbl or return acc
|
126
|
+
acc[id1.text] = { lbl: lbl, id: parent_reqt["id"] }
|
127
|
+
acc
|
128
|
+
end
|
129
|
+
|
130
|
+
def reqt_hierarchy_extract
|
131
|
+
@reqt_links_class.each_with_object({}) do |(k, v), m|
|
132
|
+
m[v[:id]] ||= []
|
133
|
+
m[v[:id]] << @reqt_ids[k][:id]
|
134
|
+
end
|
135
|
+
end
|
136
|
+
|
137
|
+
def reqt_id_base_init(docxml)
|
138
|
+
docxml.reqt_iter { |r, m| m[r["id"]] = reqt_extract_id_base(r)&.text }
|
139
|
+
end
|
140
|
+
|
141
|
+
def reqt_id_base_inherit(ret, class2reqt)
|
142
|
+
ret.each_key do |k|
|
143
|
+
class2reqt[k]&.each do |k1|
|
144
|
+
ret[k1] ||= ret[k]
|
145
|
+
end
|
146
|
+
end
|
147
|
+
ret
|
148
|
+
end
|
149
|
+
|
150
|
+
def reqt_id_base(docxml)
|
151
|
+
ret = reqt_id_base_init(docxml)
|
152
|
+
ret = reqt_id_base_inherit(ret, reqt_hierarchy_extract)
|
153
|
+
@modspecidentifierbase or return ret
|
154
|
+
ret.each_key { |k| ret[k] ||= @modspecidentifierbase }
|
118
155
|
end
|
119
156
|
|
120
157
|
def recommendation_link_class(ident)
|
@@ -143,6 +180,17 @@ module Metanorma
|
|
143
180
|
ret
|
144
181
|
end
|
145
182
|
|
183
|
+
def truncate_id_base_outside_reqts(docxml)
|
184
|
+
@modspecidentifierbase or return
|
185
|
+
|
186
|
+
(docxml.xpath(ns("//xref[@style = 'id']")) - docxml
|
187
|
+
.xpath(ns("//requirement//xref | //permission//xref | " \
|
188
|
+
"//recommendation//xref"))).each do |x|
|
189
|
+
@reqt_id_base[x["target"]] or next # is a modspec requirement
|
190
|
+
x.children = x.children.to_xml.delete_prefix(@modspecidentifierbase)
|
191
|
+
end
|
192
|
+
end
|
193
|
+
|
146
194
|
def rec_subj(node)
|
147
195
|
case node["type"]
|
148
196
|
when "class" then @labels["modspec"]["targettype"]
|
@@ -4,6 +4,8 @@ module Metanorma
|
|
4
4
|
def requirement_table_cleanup(node, table)
|
5
5
|
table = requirement_table_nested_cleanup(node, table)
|
6
6
|
requirement_table_consec_rows_cleanup(node, table)
|
7
|
+
node.ancestors("requirement, recommendation, permission").empty? and
|
8
|
+
truncate_id_base_in_reqt(table)
|
7
9
|
table
|
8
10
|
end
|
9
11
|
|
@@ -57,6 +59,37 @@ module Metanorma
|
|
57
59
|
node["type"] == "conformanceclass" and label = "conformancetest"
|
58
60
|
@i18n.get["requirements"]["modspec"][label]
|
59
61
|
end
|
62
|
+
|
63
|
+
def strip_id_base(elem, base)
|
64
|
+
return elem.children if base.nil?
|
65
|
+
|
66
|
+
elem.children.to_xml.delete_prefix(base)
|
67
|
+
end
|
68
|
+
|
69
|
+
def truncate_id_base_in_reqt1(table, base)
|
70
|
+
table.xpath(ns(".//xref[@style = 'id']")).each do |x|
|
71
|
+
@reqt_id_base[x["target"]] or next # is a modspec requirement
|
72
|
+
x.children = strip_id_base(x, base)
|
73
|
+
end
|
74
|
+
table.xpath(ns(".//modspec-ident")).each do |x|
|
75
|
+
x.replace(strip_id_base(x, base))
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
# any xrefs not yet expanded out to rendering need to be expanded out,
|
80
|
+
# so that the identifier instances they contain can be truncated
|
81
|
+
def expand_xrefs_in_reqt(table)
|
82
|
+
table.xpath(ns(".//xref[not(@style)][normalize-space(text()) = '']"))
|
83
|
+
.each do |x|
|
84
|
+
x << @xrefs.anchor(x["target"], :xref, false)
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
def truncate_id_base_in_reqt(table)
|
89
|
+
base = @reqt_id_base[table["id"]]
|
90
|
+
expand_xrefs_in_reqt(table)
|
91
|
+
truncate_id_base_in_reqt1(table, base)
|
92
|
+
end
|
60
93
|
end
|
61
94
|
end
|
62
95
|
end
|
@@ -1,9 +1,12 @@
|
|
1
|
+
require "tsort"
|
2
|
+
|
1
3
|
module Metanorma
|
2
4
|
class Requirements
|
3
5
|
class Modspec < Default
|
4
6
|
def validate(reqt, log)
|
5
7
|
@log ||= log
|
6
8
|
@ids ||= reqt_links(reqt.document)
|
9
|
+
reqt_cycles_validate
|
7
10
|
reqt_link_validate(reqt)
|
8
11
|
end
|
9
12
|
|
@@ -140,6 +143,54 @@ module Metanorma
|
|
140
143
|
indirect_dependency: classif_tag(reqt, "indirect-dependency"),
|
141
144
|
implements: classif_tag(reqt, "implements") }
|
142
145
|
end
|
146
|
+
|
147
|
+
def reqt_cycles_validate
|
148
|
+
@cycles_validated and return
|
149
|
+
@cycles_validated = true
|
150
|
+
%i(child dependency indirect_dependency implements).each do |x|
|
151
|
+
reqt_cycles_validate1(x)
|
152
|
+
end
|
153
|
+
end
|
154
|
+
|
155
|
+
def reqt_cycles_validate1(link)
|
156
|
+
arr = TSHash.new(@ids[:id].values)
|
157
|
+
arr.link = link
|
158
|
+
TSort.each_strongly_connected_component(
|
159
|
+
lambda { |&b| arr.tsort_each_node(&b) },
|
160
|
+
lambda { |n, &b| arr.tsort_each_child(n, &b) },
|
161
|
+
) do |c|
|
162
|
+
c.size == 1 and next
|
163
|
+
log_cycle(link, c)
|
164
|
+
end
|
165
|
+
end
|
166
|
+
|
167
|
+
def log_cycle(link, path)
|
168
|
+
@log.add("Requirements", nil, <<~MSG
|
169
|
+
Cycle in Modspec linkages through #{link}: #{(path << path.first).join(' => ')}
|
170
|
+
MSG
|
171
|
+
)
|
172
|
+
end
|
173
|
+
|
174
|
+
class TSHash
|
175
|
+
include TSort
|
176
|
+
attr_accessor :link
|
177
|
+
|
178
|
+
def initialize(arr)
|
179
|
+
@hash = arr.each_with_object({}) do |v, m|
|
180
|
+
m[v[:label]] = v
|
181
|
+
end
|
182
|
+
end
|
183
|
+
|
184
|
+
def tsort_each_node(&block)
|
185
|
+
@hash.keys.each(&block)
|
186
|
+
end
|
187
|
+
|
188
|
+
def tsort_each_child(node, &block)
|
189
|
+
(@hash[node] || {})[@link]&.each(&block)
|
190
|
+
end
|
191
|
+
end
|
192
|
+
|
193
|
+
def reqt_cycles_validate_dependency; end
|
143
194
|
end
|
144
195
|
end
|
145
196
|
end
|
@@ -73,7 +73,8 @@ module Metanorma
|
|
73
73
|
super
|
74
74
|
anchor[:xref_bare] = anchor[:xref]
|
75
75
|
if l = block.at(ns("./identifier"))&.text
|
76
|
-
anchor[:xref] += l10n(": ") +
|
76
|
+
anchor[:xref] += l10n(": ") +
|
77
|
+
"<tt><xref style='id' target='#{block['id']}'>#{l}</xref></tt>"
|
77
78
|
end
|
78
79
|
anchor
|
79
80
|
end
|
@@ -5,7 +5,7 @@ require "metanorma-utils"
|
|
5
5
|
|
6
6
|
module Metanorma
|
7
7
|
class Requirements
|
8
|
-
attr_accessor :i18n, :labels
|
8
|
+
attr_accessor :i18n, :labels, :modspecidentifierbase
|
9
9
|
|
10
10
|
Hash.include Metanorma::Utils::Hash
|
11
11
|
|
@@ -17,6 +17,7 @@ module Metanorma
|
|
17
17
|
options[:labels])
|
18
18
|
# @labels = @i18n.get.deep_merge(options[:labels] || {})["requirements"]
|
19
19
|
@labels = @i18n.get["requirements"]
|
20
|
+
@modspecidentifierbase = options[:modspecidentifierbase]
|
20
21
|
@models =
|
21
22
|
model_names.each_with_object({}) { |k, m| m[k] = create(k) }
|
22
23
|
end
|
data/mn-requirements.gemspec
CHANGED
@@ -17,12 +17,13 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.license = "BSD-2-Clause"
|
18
18
|
|
19
19
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
20
|
-
f.match(%r{^(test|spec|features)/})
|
20
|
+
f.match(%r{^(test|spec|features|bin|.github)/}) \
|
21
|
+
|| f.match(%r{Rakefile|bin/rspec})
|
21
22
|
end
|
22
23
|
spec.bindir = "exe"
|
23
24
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
24
25
|
spec.require_paths = ["lib"]
|
25
|
-
spec.required_ruby_version = Gem::Requirement.new(">= 2.
|
26
|
+
spec.required_ruby_version = Gem::Requirement.new(">= 2.7.0")
|
26
27
|
|
27
28
|
spec.add_dependency "isodoc-i18n", "~> 1.1.2"
|
28
29
|
spec.add_dependency "metanorma-utils", "~> 1.4.0"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mn-requirements
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-11-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: isodoc-i18n
|
@@ -201,18 +201,12 @@ executables: []
|
|
201
201
|
extensions: []
|
202
202
|
extra_rdoc_files: []
|
203
203
|
files:
|
204
|
-
- ".github/workflows/rake.yml"
|
205
|
-
- ".github/workflows/release.yml"
|
206
204
|
- ".hound.yml"
|
207
205
|
- ".rubocop.yml"
|
208
206
|
- CODE_OF_CONDUCT.md
|
209
207
|
- Gemfile
|
210
208
|
- LICENSE
|
211
209
|
- README.adoc
|
212
|
-
- Rakefile
|
213
|
-
- bin/console
|
214
|
-
- bin/rspec
|
215
|
-
- bin/setup
|
216
210
|
- lib/isodoc-yaml/i18n-ar.yaml
|
217
211
|
- lib/isodoc-yaml/i18n-de.yaml
|
218
212
|
- lib/isodoc-yaml/i18n-en.yaml
|
@@ -249,14 +243,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
249
243
|
requirements:
|
250
244
|
- - ">="
|
251
245
|
- !ruby/object:Gem::Version
|
252
|
-
version: 2.
|
246
|
+
version: 2.7.0
|
253
247
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
254
248
|
requirements:
|
255
249
|
- - ">="
|
256
250
|
- !ruby/object:Gem::Version
|
257
251
|
version: '0'
|
258
252
|
requirements: []
|
259
|
-
rubygems_version: 3.
|
253
|
+
rubygems_version: 3.3.7
|
260
254
|
signing_key:
|
261
255
|
specification_version: 4
|
262
256
|
summary: Requirements processing and rendering according to different models
|
data/.github/workflows/rake.yml
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
# Auto-generated by Cimas: Do not edit it manually!
|
2
|
-
# See https://github.com/metanorma/cimas
|
3
|
-
name: rake
|
4
|
-
|
5
|
-
on:
|
6
|
-
push:
|
7
|
-
branches: [ master, main ]
|
8
|
-
tags: [ v* ]
|
9
|
-
pull_request:
|
10
|
-
|
11
|
-
jobs:
|
12
|
-
rake:
|
13
|
-
uses: metanorma/ci/.github/workflows/generic-rake.yml@main
|
14
|
-
secrets:
|
15
|
-
pat_token: ${{ secrets.METANORMA_CI_PAT_TOKEN }}
|
@@ -1,27 +0,0 @@
|
|
1
|
-
# Auto-generated by Cimas: Do not edit it manually!
|
2
|
-
# See https://github.com/metanorma/cimas
|
3
|
-
name: release
|
4
|
-
|
5
|
-
on:
|
6
|
-
workflow_dispatch:
|
7
|
-
inputs:
|
8
|
-
next_version:
|
9
|
-
description: |
|
10
|
-
Next release version. Possible values: x.y.z, major, minor, patch or pre|rc|etc
|
11
|
-
required: true
|
12
|
-
default: 'skip'
|
13
|
-
push:
|
14
|
-
tags: [ v* ]
|
15
|
-
|
16
|
-
jobs:
|
17
|
-
release:
|
18
|
-
uses: metanorma/ci/.github/workflows/rubygems-release.yml@main
|
19
|
-
with:
|
20
|
-
next_version: ${{ github.event.inputs.next_version }}
|
21
|
-
release_command: rake release
|
22
|
-
bundler_cache: false
|
23
|
-
post_install: gem install bundler rake rspec
|
24
|
-
secrets:
|
25
|
-
rubygems-api-key: ${{ secrets.METANORMA_CI_RUBYGEMS_API_KEY }}
|
26
|
-
pat_token: ${{ secrets.METANORMA_CI_PAT_TOKEN }}
|
27
|
-
|
data/Rakefile
DELETED
data/bin/console
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
require "bundler/setup"
|
4
|
-
require "metanorma/ogc"
|
5
|
-
|
6
|
-
# You can add fixtures and/or initialization code here to make experimenting
|
7
|
-
# with your gem easier. You can also use a different console, if you like.
|
8
|
-
|
9
|
-
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
-
# require "pry"
|
11
|
-
# Pry.start
|
12
|
-
|
13
|
-
require "irb"
|
14
|
-
IRB.start(__FILE__)
|
data/bin/rspec
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
# This file was generated by Bundler.
|
4
|
-
#
|
5
|
-
# The application 'rspec' is installed as part of a gem, and
|
6
|
-
# this file is here to facilitate running it.
|
7
|
-
#
|
8
|
-
|
9
|
-
require "pathname"
|
10
|
-
ENV["BUNDLE_GEMFILE"] ||= File.expand_path(
|
11
|
-
"../../Gemfile", Pathname.new(__FILE__).realpath
|
12
|
-
)
|
13
|
-
|
14
|
-
require "rubygems"
|
15
|
-
require "bundler/setup"
|
16
|
-
|
17
|
-
load Gem.bin_path("rspec-core", "rspec")
|