Module: Bibliothecary
- Defined in:
- lib/bibliothecary/parsers/maven.rb,
lib/bibliothecary.rb,
lib/bibliothecary/cli.rb,
lib/bibliothecary/runner.rb,
lib/bibliothecary/version.rb,
lib/bibliothecary/analyser.rb,
lib/bibliothecary/file_info.rb,
lib/bibliothecary/purl_util.rb,
lib/bibliothecary/exceptions.rb,
lib/bibliothecary/parsers/go.rb,
lib/bibliothecary/parsers/dub.rb,
lib/bibliothecary/parsers/elm.rb,
lib/bibliothecary/parsers/hex.rb,
lib/bibliothecary/parsers/npm.rb,
lib/bibliothecary/parsers/pub.rb,
lib/bibliothecary/parsers/cpan.rb,
lib/bibliothecary/parsers/cran.rb,
lib/bibliothecary/parsers/pypi.rb,
lib/bibliothecary/configuration.rb,
lib/bibliothecary/parsers/bower.rb,
lib/bibliothecary/parsers/cargo.rb,
lib/bibliothecary/parsers/conda.rb,
lib/bibliothecary/parsers/julia.rb,
lib/bibliothecary/parsers/nuget.rb,
lib/bibliothecary/parsers/shard.rb,
lib/bibliothecary/parsers/meteor.rb,
lib/bibliothecary/parsers/clojars.rb,
lib/bibliothecary/parsers/hackage.rb,
lib/bibliothecary/parsers/haxelib.rb,
lib/bibliothecary/parsers/carthage.rb,
lib/bibliothecary/parsers/rubygems.rb,
lib/bibliothecary/parsers/swift_pm.rb,
lib/bibliothecary/analyser/analysis.rb,
lib/bibliothecary/analyser/matchers.rb,
lib/bibliothecary/parsers/cocoapods.rb,
lib/bibliothecary/parsers/packagist.rb,
lib/bibliothecary/multi_parsers/spdx.rb,
lib/bibliothecary/related_files_info.rb,
lib/bibliothecary/analyser/determinations.rb,
lib/bibliothecary/multi_parsers/cyclonedx.rb,
lib/bibliothecary/multi_parsers/json_runtime.rb,
lib/bibliothecary/runner/multi_manifest_filter.rb,
lib/bibliothecary/multi_parsers/dependencies_csv.rb,
lib/bibliothecary/multi_parsers/bundler_like_manifest.rb
Overview
Known shortcomings and unimplemented Maven features:
pom.xml
<exclusions> cannot be taken into account (because it requires knowledge of transitive deps)
<properties> are the only thing inherited from parent poms currenly
Defined Under Namespace
Modules: Analyser, MultiParsers, Parsers
Classes: CLI, Configuration, FileInfo, FileParsingError, RelatedFilesInfo, RemoteParsingError, Runner
Constant Summary
collapse
- VERSION_OPERATORS =
/[~^<>*"]/
- VERSION =
"8.7.2"
- PURL_TYPE_MAPPING =
{
"golang" => :go,
"maven" => :maven,
"npm" => :npm,
"cargo" => :cargo,
"composer" => :packagist,
"conda" => :conda,
"cran" => :cran,
"gem" => :rubygems,
"hackage" => :hackage,
"hex" => :hex,
"nuget" => :nuget,
"pypi" => :pypi,
"swift" => :swift_pm
}.freeze
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.configuration ⇒ Object
97
98
99
100
101
|
# File 'lib/bibliothecary.rb', line 97
def self.configuration
@configuration ||= Configuration.new
@runner = Runner.new(@configuration)
@configuration
end
|
Class Method Details
.analyse(path, ignore_unparseable_files: true) ⇒ Object
Also known as:
analyze
22
23
24
|
# File 'lib/bibliothecary.rb', line 22
def self.analyse(path, ignore_unparseable_files: true)
runner.analyse(path, ignore_unparseable_files: ignore_unparseable_files)
end
|
.analyse_file(file_path, contents) ⇒ Object
Also known as:
analyze_file
47
48
49
|
# File 'lib/bibliothecary.rb', line 47
def self.analyse_file(file_path, contents)
runner.analyse_file(file_path, contents)
end
|
.applicable_package_managers(info) ⇒ Object
31
32
33
|
# File 'lib/bibliothecary.rb', line 31
def self.applicable_package_managers(info)
runner.applicable_package_managers(info)
end
|
108
109
110
|
# File 'lib/bibliothecary.rb', line 108
def self.configure
yield(configuration)
end
|
.find_manifests(path) ⇒ Object
59
60
61
|
# File 'lib/bibliothecary.rb', line 59
def self.find_manifests(path)
runner.find_manifests(path)
end
|
.find_manifests_from_contents(file_path_contents_hash) ⇒ Object
67
68
69
|
# File 'lib/bibliothecary.rb', line 67
def self.find_manifests_from_contents(file_path_contents_hash)
runner.find_manifests_from_contents(file_path_contents_hash)
end
|
.find_manifests_from_paths(paths) ⇒ Object
63
64
65
|
# File 'lib/bibliothecary.rb', line 63
def self.find_manifests_from_paths(paths)
runner.find_manifests_from_paths(paths)
end
|
.identify_manifests(file_list) ⇒ Object
51
52
53
|
# File 'lib/bibliothecary.rb', line 51
def self.identify_manifests(file_list)
runner.identify_manifests(file_list)
end
|
.ignored_dirs ⇒ Object
71
72
73
|
# File 'lib/bibliothecary.rb', line 71
def self.ignored_dirs
configuration.ignored_dirs
end
|
.ignored_files ⇒ Object
75
76
77
|
# File 'lib/bibliothecary.rb', line 75
def self.ignored_files
configuration.ignored_files
end
|
.load_file_info_list(path) ⇒ Object
35
36
37
|
# File 'lib/bibliothecary.rb', line 35
def self.load_file_info_list(path)
runner.load_file_info_list(path)
end
|
.load_file_info_list_from_contents(file_path_contents_hash) ⇒ Object
43
44
45
|
# File 'lib/bibliothecary.rb', line 43
def self.load_file_info_list_from_contents(file_path_contents_hash)
runner.load_file_info_list_from_contents(file_path_contents_hash)
end
|
.load_file_info_list_from_paths(paths) ⇒ Object
39
40
41
|
# File 'lib/bibliothecary.rb', line 39
def self.load_file_info_list_from_paths(paths)
runner.load_file_info_list_from_paths(paths)
end
|
.load_file_list(path) ⇒ Object
deprecated; use load_file_info_list.
27
28
29
|
# File 'lib/bibliothecary.rb', line 27
def self.load_file_list(path)
runner.load_file_list(path)
end
|
.package_managers ⇒ Object
55
56
57
|
# File 'lib/bibliothecary.rb', line 55
def self.package_managers
runner.package_managers
end
|
.reset ⇒ Object
103
104
105
106
|
# File 'lib/bibliothecary.rb', line 103
def self.reset
@configuration = Configuration.new
@runner = Runner.new(@configuration)
end
|
.runner ⇒ Object
92
93
94
95
|
# File 'lib/bibliothecary.rb', line 92
def self.runner
configuration
@runner
end
|
.utf8_string(string) ⇒ Object
79
80
81
82
83
84
|
# File 'lib/bibliothecary.rb', line 79
def self.utf8_string(string)
string
.dup .force_encoding("UTF-8") .sub(/^\xEF\xBB\xBF/, '') end
|