bibliothecary 8.7.2 → 8.7.4
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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1498d2e39e0820cce0a03669d89bd6416b5afd67d1f0769602b1715a57a8ffc0
|
|
4
|
+
data.tar.gz: bd5d0f8c450b22c63106f4866c6d191dc3a3628eaf0f53fc341fb5e0663f33b1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 345d4049074667e97ca9a8c57a0b0327443a60fd5efc7b7566ef19154e1a95e395a4ef45b49f4bd20dfbeaf80c397f8cfab6b8f00203005f33ec60a1c2590270
|
|
7
|
+
data.tar.gz: 7e3a43056de7cfde69fa6bd6ab8329fb226ec65a591e4c4301fb39a8368e80974e112bce577d5a0bbdee42448edc5b692c68b058525d46c28c1235a09f412038
|
|
@@ -42,7 +42,7 @@ module Bibliothecary
|
|
|
42
42
|
|
|
43
43
|
dependencies_to_analysis(info, kind, dependencies)
|
|
44
44
|
rescue Bibliothecary::FileParsingError => e
|
|
45
|
-
Bibliothecary::Analyser::create_error_analysis(platform_name, info.relative_path, kind, e.message)
|
|
45
|
+
Bibliothecary::Analyser::create_error_analysis(platform_name, info.relative_path, kind, e.message, e.location)
|
|
46
46
|
end
|
|
47
47
|
alias analyze_contents_from_info analyse_contents_from_info
|
|
48
48
|
|
|
@@ -84,7 +84,10 @@ module Bibliothecary
|
|
|
84
84
|
|
|
85
85
|
rescue Exception => e # default is StandardError but C bindings throw Exceptions
|
|
86
86
|
# the C xml parser also puts a newline at the end of the message
|
|
87
|
-
|
|
87
|
+
location = e.backtrace_locations[0]
|
|
88
|
+
.to_s
|
|
89
|
+
.then { |l| l =~ /bibliothecary\// ? l.split("bibliothecary/").last : l.split("gems/").last }
|
|
90
|
+
raise Bibliothecary::FileParsingError.new(e.message.strip, filename, location)
|
|
88
91
|
end
|
|
89
92
|
|
|
90
93
|
private
|
|
@@ -4,14 +4,15 @@ require_relative './analyser/analysis.rb'
|
|
|
4
4
|
|
|
5
5
|
module Bibliothecary
|
|
6
6
|
module Analyser
|
|
7
|
-
def self.create_error_analysis(platform_name, relative_path, kind, message)
|
|
7
|
+
def self.create_error_analysis(platform_name, relative_path, kind, message, location=nil)
|
|
8
8
|
{
|
|
9
9
|
platform: platform_name,
|
|
10
10
|
path: relative_path,
|
|
11
11
|
dependencies: nil,
|
|
12
12
|
kind: kind,
|
|
13
13
|
success: false,
|
|
14
|
-
error_message: message
|
|
14
|
+
error_message: message,
|
|
15
|
+
error_location: location,
|
|
15
16
|
}
|
|
16
17
|
end
|
|
17
18
|
|
|
@@ -8,9 +8,10 @@ module Bibliothecary
|
|
|
8
8
|
end
|
|
9
9
|
|
|
10
10
|
class FileParsingError < StandardError
|
|
11
|
-
attr_accessor :filename
|
|
12
|
-
def initialize(msg, filename)
|
|
11
|
+
attr_accessor :filename, :location
|
|
12
|
+
def initialize(msg, filename, location=nil)
|
|
13
13
|
@filename = filename
|
|
14
|
+
@location = location # source code location of the error, e.g. "lib/hi.rb:34"
|
|
14
15
|
msg = "#{filename}: #{msg}" unless msg.include?(filename)
|
|
15
16
|
super("#{msg}")
|
|
16
17
|
end
|
|
@@ -102,7 +102,15 @@ module Bibliothecary
|
|
|
102
102
|
# Parse poetry [tool.poetry] deps
|
|
103
103
|
poetry_manifest = file_contents.fetch('tool', {}).fetch('poetry', {})
|
|
104
104
|
deps += map_dependencies(poetry_manifest['dependencies'], 'runtime')
|
|
105
|
+
# Poetry 1.0.0-1.2.0 way of defining dev deps
|
|
105
106
|
deps += map_dependencies(poetry_manifest['dev-dependencies'], 'develop')
|
|
107
|
+
# Poetry's 1.2.0+ of defining dev deps
|
|
108
|
+
poetry_manifest
|
|
109
|
+
.fetch("group", {})
|
|
110
|
+
.each_pair do |group_name, obj|
|
|
111
|
+
group_name = "develop" if group_name == "dev"
|
|
112
|
+
deps += map_dependencies(obj.fetch("dependencies", {}), group_name)
|
|
113
|
+
end
|
|
106
114
|
|
|
107
115
|
# Parse PEP621 [project] deps
|
|
108
116
|
pep621_manifest = file_contents.fetch('project', {})
|
|
@@ -179,10 +187,10 @@ module Bibliothecary
|
|
|
179
187
|
manifest["package"].each do |package|
|
|
180
188
|
# next if group == "_meta"
|
|
181
189
|
group = case package['category']
|
|
182
|
-
when 'main'
|
|
183
|
-
'runtime'
|
|
184
190
|
when 'dev'
|
|
185
191
|
'develop'
|
|
192
|
+
else
|
|
193
|
+
'runtime'
|
|
186
194
|
end
|
|
187
195
|
|
|
188
196
|
deps << {
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: bibliothecary
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 8.7.
|
|
4
|
+
version: 8.7.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Andrew Nesbitt
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2023-11
|
|
11
|
+
date: 2023-12-11 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: tomlrb
|
|
@@ -248,7 +248,7 @@ dependencies:
|
|
|
248
248
|
- - ">="
|
|
249
249
|
- !ruby/object:Gem::Version
|
|
250
250
|
version: '0'
|
|
251
|
-
description:
|
|
251
|
+
description:
|
|
252
252
|
email:
|
|
253
253
|
- andrewnez@gmail.com
|
|
254
254
|
executables:
|
|
@@ -326,7 +326,7 @@ homepage: https://github.com/librariesio/bibliothecary
|
|
|
326
326
|
licenses:
|
|
327
327
|
- AGPL-3.0
|
|
328
328
|
metadata: {}
|
|
329
|
-
post_install_message:
|
|
329
|
+
post_install_message:
|
|
330
330
|
rdoc_options: []
|
|
331
331
|
require_paths:
|
|
332
332
|
- lib
|
|
@@ -341,8 +341,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
341
341
|
- !ruby/object:Gem::Version
|
|
342
342
|
version: '0'
|
|
343
343
|
requirements: []
|
|
344
|
-
rubygems_version: 3.
|
|
345
|
-
signing_key:
|
|
344
|
+
rubygems_version: 3.3.22
|
|
345
|
+
signing_key:
|
|
346
346
|
specification_version: 4
|
|
347
347
|
summary: Find and parse manifests
|
|
348
348
|
test_files: []
|