bibliothecary 2.0.1 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/bibliothecary/analyser.rb +3 -4
- data/lib/bibliothecary/parsers/bower.rb +2 -1
- data/lib/bibliothecary/parsers/cargo.rb +3 -1
- data/lib/bibliothecary/parsers/carthage.rb +4 -1
- data/lib/bibliothecary/parsers/clojars.rb +2 -1
- data/lib/bibliothecary/parsers/cocoapods.rb +5 -1
- data/lib/bibliothecary/parsers/cpan.rb +3 -1
- data/lib/bibliothecary/parsers/cran.rb +2 -1
- data/lib/bibliothecary/parsers/dub.rb +3 -1
- data/lib/bibliothecary/parsers/elm.rb +3 -1
- data/lib/bibliothecary/parsers/go.rb +5 -1
- data/lib/bibliothecary/parsers/hex.rb +3 -1
- data/lib/bibliothecary/parsers/julia.rb +2 -1
- data/lib/bibliothecary/parsers/maven.rb +4 -1
- data/lib/bibliothecary/parsers/meteor.rb +2 -1
- data/lib/bibliothecary/parsers/npm.rb +3 -1
- data/lib/bibliothecary/parsers/nuget.rb +6 -1
- data/lib/bibliothecary/parsers/packagist.rb +3 -1
- data/lib/bibliothecary/parsers/pub.rb +3 -1
- data/lib/bibliothecary/parsers/pypi.rb +3 -1
- data/lib/bibliothecary/parsers/rubygems.rb +4 -1
- data/lib/bibliothecary/parsers/shard.rb +3 -1
- data/lib/bibliothecary/parsers/swift.rb +2 -1
- data/lib/bibliothecary/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 60ded5383ce5a7bada9d7b788054561d3650bfa1
|
4
|
+
data.tar.gz: d3e9d85d474bc948e058c32247dbf9f4437eb460
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dfc6d270640ef048b4a89e97721215c569313e12604ac7ef060d7d1159a44c90dc79808887f5e9e93a9a81c09a791fd70d5bd302822a7ac1c94d8d9dc5cca998
|
7
|
+
data.tar.gz: 485ce2afbb07fd363656eaecd59bd35fe6706a350d0ad754813f1d7ae732ad152bfe69eacc027741b7dabc78e2ab814ffd675a0a6199852715fa53ec0594f0d0
|
@@ -10,15 +10,14 @@ module Bibliothecary
|
|
10
10
|
|
11
11
|
def analyse(folder_path, file_list)
|
12
12
|
file_list.map do |path|
|
13
|
-
file_contents = File.open(path).read
|
14
13
|
filename = path.gsub(folder_path, '').gsub(/^\//, '')
|
15
|
-
analyse_file(filename,
|
14
|
+
analyse_file(filename, path)
|
16
15
|
end.compact
|
17
16
|
end
|
18
17
|
|
19
|
-
def analyse_file(filename,
|
18
|
+
def analyse_file(filename, path)
|
20
19
|
begin
|
21
|
-
dependencies = parse(filename,
|
20
|
+
dependencies = parse(filename, path)
|
22
21
|
if dependencies.any?
|
23
22
|
{
|
24
23
|
platform: platform_name,
|
@@ -5,8 +5,9 @@ module Bibliothecary
|
|
5
5
|
class Bower
|
6
6
|
include Bibliothecary::Analyser
|
7
7
|
|
8
|
-
def self.parse(filename,
|
8
|
+
def self.parse(filename, path)
|
9
9
|
if filename.match(/^bower\.json$/)
|
10
|
+
file_contents = File.open(path).read
|
10
11
|
json = JSON.parse(file_contents)
|
11
12
|
parse_manifest(json)
|
12
13
|
else
|
@@ -5,11 +5,13 @@ module Bibliothecary
|
|
5
5
|
class Cargo
|
6
6
|
include Bibliothecary::Analyser
|
7
7
|
|
8
|
-
def self.parse(filename,
|
8
|
+
def self.parse(filename, path)
|
9
9
|
if filename.match(/Cargo\.toml$/)
|
10
|
+
file_contents = File.open(path).read
|
10
11
|
toml = TOML.parse(file_contents)
|
11
12
|
parse_manifest(toml)
|
12
13
|
elsif filename.match(/Cargo\.lock$/)
|
14
|
+
file_contents = File.open(path).read
|
13
15
|
toml = TOML.parse(file_contents)
|
14
16
|
parse_lockfile(toml)
|
15
17
|
else
|
@@ -3,12 +3,15 @@ module Bibliothecary
|
|
3
3
|
class Carthage
|
4
4
|
include Bibliothecary::Analyser
|
5
5
|
|
6
|
-
def self.parse(filename,
|
6
|
+
def self.parse(filename, path)
|
7
7
|
if filename.match(/^Cartfile$/)
|
8
|
+
file_contents = File.open(path).read
|
8
9
|
parse_cartfile(file_contents)
|
9
10
|
elsif filename.match(/^Cartfile\.private$/)
|
11
|
+
file_contents = File.open(path).read
|
10
12
|
parse_cartfile_private(file_contents)
|
11
13
|
elsif filename.match(/^Cartfile\.resolved$/)
|
14
|
+
file_contents = File.open(path).read
|
12
15
|
parse_cartfile_resolved(file_contents)
|
13
16
|
else
|
14
17
|
[]
|
@@ -6,8 +6,9 @@ module Bibliothecary
|
|
6
6
|
class Clojars
|
7
7
|
include Bibliothecary::Analyser
|
8
8
|
|
9
|
-
def self.parse(filename,
|
9
|
+
def self.parse(filename, path)
|
10
10
|
if filename.match(/^project\.clj$/)
|
11
|
+
file_contents = File.open(path).read
|
11
12
|
parse_manifest(file_contents)
|
12
13
|
else
|
13
14
|
[]
|
@@ -9,17 +9,21 @@ module Bibliothecary
|
|
9
9
|
NAME_VERSION = '(?! )(.*?)(?: \(([^-]*)(?:-(.*))?\))?'.freeze
|
10
10
|
NAME_VERSION_4 = /^ {4}#{NAME_VERSION}$/
|
11
11
|
|
12
|
-
def self.parse(filename,
|
12
|
+
def self.parse(filename, path)
|
13
13
|
if filename.match(/^Podfile$/)
|
14
|
+
file_contents = File.open(path).read
|
14
15
|
manifest = Gemnasium::Parser.send(:podfile, file_contents)
|
15
16
|
parse_manifest(manifest)
|
16
17
|
elsif filename.match(/^[A-Za-z0-9_-]+\.podspec$/)
|
18
|
+
file_contents = File.open(path).read
|
17
19
|
manifest = Gemnasium::Parser.send(:podspec, file_contents)
|
18
20
|
parse_manifest(manifest)
|
19
21
|
elsif filename.match(/^Podfile\.lock$/)
|
22
|
+
file_contents = File.open(path).read
|
20
23
|
manifest = YAML.load file_contents
|
21
24
|
parse_podfile_lock(manifest)
|
22
25
|
elsif filename.match(/^[A-Za-z0-9_-]+\.podspec.json$/)
|
26
|
+
file_contents = File.open(path).read
|
23
27
|
json = JSON.parse(file_contents)
|
24
28
|
parse_json_manifest(json)
|
25
29
|
else
|
@@ -6,11 +6,13 @@ module Bibliothecary
|
|
6
6
|
class CPAN
|
7
7
|
include Bibliothecary::Analyser
|
8
8
|
|
9
|
-
def self.parse(filename,
|
9
|
+
def self.parse(filename, path)
|
10
10
|
if filename.match(/^META\.json$/i)
|
11
|
+
file_contents = File.open(path).read
|
11
12
|
json = JSON.parse file_contents
|
12
13
|
parse_json_manifest(json)
|
13
14
|
elsif filename.match(/^META\.yml$/i)
|
15
|
+
file_contents = File.open(path).read
|
14
16
|
yaml = YAML.load file_contents
|
15
17
|
parse_yaml_manifest(yaml)
|
16
18
|
else
|
@@ -7,8 +7,9 @@ module Bibliothecary
|
|
7
7
|
|
8
8
|
REQUIRE_REGEXP = /([a-zA-Z0-9\-_\.]+)\s?\(?([><=\s\d\.,]+)?\)?/
|
9
9
|
|
10
|
-
def self.parse(filename,
|
10
|
+
def self.parse(filename, path)
|
11
11
|
if filename.match(/^DESCRIPTION$/i)
|
12
|
+
file_contents = File.open(path).read
|
12
13
|
control = DebControl::ControlFileBase.parse(file_contents)
|
13
14
|
parse_description(control)
|
14
15
|
else
|
@@ -6,11 +6,13 @@ module Bibliothecary
|
|
6
6
|
class Dub
|
7
7
|
include Bibliothecary::Analyser
|
8
8
|
|
9
|
-
def self.parse(filename,
|
9
|
+
def self.parse(filename, path)
|
10
10
|
if filename.match(/^dub\.json$/)
|
11
|
+
file_contents = File.open(path).read
|
11
12
|
json = JSON.parse(file_contents)
|
12
13
|
parse_manifest(json)
|
13
14
|
elsif filename.match(/^dub\.sdl$/)
|
15
|
+
file_contents = File.open(path).read
|
14
16
|
parse_sdl_manifest(file_contents)
|
15
17
|
else
|
16
18
|
[]
|
@@ -5,11 +5,13 @@ module Bibliothecary
|
|
5
5
|
class Elm
|
6
6
|
include Bibliothecary::Analyser
|
7
7
|
|
8
|
-
def self.parse(filename,
|
8
|
+
def self.parse(filename, path)
|
9
9
|
if filename.match(/^elm-package\.json$|^elm_dependencies\.json$/)
|
10
|
+
file_contents = File.open(path).read
|
10
11
|
json = JSON.parse file_contents
|
11
12
|
parse_json_manifest(json)
|
12
13
|
elsif filename.match(/^elm-stuff\/exact-dependencies\.json$/)
|
14
|
+
file_contents = File.open(path).read
|
13
15
|
json = JSON.parse file_contents
|
14
16
|
parse_json_lock(json)
|
15
17
|
else
|
@@ -6,17 +6,21 @@ module Bibliothecary
|
|
6
6
|
class Go
|
7
7
|
include Bibliothecary::Analyser
|
8
8
|
|
9
|
-
def self.parse(filename,
|
9
|
+
def self.parse(filename, path)
|
10
10
|
if filename.match(/^glide\.yaml$/)
|
11
|
+
file_contents = File.open(path).read
|
11
12
|
yaml = YAML.load file_contents
|
12
13
|
parse_glide_yaml(yaml)
|
13
14
|
elsif filename.match(/^glide\.lock$/)
|
15
|
+
file_contents = File.open(path).read
|
14
16
|
yaml = YAML.load file_contents
|
15
17
|
parse_glide_lockfile(yaml)
|
16
18
|
elsif filename.match(/^Godeps\/Godeps\.json$/)
|
19
|
+
file_contents = File.open(path).read
|
17
20
|
json = JSON.parse file_contents
|
18
21
|
parse_godep_json(json)
|
19
22
|
elsif filename.match(/^vendor\/manifest$/)
|
23
|
+
file_contents = File.open(path).read
|
20
24
|
json = JSON.parse file_contents
|
21
25
|
parse_gb_manifest(json)
|
22
26
|
else
|
@@ -5,10 +5,12 @@ module Bibliothecary
|
|
5
5
|
class Hex
|
6
6
|
include Bibliothecary::Analyser
|
7
7
|
|
8
|
-
def self.parse(filename,
|
8
|
+
def self.parse(filename, path)
|
9
9
|
if filename.match(/^mix\.exs$/)
|
10
|
+
file_contents = File.open(path).read
|
10
11
|
parse_mix(file_contents)
|
11
12
|
elsif filename.match(/^mix\.lock$/)
|
13
|
+
file_contents = File.open(path).read
|
12
14
|
parse_mix_lock(file_contents)
|
13
15
|
else
|
14
16
|
[]
|
@@ -3,8 +3,9 @@ module Bibliothecary
|
|
3
3
|
class Julia
|
4
4
|
include Bibliothecary::Analyser
|
5
5
|
|
6
|
-
def self.parse(filename,
|
6
|
+
def self.parse(filename, path)
|
7
7
|
if filename.match(/^REQUIRE$/i)
|
8
|
+
file_contents = File.open(path).read
|
8
9
|
parse_require(file_contents)
|
9
10
|
else
|
10
11
|
[]
|
@@ -5,14 +5,17 @@ module Bibliothecary
|
|
5
5
|
class Maven
|
6
6
|
include Bibliothecary::Analyser
|
7
7
|
|
8
|
-
def self.parse(filename,
|
8
|
+
def self.parse(filename, path)
|
9
9
|
if filename.match(/ivy\.xml$/i)
|
10
|
+
file_contents = File.open(path).read
|
10
11
|
xml = Ox.parse file_contents
|
11
12
|
parse_ivy_manifest(xml)
|
12
13
|
elsif filename.match(/pom\.xml$/i)
|
14
|
+
file_contents = File.open(path).read
|
13
15
|
xml = Ox.parse file_contents
|
14
16
|
parse_pom_manifest(xml)
|
15
17
|
elsif filename.match(/build.gradle$/i)
|
18
|
+
file_contents = File.open(path).read
|
16
19
|
parse_gradle(file_contents)
|
17
20
|
else
|
18
21
|
[]
|
@@ -5,8 +5,9 @@ module Bibliothecary
|
|
5
5
|
class Meteor
|
6
6
|
include Bibliothecary::Analyser
|
7
7
|
|
8
|
-
def self.parse(filename,
|
8
|
+
def self.parse(filename, path)
|
9
9
|
if filename.match(/^versions\.json$/)
|
10
|
+
file_contents = File.open(path).read
|
10
11
|
json = JSON.parse(file_contents)
|
11
12
|
parse_manifest(json)
|
12
13
|
else
|
@@ -5,11 +5,13 @@ module Bibliothecary
|
|
5
5
|
class NPM
|
6
6
|
include Bibliothecary::Analyser
|
7
7
|
|
8
|
-
def self.parse(filename,
|
8
|
+
def self.parse(filename, path)
|
9
9
|
if filename.match(/package\.json$/)
|
10
|
+
file_contents = File.open(path).read
|
10
11
|
json = JSON.parse(file_contents)
|
11
12
|
parse_manifest(json)
|
12
13
|
elsif filename.match(/npm-shrinkwrap\.json$/)
|
14
|
+
file_contents = File.open(path).read
|
13
15
|
json = JSON.parse(file_contents)
|
14
16
|
parse_shrinkwrap(json)
|
15
17
|
else
|
@@ -6,20 +6,25 @@ module Bibliothecary
|
|
6
6
|
class Nuget
|
7
7
|
include Bibliothecary::Analyser
|
8
8
|
|
9
|
-
def self.parse(filename,
|
9
|
+
def self.parse(filename, path)
|
10
10
|
if filename.match(/Project\.json$/)
|
11
|
+
file_contents = File.open(path).read
|
11
12
|
json = JSON.parse file_contents
|
12
13
|
parse_project_json(json)
|
13
14
|
elsif filename.match(/Project\.lock\.json$/)
|
15
|
+
file_contents = File.open(path).read
|
14
16
|
json = JSON.parse file_contents
|
15
17
|
parse_project_lock_json(json)
|
16
18
|
elsif filename.match(/packages\.config$/)
|
19
|
+
file_contents = File.open(path).read
|
17
20
|
xml = Ox.parse file_contents
|
18
21
|
parse_packages_config(xml)
|
19
22
|
elsif filename.match(/^[A-Za-z0-9_-]+\.nuspec$/)
|
23
|
+
file_contents = File.open(path).read
|
20
24
|
xml = Ox.parse file_contents
|
21
25
|
parse_nuspec(xml)
|
22
26
|
elsif filename.match(/paket\.lock$/)
|
27
|
+
file_contents = File.open(path).read
|
23
28
|
parse_paket_lock(file_contents.split("\n"))
|
24
29
|
else
|
25
30
|
[]
|
@@ -5,11 +5,13 @@ module Bibliothecary
|
|
5
5
|
class Packagist
|
6
6
|
include Bibliothecary::Analyser
|
7
7
|
|
8
|
-
def self.parse(filename,
|
8
|
+
def self.parse(filename, path)
|
9
9
|
if filename.match(/^composer\.json$/)
|
10
|
+
file_contents = File.open(path).read
|
10
11
|
json = JSON.parse(file_contents)
|
11
12
|
parse_manifest(json)
|
12
13
|
elsif filename.match(/^composer\.lock$/)
|
14
|
+
file_contents = File.open(path).read
|
13
15
|
json = JSON.parse(file_contents)
|
14
16
|
parse_lockfile(json)
|
15
17
|
else
|
@@ -5,11 +5,13 @@ module Bibliothecary
|
|
5
5
|
class Pub
|
6
6
|
include Bibliothecary::Analyser
|
7
7
|
|
8
|
-
def self.parse(filename,
|
8
|
+
def self.parse(filename, path)
|
9
9
|
if filename.match(/^pubspec\.yaml$/i)
|
10
|
+
file_contents = File.open(path).read
|
10
11
|
yaml = YAML.load file_contents
|
11
12
|
parse_yaml_manifest(yaml)
|
12
13
|
elsif filename.match(/^pubspec\.lock$/i)
|
14
|
+
file_contents = File.open(path).read
|
13
15
|
yaml = YAML.load file_contents
|
14
16
|
parse_yaml_lockfile(yaml)
|
15
17
|
else
|
@@ -7,11 +7,13 @@ module Bibliothecary
|
|
7
7
|
REQUIRE_REGEXP = /([a-zA-Z0-9]+[a-zA-Z0-9\-_\.]+)([><=\d\.,]+)?/
|
8
8
|
REQUIREMENTS_REGEXP = /^#{REQUIRE_REGEXP}/
|
9
9
|
|
10
|
-
def self.parse(filename,
|
10
|
+
def self.parse(filename, path)
|
11
11
|
is_valid_requirements_file = is_requirements_file(filename)
|
12
12
|
if is_valid_requirements_file
|
13
|
+
file_contents = File.open(path).read
|
13
14
|
parse_requirements_txt(file_contents)
|
14
15
|
elsif filename.match(/setup\.py$/)
|
16
|
+
file_contents = File.open(path).read
|
15
17
|
parse_setup_py(file_contents)
|
16
18
|
else
|
17
19
|
[]
|
@@ -8,14 +8,17 @@ module Bibliothecary
|
|
8
8
|
NAME_VERSION = '(?! )(.*?)(?: \(([^-]*)(?:-(.*))?\))?'.freeze
|
9
9
|
NAME_VERSION_4 = /^ {4}#{NAME_VERSION}$/
|
10
10
|
|
11
|
-
def self.parse(filename,
|
11
|
+
def self.parse(filename, path)
|
12
12
|
if filename.match(/^Gemfile$|^gems\.rb$/)
|
13
|
+
file_contents = File.open(path).read
|
13
14
|
manifest = Gemnasium::Parser.send(:gemfile, file_contents)
|
14
15
|
parse_manifest(manifest)
|
15
16
|
elsif filename.match(/[A-Za-z0-9_-]+\.gemspec$/)
|
17
|
+
file_contents = File.open(path).read
|
16
18
|
manifest = Gemnasium::Parser.send(:gemspec, file_contents)
|
17
19
|
parse_manifest(manifest)
|
18
20
|
elsif filename.match(/^Gemfile\.lock$|^gems\.locked$/)
|
21
|
+
file_contents = File.open(path).read
|
19
22
|
parse_gemfile_lock(file_contents)
|
20
23
|
else
|
21
24
|
[]
|
@@ -5,11 +5,13 @@ module Bibliothecary
|
|
5
5
|
class Shard
|
6
6
|
include Bibliothecary::Analyser
|
7
7
|
|
8
|
-
def self.parse(filename,
|
8
|
+
def self.parse(filename, path)
|
9
9
|
if filename.match(/^shard\.yml$/i)
|
10
|
+
file_contents = File.open(path).read
|
10
11
|
yaml = YAML.load file_contents
|
11
12
|
parse_yaml_manifest(yaml)
|
12
13
|
elsif filename.match(/^shard\.lock$/i)
|
14
|
+
file_contents = File.open(path).read
|
13
15
|
yaml = YAML.load file_contents
|
14
16
|
parse_yaml_lockfile(yaml)
|
15
17
|
else
|
@@ -3,8 +3,9 @@ module Bibliothecary
|
|
3
3
|
class Swift
|
4
4
|
include Bibliothecary::Analyser
|
5
5
|
|
6
|
-
def self.parse(filename,
|
6
|
+
def self.parse(filename, path)
|
7
7
|
if filename.match(/^Package\.swift$/i)
|
8
|
+
file_contents = File.open(path).read
|
8
9
|
parse_package_swift(file_contents)
|
9
10
|
else
|
10
11
|
[]
|