saxon-rb 0.7.2-java → 0.7.3-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +32 -2
- data/.rspec-jar-loading +2 -0
- data/Rakefile +8 -2
- data/lib/saxon/loader.rb +53 -43
- data/lib/saxon/version.rb +1 -1
- data/lib/saxon/xdm/atomic_value.rb +13 -8
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c17f2a7367744b11c9ffdcf65e191dee9859cc3887902ce98291e52cea245080
|
4
|
+
data.tar.gz: 919c7e5a00c629ecc5d6193ce9f4836b0fb55ae1a4e80673347856d8ad4c5ce1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5781e2bd70022ed23b2b649de4dcffef94abf400f9d0ab71ee28a8b711f74c7fd4efec02d5a88221ffcd14a99663f9be27413c12de312aa419c217ac26eaf250
|
7
|
+
data.tar.gz: 6d13e4918a6140693ec1e3dbcbb07bcefbcac9afa49cfd76edec287254b795bdf49ee91cdee2b08def37258c7e466675dbca6f56c04628c9b4bb1cd77b9e91da
|
data/.circleci/config.yml
CHANGED
@@ -33,8 +33,11 @@ jobs:
|
|
33
33
|
command: |-
|
34
34
|
./cc-test-reporter before-build
|
35
35
|
mkdir -p /tmp/test-results
|
36
|
+
VERIFY_SAXON_LAZY_LOADING=1 bundle exec rspec spec/jar_loading_spec.rb --options .rspec-jar-loading --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec-jar-loading.xml
|
37
|
+
if [ $? -eq 0 ]; then ./cc-test-reporter format-coverage -t simplecov -o "cc-coverage-jar-loading-alt-saxon.json"; fi
|
38
|
+
rm -rf coverage
|
36
39
|
bundle exec rspec spec --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec.xml --format progress
|
37
|
-
if [ $? -eq 0 ]; then ./cc-test-reporter format-coverage -t simplecov -o "cc-coverage-alt-saxon.json"; fi
|
40
|
+
if [ $? -eq 0 ]; then ./cc-test-reporter format-coverage -t simplecov -o "cc-coverage-main-alt-saxon.json"; fi
|
38
41
|
- persist_to_workspace:
|
39
42
|
root: "~/project"
|
40
43
|
paths:
|
@@ -67,8 +70,11 @@ jobs:
|
|
67
70
|
command: |-
|
68
71
|
./cc-test-reporter before-build
|
69
72
|
mkdir -p /tmp/test-results
|
73
|
+
VERIFY_SAXON_LAZY_LOADING=1 bundle exec rspec spec/jar_loading_spec.rb --options .rspec-jar-loading --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec-jar-loading.xml
|
74
|
+
if [ $? -eq 0 ]; then ./cc-test-reporter format-coverage -t simplecov -o "cc-coverage-jar-loading.json"; fi
|
75
|
+
rm -rf coverage
|
70
76
|
bundle exec rspec spec --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec.xml --format progress
|
71
|
-
if [ $? -eq 0 ]; then ./cc-test-reporter format-coverage -t simplecov -o "cc-coverage.json"; fi
|
77
|
+
if [ $? -eq 0 ]; then ./cc-test-reporter format-coverage -t simplecov -o "cc-coverage-main.json"; fi
|
72
78
|
- persist_to_workspace:
|
73
79
|
root: "~/project"
|
74
80
|
paths:
|
@@ -104,6 +110,8 @@ jobs:
|
|
104
110
|
name: Run the tests
|
105
111
|
command: |-
|
106
112
|
mkdir -p /tmp/test-results
|
113
|
+
VERIFY_SAXON_LAZY_LOADING=1 bundle exec rspec spec/jar_loading_spec.rb --options .rspec-jar-loading --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec-jar-loading.xml
|
114
|
+
rm -rf coverage
|
107
115
|
bundle exec rspec spec --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec.xml --format progress
|
108
116
|
- store_test_results:
|
109
117
|
path: "/tmp/test-results"
|
@@ -127,6 +135,8 @@ jobs:
|
|
127
135
|
name: Run the tests
|
128
136
|
command: |-
|
129
137
|
mkdir -p /tmp/test-results
|
138
|
+
VERIFY_SAXON_LAZY_LOADING=1 bundle exec rspec spec/jar_loading_spec.rb --options .rspec-jar-loading --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec-jar-loading.xml
|
139
|
+
rm -rf coverage
|
130
140
|
bundle exec rspec spec --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec.xml --format progress
|
131
141
|
- store_test_results:
|
132
142
|
path: "/tmp/test-results"
|
@@ -159,6 +169,8 @@ jobs:
|
|
159
169
|
name: Run the tests
|
160
170
|
command: |-
|
161
171
|
mkdir -p /tmp/test-results
|
172
|
+
VERIFY_SAXON_LAZY_LOADING=1 bundle exec rspec spec/jar_loading_spec.rb --options .rspec-jar-loading --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec-jar-loading.xml
|
173
|
+
rm -rf coverage
|
162
174
|
bundle exec rspec spec --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec.xml --format progress
|
163
175
|
- store_test_results:
|
164
176
|
path: "/tmp/test-results"
|
@@ -182,6 +194,8 @@ jobs:
|
|
182
194
|
name: Run the tests
|
183
195
|
command: |-
|
184
196
|
mkdir -p /tmp/test-results
|
197
|
+
VERIFY_SAXON_LAZY_LOADING=1 bundle exec rspec spec/jar_loading_spec.rb --options .rspec-jar-loading --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec-jar-loading.xml
|
198
|
+
rm -rf coverage
|
185
199
|
bundle exec rspec spec --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec.xml --format progress
|
186
200
|
- store_test_results:
|
187
201
|
path: "/tmp/test-results"
|
@@ -214,6 +228,8 @@ jobs:
|
|
214
228
|
name: Run the tests
|
215
229
|
command: |-
|
216
230
|
mkdir -p /tmp/test-results
|
231
|
+
VERIFY_SAXON_LAZY_LOADING=1 bundle exec rspec spec/jar_loading_spec.rb --options .rspec-jar-loading --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec-jar-loading.xml
|
232
|
+
rm -rf coverage
|
217
233
|
bundle exec rspec spec --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec.xml --format progress
|
218
234
|
- store_test_results:
|
219
235
|
path: "/tmp/test-results"
|
@@ -237,6 +253,8 @@ jobs:
|
|
237
253
|
name: Run the tests
|
238
254
|
command: |-
|
239
255
|
mkdir -p /tmp/test-results
|
256
|
+
VERIFY_SAXON_LAZY_LOADING=1 bundle exec rspec spec/jar_loading_spec.rb --options .rspec-jar-loading --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec-jar-loading.xml
|
257
|
+
rm -rf coverage
|
240
258
|
bundle exec rspec spec --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec.xml --format progress
|
241
259
|
- store_test_results:
|
242
260
|
path: "/tmp/test-results"
|
@@ -269,6 +287,8 @@ jobs:
|
|
269
287
|
name: Run the tests
|
270
288
|
command: |-
|
271
289
|
mkdir -p /tmp/test-results
|
290
|
+
VERIFY_SAXON_LAZY_LOADING=1 bundle exec rspec spec/jar_loading_spec.rb --options .rspec-jar-loading --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec-jar-loading.xml
|
291
|
+
rm -rf coverage
|
272
292
|
bundle exec rspec spec --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec.xml --format progress
|
273
293
|
- store_test_results:
|
274
294
|
path: "/tmp/test-results"
|
@@ -292,6 +312,8 @@ jobs:
|
|
292
312
|
name: Run the tests
|
293
313
|
command: |-
|
294
314
|
mkdir -p /tmp/test-results
|
315
|
+
VERIFY_SAXON_LAZY_LOADING=1 bundle exec rspec spec/jar_loading_spec.rb --options .rspec-jar-loading --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec-jar-loading.xml
|
316
|
+
rm -rf coverage
|
295
317
|
bundle exec rspec spec --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec.xml --format progress
|
296
318
|
- store_test_results:
|
297
319
|
path: "/tmp/test-results"
|
@@ -324,6 +346,8 @@ jobs:
|
|
324
346
|
name: Run the tests
|
325
347
|
command: |-
|
326
348
|
mkdir -p /tmp/test-results
|
349
|
+
VERIFY_SAXON_LAZY_LOADING=1 bundle exec rspec spec/jar_loading_spec.rb --options .rspec-jar-loading --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec-jar-loading.xml
|
350
|
+
rm -rf coverage
|
327
351
|
bundle exec rspec spec --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec.xml --format progress
|
328
352
|
- store_test_results:
|
329
353
|
path: "/tmp/test-results"
|
@@ -347,6 +371,8 @@ jobs:
|
|
347
371
|
name: Run the tests
|
348
372
|
command: |-
|
349
373
|
mkdir -p /tmp/test-results
|
374
|
+
VERIFY_SAXON_LAZY_LOADING=1 bundle exec rspec spec/jar_loading_spec.rb --options .rspec-jar-loading --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec-jar-loading.xml
|
375
|
+
rm -rf coverage
|
350
376
|
bundle exec rspec spec --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec.xml --format progress
|
351
377
|
- store_test_results:
|
352
378
|
path: "/tmp/test-results"
|
@@ -379,6 +405,8 @@ jobs:
|
|
379
405
|
name: Run the tests
|
380
406
|
command: |-
|
381
407
|
mkdir -p /tmp/test-results
|
408
|
+
VERIFY_SAXON_LAZY_LOADING=1 bundle exec rspec spec/jar_loading_spec.rb --options .rspec-jar-loading --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec-jar-loading.xml
|
409
|
+
rm -rf coverage
|
382
410
|
bundle exec rspec spec --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec.xml --format progress
|
383
411
|
- store_test_results:
|
384
412
|
path: "/tmp/test-results"
|
@@ -402,6 +430,8 @@ jobs:
|
|
402
430
|
name: Run the tests
|
403
431
|
command: |-
|
404
432
|
mkdir -p /tmp/test-results
|
433
|
+
VERIFY_SAXON_LAZY_LOADING=1 bundle exec rspec spec/jar_loading_spec.rb --options .rspec-jar-loading --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec-jar-loading.xml
|
434
|
+
rm -rf coverage
|
405
435
|
bundle exec rspec spec --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec.xml --format progress
|
406
436
|
- store_test_results:
|
407
437
|
path: "/tmp/test-results"
|
data/.rspec-jar-loading
ADDED
data/Rakefile
CHANGED
@@ -190,12 +190,18 @@ task :circleci do
|
|
190
190
|
def run_tests_step(opts)
|
191
191
|
command = [
|
192
192
|
"mkdir -p /tmp/test-results",
|
193
|
-
"bundle exec rspec spec --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec.xml
|
193
|
+
"VERIFY_SAXON_LAZY_LOADING=1 bundle exec rspec spec/jar_loading_spec.rb --options .rspec-jar-loading --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec-jar-loading.xml"
|
194
194
|
]
|
195
195
|
if opts.fetch(:run_codeclimate)
|
196
196
|
command.prepend("./cc-test-reporter before-build")
|
197
|
-
command.append("if [ $? -eq 0 ]; then ./cc-test-reporter format-coverage -t simplecov -o \"cc-coverage#{"-alt-saxon" if opts.fetch(:alt_saxon_url)}.json\"; fi")
|
197
|
+
command.append("if [ $? -eq 0 ]; then ./cc-test-reporter format-coverage -t simplecov -o \"cc-coverage-jar-loading#{"-alt-saxon" if opts.fetch(:alt_saxon_url)}.json\"; fi")
|
198
198
|
end
|
199
|
+
command.append("rm -rf coverage")
|
200
|
+
command.append("bundle exec rspec spec --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec.xml --format progress")
|
201
|
+
if opts.fetch(:run_codeclimate)
|
202
|
+
command.append("if [ $? -eq 0 ]; then ./cc-test-reporter format-coverage -t simplecov -o \"cc-coverage-main#{"-alt-saxon" if opts.fetch(:alt_saxon_url)}.json\"; fi")
|
203
|
+
end
|
204
|
+
|
199
205
|
{
|
200
206
|
"run" => {
|
201
207
|
"name" => "Run the tests" + (opts.fetch(:run_codeclimate) ? ", and upload coverage data to Code Climate" : ""),
|
data/lib/saxon/loader.rb
CHANGED
@@ -38,60 +38,70 @@ module Saxon
|
|
38
38
|
end
|
39
39
|
end
|
40
40
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
LOAD_SEMAPHORE.synchronize do
|
48
|
-
if Saxon::S9API.const_defined?(:Processor)
|
41
|
+
class << self
|
42
|
+
# Are the Saxon jars missing from the Classpath?
|
43
|
+
# @return [Boolean] true if the Jars are not on the Classpath
|
44
|
+
def jars_not_on_classpath?
|
45
|
+
begin
|
46
|
+
Java::net.sf.saxon.s9api.Processor
|
49
47
|
false
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
48
|
+
rescue
|
49
|
+
true
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
# Are the Saxon JARs on the Classpath?
|
54
|
+
# @return [Boolean] whether the Jars are on the Classpath already
|
55
|
+
def jars_on_classpath?
|
56
|
+
!jars_not_on_classpath?
|
57
|
+
end
|
58
|
+
|
59
|
+
# @param saxon_home [String, Pathname] the path to the dir containing
|
60
|
+
# Saxon's .jars. Defaults to the vendored Saxon HE
|
61
|
+
# @return [true, false] Returns true if Saxon had not been loaded and
|
62
|
+
# is now, and false if Saxon was already loaded
|
63
|
+
def load!(saxon_home = nil)
|
64
|
+
return false if instance_variable_defined?(:@saxon_loaded) && @saxon_loaded
|
65
|
+
LOAD_SEMAPHORE.synchronize do
|
66
|
+
if Saxon::S9API.const_defined?(:Processor)
|
67
|
+
false
|
68
|
+
else
|
69
|
+
if jars_not_on_classpath?
|
70
|
+
if saxon_home.nil?
|
71
|
+
require 'saxon-rb_jars'
|
72
|
+
else
|
73
|
+
saxon_home = Pathname.new(saxon_home)
|
74
|
+
raise NoJarsError, saxon_home unless saxon_home.directory?
|
75
|
+
jars = [main_jar(saxon_home)].compact
|
76
|
+
raise MissingJarError if jars.empty?
|
77
|
+
jars += extra_jars(saxon_home)
|
60
78
|
|
61
|
-
|
79
|
+
add_jars_to_classpath!(saxon_home, jars)
|
80
|
+
end
|
62
81
|
end
|
63
|
-
end
|
64
82
|
|
65
|
-
|
66
|
-
|
83
|
+
@saxon_loaded = true
|
84
|
+
true
|
85
|
+
end
|
67
86
|
end
|
68
87
|
end
|
69
|
-
end
|
70
88
|
|
71
|
-
|
72
|
-
|
73
|
-
def self.main_jar(path)
|
74
|
-
['saxon9he.jar', 'saxon9pe.jar', 'saxon9ee.jar'].map { |jar| path.join(jar) }.find { |jar| jar.file? }
|
75
|
-
end
|
89
|
+
private
|
76
90
|
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
([icu] + optional).compact
|
81
|
-
end
|
91
|
+
def main_jar(path)
|
92
|
+
['saxon9he.jar', 'saxon9pe.jar', 'saxon9ee.jar'].map { |jar| path.join(jar) }.find { |jar| jar.file? }
|
93
|
+
end
|
82
94
|
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
rescue
|
88
|
-
true
|
95
|
+
def extra_jars(path)
|
96
|
+
optional = ['saxon9-unpack.jar', 'saxon9-sql.jar'].map { |jar| path.join(jar) }.select { |jar| jar.file? }
|
97
|
+
icu = path.children.find { |jar| jar.extname == '.jar' && !jar.basename.to_s.match(/^saxon-icu|^icu4j/).nil? }
|
98
|
+
([icu] + optional).compact
|
89
99
|
end
|
90
|
-
end
|
91
100
|
|
92
|
-
|
93
|
-
|
94
|
-
|
101
|
+
def add_jars_to_classpath!(saxon_home, jars)
|
102
|
+
jars.each do |jar|
|
103
|
+
$CLASSPATH << jar.to_s
|
104
|
+
end
|
95
105
|
end
|
96
106
|
end
|
97
107
|
end
|
data/lib/saxon/version.rb
CHANGED
@@ -36,12 +36,17 @@ module Saxon
|
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
39
|
-
# ItemType representing QNames
|
40
|
-
XS_QNAME = ItemType.get_type('xs:QName')
|
41
|
-
# ItemType representing NOTATION
|
42
|
-
XS_NOTATION = ItemType.get_type('xs:NOTATION')
|
43
|
-
|
44
39
|
class << self
|
40
|
+
# ItemType representing QNames
|
41
|
+
def xs_qname
|
42
|
+
@xs_qname ||= ItemType.get_type('xs:QName')
|
43
|
+
end
|
44
|
+
|
45
|
+
# ItemType representing NOTATION
|
46
|
+
def xs_notation
|
47
|
+
@xs_notation ||= ItemType.get_type('xs:NOTATION')
|
48
|
+
end
|
49
|
+
|
45
50
|
# Convert a single Ruby value into an XDM::AtomicValue
|
46
51
|
#
|
47
52
|
# If no explicit {ItemType} is passed, the correct type is guessed based
|
@@ -71,8 +76,8 @@ module Saxon
|
|
71
76
|
|
72
77
|
item_type = ItemType.get_type(item_type)
|
73
78
|
|
74
|
-
return new(Saxon::S9API::XdmAtomicValue.new(value.to_java)) if item_type ==
|
75
|
-
raise NotationCannotBeDirectlyCreated if item_type ==
|
79
|
+
return new(Saxon::S9API::XdmAtomicValue.new(value.to_java)) if item_type == xs_qname && value_is_qname?(value)
|
80
|
+
raise NotationCannotBeDirectlyCreated if item_type == xs_notation
|
76
81
|
|
77
82
|
value_lexical_string = item_type.lexical_string(value)
|
78
83
|
new(new_s9_xdm_atomic_value(value_lexical_string, item_type))
|
@@ -91,7 +96,7 @@ module Saxon
|
|
91
96
|
# @return [Saxon::XDM::AtomicValue]
|
92
97
|
def from_lexical_string(value, item_type)
|
93
98
|
item_type = ItemType.get_type(item_type)
|
94
|
-
raise CannotCreateQNameFromString if item_type ==
|
99
|
+
raise CannotCreateQNameFromString if item_type == xs_qname
|
95
100
|
new(new_s9_xdm_atomic_value(value.to_s, item_type))
|
96
101
|
end
|
97
102
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: saxon-rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.3
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Matt Patterson
|
@@ -163,6 +163,7 @@ files:
|
|
163
163
|
- ".circleci/config.yml"
|
164
164
|
- ".gitignore"
|
165
165
|
- ".rspec"
|
166
|
+
- ".rspec-jar-loading"
|
166
167
|
- ".ruby-version"
|
167
168
|
- ".yardopts"
|
168
169
|
- CODE_OF_CONDUCT.md
|