summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml1
-rw-r--r--.gitlab/test.yml1
-rw-r--r--CHANGELOG.md4
-rw-r--r--Gemfile.lock16
-rw-r--r--README.md4
-rw-r--r--config/.default-gems2
-rw-r--r--config/install.sh6
-rw-r--r--lib/license/management/version.rb2
-rw-r--r--license-management.gemspec2
-rw-r--r--spec/fixtures/expected/c/conan/v1.1.json2
-rw-r--r--spec/fixtures/expected/c/conan/v2.0.json2
-rw-r--r--spec/fixtures/expected/c/conan/v2.1.json2
-rw-r--r--spec/fixtures/expected/go/modules/v1.0.json12
-rw-r--r--spec/fixtures/expected/go/modules/v1.1.json20
-rw-r--r--spec/fixtures/expected/go/modules/v2.0.json18
-rw-r--r--spec/fixtures/expected/go/modules/v2.1.json16
-rw-r--r--spec/fixtures/expected/java/gradle/v1.0.json2
-rw-r--r--spec/fixtures/expected/java/gradle/v1.1.json2
-rw-r--r--spec/fixtures/expected/java/gradle/v2.0.json2
-rw-r--r--spec/fixtures/expected/java/maven-multimodules/v1.0.json292
-rw-r--r--spec/fixtures/expected/java/maven-multimodules/v1.1.json408
-rw-r--r--spec/fixtures/expected/java/maven-multimodules/v2.0.json254
-rw-r--r--spec/fixtures/expected/java/maven/v2.1.json2
-rw-r--r--spec/fixtures/expected/js/bower/v1.0.json4
-rw-r--r--spec/fixtures/expected/js/bower/v1.1.json8
-rw-r--r--spec/fixtures/expected/js/bower/v2.0.json7
-rw-r--r--spec/fixtures/expected/js/bower/v2.1.json8
-rw-r--r--spec/fixtures/expected/js/npm/v1.0.json2
-rw-r--r--spec/fixtures/expected/js/npm/v1.1.json2
-rw-r--r--spec/fixtures/expected/js/npm/v2.0.json2
-rw-r--r--spec/fixtures/expected/js/yarn/v1.0.json2
-rw-r--r--spec/fixtures/expected/js/yarn/v1.1.json2
-rw-r--r--spec/fixtures/expected/js/yarn/v2.0.json2
-rw-r--r--spec/fixtures/expected/python/pipenv/v2.1.json2
-rw-r--r--spec/fixtures/expected/ruby/bundler/v2.1.json2
-rw-r--r--spec/fixtures/ruby/bundler-gem-conflict/Gemfile66
-rw-r--r--spec/fixtures/ruby/bundler-gem-conflict/Gemfile.lock489
-rw-r--r--spec/integration/js/bower_spec.rb2
-rw-r--r--spec/integration/ruby/bundler_spec.rb32
39 files changed, 1502 insertions, 202 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 66c7592..4746712 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -51,3 +51,4 @@ license_scanning:
name: $TMP_IMAGE
variables:
LM_REPORT_VERSION: '2.1'
+ needs: ['build-docker-image']
diff --git a/.gitlab/test.yml b/.gitlab/test.yml
index 2399911..9ebb81d 100644
--- a/.gitlab/test.yml
+++ b/.gitlab/test.yml
@@ -26,6 +26,7 @@ size:
BUNDLE_PATH: 'vendor/bundle'
GIT_DEPTH: "10"
GIT_STRATEGY: fetch
+ LOG_LEVEL: debug
cache:
key: ${CI_COMMIT_REF_SLUG}
paths:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0deb3b1..aa07fb6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
# GitLab License management changelog
+## v3.13.0
+
+- Upgrade to [`license_finder`](https://github.com/pivotal/LicenseFinder/) [`6.6.0`](https://github.com/pivotal/LicenseFinder/releases/tag/v6.6.0). (!162) (!166)
+
## v3.12.3
- Update default Java versions to match [new naming convention](https://github.com/halcyon/asdf-java/pull/87 (!176)
diff --git a/Gemfile.lock b/Gemfile.lock
index 715f380..05c126f 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,8 +1,8 @@
PATH
remote: .
specs:
- license-management (3.12.3)
- license_finder (~> 6.0.0)
+ license-management (3.13.0)
+ license_finder (~> 6.6.0)
GEM
remote: https://rubygems.org/
@@ -22,17 +22,16 @@ GEM
jaro_winkler (1.5.4)
json-schema (2.8.1)
addressable (>= 2.4)
- license_finder (6.0.0)
+ license_finder (6.6.0)
bundler
rubyzip (>= 1, < 3)
- thor
- toml (= 0.2.0)
+ thor (~> 1.0.1)
+ tomlrb (~> 1.3.0)
with_env (= 1.1.0)
- xml-simple
+ xml-simple (~> 1.1.5)
parallel (1.19.1)
parser (2.7.0.4)
ast (~> 2.4.0)
- parslet (1.8.2)
public_suffix (4.0.3)
rack (2.2.2)
rainbow (3.0.0)
@@ -76,8 +75,7 @@ GEM
simplecov (~> 0.8)
simplecov-html (0.12.2)
thor (1.0.1)
- toml (0.2.0)
- parslet (~> 1.8.0)
+ tomlrb (1.3.0)
unicode-display_width (1.6.1)
with_env (1.1.0)
xml-simple (1.1.5)
diff --git a/README.md b/README.md
index efe41b9..930c23b 100644
--- a/README.md
+++ b/README.md
@@ -37,6 +37,8 @@ You can then run License Management on some target directory:
$ docker run --rm --volume "/path/to/my/project":/code license-management analyze /code
```
+### Running the tests
+
You can run the tests from inside a docker container:
```sh
@@ -126,7 +128,7 @@ Please check the [Release Process documentation](https://gitlab.com/gitlab-org/s
1. Bump the license management version in [CHANGELOG.md][changelog] and in [version.rb][version_rb]
1. Update the `license_finder` version constraint in the [gemspec][gemspec]
1. Run `bundle update license_finder`
-1. Test the changes locally using the `bin/test` script.
+1. Test the changes by following the instructions for [running the tests](#running-the-tests)
1. Submit a merge request.
# Contributing
diff --git a/config/.default-gems b/config/.default-gems
index c41100b..87e0d78 100644
--- a/config/.default-gems
+++ b/config/.default-gems
@@ -1,3 +1,3 @@
bundler ~>1.7
bundler ~>2.0
-license_finder ~>6.0.0
+license_finder ~>6.6.0
diff --git a/config/install.sh b/config/install.sh
index 5526cb2..ed107c9 100644
--- a/config/install.sh
+++ b/config/install.sh
@@ -35,15 +35,17 @@ apt-get install -y --no-install-recommends \
libffi-dev \
libicu-dev \
libjpeg-dev \
- liblttng-ctl0 \
+ libkrb5-dev \
liblttng-ctl-dev \
+ liblttng-ctl0 \
liblzma-dev \
- libncurses5-dev \
libncurses-dev \
+ libncurses5-dev \
libncursesw5-dev \
libonig-dev \
libpng-dev \
libpq-dev \
+ libre2-dev \
libreadline-dev \
libsqlite3-dev \
libssl-dev \
diff --git a/lib/license/management/version.rb b/lib/license/management/version.rb
index 774b99e..eb4ecd4 100644
--- a/lib/license/management/version.rb
+++ b/lib/license/management/version.rb
@@ -2,6 +2,6 @@
module License
module Management
- VERSION = '3.12.3'
+ VERSION = '3.13.0'
end
end
diff --git a/license-management.gemspec b/license-management.gemspec
index 252047f..62a08b1 100644
--- a/license-management.gemspec
+++ b/license-management.gemspec
@@ -27,7 +27,7 @@ Gem::Specification.new do |spec|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
spec.require_paths = ['lib']
- spec.add_dependency 'license_finder', '~> 6.0.0'
+ spec.add_dependency 'license_finder', '~> 6.6.0'
spec.add_development_dependency 'byebug', '~> 11.1'
spec.add_development_dependency 'gitlab-styles', '~> 3.1'
spec.add_development_dependency 'json-schema', '~> 2.8'
diff --git a/spec/fixtures/expected/c/conan/v1.1.json b/spec/fixtures/expected/c/conan/v1.1.json
index fe746ed..b4fa0cf 100644
--- a/spec/fixtures/expected/c/conan/v1.1.json
+++ b/spec/fixtures/expected/c/conan/v1.1.json
@@ -27,4 +27,4 @@
}
}
]
-} \ No newline at end of file
+}
diff --git a/spec/fixtures/expected/c/conan/v2.0.json b/spec/fixtures/expected/c/conan/v2.0.json
index 862a083..33d4475 100644
--- a/spec/fixtures/expected/c/conan/v2.0.json
+++ b/spec/fixtures/expected/c/conan/v2.0.json
@@ -21,4 +21,4 @@
]
}
]
-} \ No newline at end of file
+}
diff --git a/spec/fixtures/expected/c/conan/v2.1.json b/spec/fixtures/expected/c/conan/v2.1.json
index cc01320..b4da7e4 100644
--- a/spec/fixtures/expected/c/conan/v2.1.json
+++ b/spec/fixtures/expected/c/conan/v2.1.json
@@ -18,4 +18,4 @@
]
}
]
-} \ No newline at end of file
+}
diff --git a/spec/fixtures/expected/go/modules/v1.0.json b/spec/fixtures/expected/go/modules/v1.0.json
index 1433dbf..4902d39 100644
--- a/spec/fixtures/expected/go/modules/v1.0.json
+++ b/spec/fixtures/expected/go/modules/v1.0.json
@@ -6,7 +6,7 @@
},
{
"count": 2,
- "name": "unknown"
+ "name": "New BSD"
},
{
"count": 1,
@@ -18,7 +18,7 @@
},
{
"count": 1,
- "name": "New BSD"
+ "name": "Simplified BSD"
}
],
"dependencies": [
@@ -63,7 +63,8 @@
},
{
"license": {
- "name": "unknown"
+ "name": "New BSD",
+ "url": "http://opensource.org/licenses/BSD-3-Clause"
},
"dependency": {
"name": "github.com/pmezard/go-difflib",
@@ -127,7 +128,8 @@
},
{
"license": {
- "name": "unknown"
+ "name": "Simplified BSD",
+ "url": "http://opensource.org/licenses/bsd-license"
},
"dependency": {
"name": "gopkg.in/check.v1",
@@ -151,4 +153,4 @@
}
}
]
-} \ No newline at end of file
+}
diff --git a/spec/fixtures/expected/go/modules/v1.1.json b/spec/fixtures/expected/go/modules/v1.1.json
index 6316bec..f0b9112 100644
--- a/spec/fixtures/expected/go/modules/v1.1.json
+++ b/spec/fixtures/expected/go/modules/v1.1.json
@@ -7,7 +7,7 @@
},
{
"count": 2,
- "name": "unknown"
+ "name": "New BSD"
},
{
"count": 1,
@@ -19,7 +19,7 @@
},
{
"count": 1,
- "name": "New BSD"
+ "name": "Simplified BSD"
}
],
"dependencies": [
@@ -83,12 +83,13 @@
{
"licenses": [
{
- "name": "unknown",
- "url": ""
+ "name": "New BSD",
+ "url": "http://opensource.org/licenses/BSD-3-Clause"
}
],
"license": {
- "name": "unknown"
+ "name": "New BSD",
+ "url": "http://opensource.org/licenses/BSD-3-Clause"
},
"dependency": {
"name": "github.com/pmezard/go-difflib",
@@ -177,12 +178,13 @@
{
"licenses": [
{
- "name": "unknown",
- "url": ""
+ "name": "Simplified BSD",
+ "url": "http://opensource.org/licenses/bsd-license"
}
],
"license": {
- "name": "unknown"
+ "name": "Simplified BSD",
+ "url": "http://opensource.org/licenses/bsd-license"
},
"dependency": {
"name": "gopkg.in/check.v1",
@@ -216,4 +218,4 @@
}
}
]
-} \ No newline at end of file
+}
diff --git a/spec/fixtures/expected/go/modules/v2.0.json b/spec/fixtures/expected/go/modules/v2.0.json
index 0e60fb8..49289a8 100644
--- a/spec/fixtures/expected/go/modules/v2.0.json
+++ b/spec/fixtures/expected/go/modules/v2.0.json
@@ -8,9 +8,9 @@
"count": 6
},
{
- "id": "unknown",
- "name": "unknown",
- "url": "",
+ "id": "BSD-3-Clause",
+ "name": "BSD 3-Clause \"New\" or \"Revised\" License",
+ "url": "https://opensource.org/licenses/BSD-3-Clause",
"count": 2
},
{
@@ -20,9 +20,9 @@
"count": 1
},
{
- "id": "BSD-3-Clause",
- "name": "BSD 3-Clause \"New\" or \"Revised\" License",
- "url": "https://opensource.org/licenses/BSD-3-Clause",
+ "id": "BSD-2-Clause",
+ "name": "BSD 2-Clause \"Simplified\" License",
+ "url": "https://opensource.org/licenses/BSD-2-Clause",
"count": 1
},
{
@@ -74,7 +74,7 @@
"."
],
"licenses": [
- "unknown"
+ "BSD-3-Clause"
]
},
{
@@ -129,7 +129,7 @@
"."
],
"licenses": [
- "unknown"
+ "BSD-2-Clause"
]
},
{
@@ -145,4 +145,4 @@
]
}
]
-} \ No newline at end of file
+}
diff --git a/spec/fixtures/expected/go/modules/v2.1.json b/spec/fixtures/expected/go/modules/v2.1.json
index 1782d06..c86fe8e 100644
--- a/spec/fixtures/expected/go/modules/v2.1.json
+++ b/spec/fixtures/expected/go/modules/v2.1.json
@@ -7,6 +7,11 @@
"url": "https://opensource.org/licenses/Apache-2.0"
},
{
+ "id": "BSD-2-Clause",
+ "name": "BSD 2-Clause \"Simplified\" License",
+ "url": "https://opensource.org/licenses/BSD-2-Clause"
+ },
+ {
"id": "BSD-3-Clause",
"name": "BSD 3-Clause \"New\" or \"Revised\" License",
"url": "https://opensource.org/licenses/BSD-3-Clause"
@@ -20,11 +25,6 @@
"id": "MIT",
"name": "MIT License",
"url": "https://opensource.org/licenses/MIT"
- },
- {
- "id": "unknown",
- "name": "unknown",
- "url": ""
}
],
"dependencies": [
@@ -61,7 +61,7 @@
"package_manager": "go",
"path": "go.sum",
"licenses": [
- "unknown"
+ "BSD-3-Clause"
]
},
{
@@ -106,7 +106,7 @@
"package_manager": "go",
"path": "go.sum",
"licenses": [
- "unknown"
+ "BSD-2-Clause"
]
},
{
@@ -120,4 +120,4 @@
]
}
]
-} \ No newline at end of file
+}
diff --git a/spec/fixtures/expected/java/gradle/v1.0.json b/spec/fixtures/expected/java/gradle/v1.0.json
index f0bb0f5..25fdece 100644
--- a/spec/fixtures/expected/java/gradle/v1.0.json
+++ b/spec/fixtures/expected/java/gradle/v1.0.json
@@ -362,4 +362,4 @@
}
}
]
-}
+} \ No newline at end of file
diff --git a/spec/fixtures/expected/java/gradle/v1.1.json b/spec/fixtures/expected/java/gradle/v1.1.json
index e337e49..7df7233 100644
--- a/spec/fixtures/expected/java/gradle/v1.1.json
+++ b/spec/fixtures/expected/java/gradle/v1.1.json
@@ -523,4 +523,4 @@
}
}
]
-}
+} \ No newline at end of file
diff --git a/spec/fixtures/expected/java/gradle/v2.0.json b/spec/fixtures/expected/java/gradle/v2.0.json
index 4b4a06c..4caca99 100644
--- a/spec/fixtures/expected/java/gradle/v2.0.json
+++ b/spec/fixtures/expected/java/gradle/v2.0.json
@@ -327,4 +327,4 @@
]
}
]
-}
+} \ No newline at end of file
diff --git a/spec/fixtures/expected/java/maven-multimodules/v1.0.json b/spec/fixtures/expected/java/maven-multimodules/v1.0.json
index ac9f480..e165360 100644
--- a/spec/fixtures/expected/java/maven-multimodules/v1.0.json
+++ b/spec/fixtures/expected/java/maven-multimodules/v1.0.json
@@ -1,94 +1,294 @@
{
"licenses": [
- { "count": 15, "name": "Apache 2.0" },
- { "count": 4, "name": "BSD" },
- { "count": 1, "name": "MPL 1.1, GNU Lesser General Public License version 2.1, Apache 2.0" },
- { "count": 1, "name": "unknown" }
+ {
+ "count": 15,
+ "name": "Apache 2.0"
+ },
+ {
+ "count": 4,
+ "name": "BSD"
+ },
+ {
+ "count": 1,
+ "name": "MPL 1.1, GNU Lesser General Public License version 2.1, Apache 2.0"
+ },
+ {
+ "count": 1,
+ "name": "unknown"
+ }
],
"dependencies": [
{
- "license": { "name": "BSD", "url": "http://en.wikipedia.org/wiki/BSD_licenses#4-clause_license_.28original_.22BSD_License.22.29" },
- "dependency": { "name": "asm", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "BSD",
+ "url": "http://en.wikipedia.org/wiki/BSD_licenses#4-clause_license_.28original_.22BSD_License.22.29"
+ },
+ "dependency": {
+ "name": "asm",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
- "license": { "name": "BSD", "url": "http://en.wikipedia.org/wiki/BSD_licenses#4-clause_license_.28original_.22BSD_License.22.29" },
- "dependency": { "name": "asm-commons", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "BSD",
+ "url": "http://en.wikipedia.org/wiki/BSD_licenses#4-clause_license_.28original_.22BSD_License.22.29"
+ },
+ "dependency": {
+ "name": "asm-commons",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
- "license": { "name": "BSD", "url": "http://en.wikipedia.org/wiki/BSD_licenses#4-clause_license_.28original_.22BSD_License.22.29" },
- "dependency": { "name": "asm-tree", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "BSD",
+ "url": "http://en.wikipedia.org/wiki/BSD_licenses#4-clause_license_.28original_.22BSD_License.22.29"
+ },
+ "dependency": {
+ "name": "asm-tree",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
- "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" },
- "dependency": { "name": "commons-fileupload", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ },
+ "dependency": {
+ "name": "commons-fileupload",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
- "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" },
- "dependency": { "name": "commons-io", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ },
+ "dependency": {
+ "name": "commons-io",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
- "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" },
- "dependency": { "name": "commons-lang3", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ },
+ "dependency": {
+ "name": "commons-lang3",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
- "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" },
- "dependency": { "name": "freemarker", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ },
+ "dependency": {
+ "name": "freemarker",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
- "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" },
- "dependency": { "name": "jackson-annotations", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ },
+ "dependency": {
+ "name": "jackson-annotations",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
- "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" },
- "dependency": { "name": "jackson-core", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ },
+ "dependency": {
+ "name": "jackson-core",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
- "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" },
- "dependency": { "name": "jackson-databind", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ },
+ "dependency": {
+ "name": "jackson-databind",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
- "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" },
- "dependency": { "name": "jackson-dataformat-xml", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ },
+ "dependency": {
+ "name": "jackson-dataformat-xml",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
- "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" },
- "dependency": { "name": "jackson-module-jaxb-annotations", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ },
+ "dependency": {
+ "name": "jackson-module-jaxb-annotations",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
- "license": { "name": "MPL 1.1, GNU Lesser General Public License version 2.1, Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" },
- "dependency": { "name": "javassist", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "MPL 1.1, GNU Lesser General Public License version 2.1, Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ },
+ "dependency": {
+ "name": "javassist",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
- "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" },
- "dependency": { "name": "log4j-api", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ },
+ "dependency": {
+ "name": "log4j-api",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
- "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" },
- "dependency": { "name": "log4j-api", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ },
+ "dependency": {
+ "name": "log4j-api",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
- "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" },
- "dependency": { "name": "log4j-core", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ },
+ "dependency": {
+ "name": "log4j-core",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
- "license": { "name": "unknown" },
- "dependency": { "name": "model", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "unknown"
+ },
+ "dependency": {
+ "name": "model",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
- "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" },
- "dependency": { "name": "netty-all", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ },
+ "dependency": {
+ "name": "netty-all",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
- "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" },
- "dependency": { "name": "ognl", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ },
+ "dependency": {
+ "name": "ognl",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
- "license": { "name": "BSD", "url": "http://en.wikipedia.org/wiki/BSD_licenses#4-clause_license_.28original_.22BSD_License.22.29" },
- "dependency": { "name": "stax2-api", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "BSD",
+ "url": "http://en.wikipedia.org/wiki/BSD_licenses#4-clause_license_.28original_.22BSD_License.22.29"
+ },
+ "dependency": {
+ "name": "stax2-api",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
- "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" },
- "dependency": { "name": "struts2-core", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ },
+ "dependency": {
+ "name": "struts2-core",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
}
]
}
diff --git a/spec/fixtures/expected/java/maven-multimodules/v1.1.json b/spec/fixtures/expected/java/maven-multimodules/v1.1.json
index a8e2841..9fb043a 100644
--- a/spec/fixtures/expected/java/maven-multimodules/v1.1.json
+++ b/spec/fixtures/expected/java/maven-multimodules/v1.1.json
@@ -1,126 +1,353 @@
{
"version": "1.1",
"licenses": [
- { "count": 15, "name": "Apache 2.0" },
- { "count": 4, "name": "BSD" },
- { "count": 1, "name": "MPL 1.1, GNU Lesser General Public License version 2.1, Apache 2.0" },
- { "count": 1, "name": "unknown" }
+ {
+ "count": 15,
+ "name": "Apache 2.0"
+ },
+ {
+ "count": 4,
+ "name": "BSD"
+ },
+ {
+ "count": 1,
+ "name": "MPL 1.1, GNU Lesser General Public License version 2.1, Apache 2.0"
+ },
+ {
+ "count": 1,
+ "name": "unknown"
+ }
],
"dependencies": [
{
"licenses": [
- { "name": "BSD", "url": "http://en.wikipedia.org/wiki/BSD_licenses#4-clause_license_.28original_.22BSD_License.22.29" }
+ {
+ "name": "BSD",
+ "url": "http://en.wikipedia.org/wiki/BSD_licenses#4-clause_license_.28original_.22BSD_License.22.29"
+ }
],
- "license": { "name": "BSD", "url": "http://en.wikipedia.org/wiki/BSD_licenses#4-clause_license_.28original_.22BSD_License.22.29" },
- "dependency": { "name": "asm", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "BSD",
+ "url": "http://en.wikipedia.org/wiki/BSD_licenses#4-clause_license_.28original_.22BSD_License.22.29"
+ },
+ "dependency": {
+ "name": "asm",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
- "licenses": [ { "name": "BSD", "url": "http://en.wikipedia.org/wiki/BSD_licenses#4-clause_license_.28original_.22BSD_License.22.29" } ],
- "license": { "name": "BSD", "url": "http://en.wikipedia.org/wiki/BSD_licenses#4-clause_license_.28original_.22BSD_License.22.29" },
- "dependency": { "name": "asm-commons", "description": "", "pathes": [ "." ] }
+ "licenses": [
+ {
+ "name": "BSD",
+ "url": "http://en.wikipedia.org/wiki/BSD_licenses#4-clause_license_.28original_.22BSD_License.22.29"
+ }
+ ],
+ "license": {
+ "name": "BSD",
+ "url": "http://en.wikipedia.org/wiki/BSD_licenses#4-clause_license_.28original_.22BSD_License.22.29"
+ },
+ "dependency": {
+ "name": "asm-commons",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
- "licenses": [ { "name": "BSD", "url": "http://en.wikipedia.org/wiki/BSD_licenses#4-clause_license_.28original_.22BSD_License.22.29" } ],
- "license": { "name": "BSD", "url": "http://en.wikipedia.org/wiki/BSD_licenses#4-clause_license_.28original_.22BSD_License.22.29" },
- "dependency": { "name": "asm-tree", "description": "", "pathes": [ "." ] }
+ "licenses": [
+ {
+ "name": "BSD",
+ "url": "http://en.wikipedia.org/wiki/BSD_licenses#4-clause_license_.28original_.22BSD_License.22.29"
+ }
+ ],
+ "license": {
+ "name": "BSD",
+ "url": "http://en.wikipedia.org/wiki/BSD_licenses#4-clause_license_.28original_.22BSD_License.22.29"
+ },
+ "dependency": {
+ "name": "asm-tree",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
- "licenses": [ { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" } ],
- "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" },
- "dependency": { "name": "commons-fileupload", "description": "", "pathes": [ "." ] }
+ "licenses": [
+ {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ }
+ ],
+ "license": {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ },
+ "dependency": {
+ "name": "commons-fileupload",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
"licenses": [
- { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" }
+ {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ }
],
- "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" },
- "dependency": { "name": "commons-io", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ },
+ "dependency": {
+ "name": "commons-io",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
"licenses": [
- { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" }
+ {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ }
],
- "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" },
- "dependency": { "name": "commons-lang3", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ },
+ "dependency": {
+ "name": "commons-lang3",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
"licenses": [
- { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" }
+ {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ }
],
- "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" },
- "dependency": { "name": "freemarker", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ },
+ "dependency": {
+ "name": "freemarker",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
"licenses": [
- { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" }
+ {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ }
],
- "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" },
- "dependency": { "name": "jackson-annotations", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ },
+ "dependency": {
+ "name": "jackson-annotations",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
"licenses": [
- { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" }
+ {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ }
],
- "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" },
- "dependency": { "name": "jackson-core", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ },
+ "dependency": {
+ "name": "jackson-core",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
"licenses": [
- { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" }
+ {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ }
],
- "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" },
- "dependency": { "name": "jackson-databind", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ },
+ "dependency": {
+ "name": "jackson-databind",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
"licenses": [
- { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" }
+ {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ }
],
- "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" },
- "dependency": { "name": "jackson-dataformat-xml", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ },
+ "dependency": {
+ "name": "jackson-dataformat-xml",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
"licenses": [
- { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" }
+ {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ }
],
- "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" },
- "dependency": { "name": "jackson-module-jaxb-annotations", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ },
+ "dependency": {
+ "name": "jackson-module-jaxb-annotations",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
"licenses": [
- { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" },
- { "name": "GNU Lesser General Public License version 2.1", "url": "https://opensource.org/licenses/LGPL-2.1" },
- { "name": "MPL 1.1", "url": "" }
+ {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ },
+ {
+ "name": "GNU Lesser General Public License version 2.1",
+ "url": "https://opensource.org/licenses/LGPL-2.1"
+ },
+ {
+ "name": "MPL 1.1",
+ "url": ""
+ }
],
- "license": { "name": "MPL 1.1, GNU Lesser General Public License version 2.1, Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" },
- "dependency": { "name": "javassist", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "MPL 1.1, GNU Lesser General Public License version 2.1, Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ },
+ "dependency": {
+ "name": "javassist",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
"licenses": [
- { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" }
+ {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ }
],
- "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" },
- "dependency": { "name": "log4j-api", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ },
+ "dependency": {
+ "name": "log4j-api",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
"licenses": [
- { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" }
+ {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ }
],
- "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" },
- "dependency": { "name": "log4j-api", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ },
+ "dependency": {
+ "name": "log4j-api",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
"licenses": [
- { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" }
+ {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ }
],
- "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" },
- "dependency": { "name": "log4j-core", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ },
+ "dependency": {
+ "name": "log4j-core",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
"licenses": [
- { "name": "unknown", "url": "" }
+ {
+ "name": "unknown",
+ "url": ""
+ }
],
- "license": { "name": "unknown" },
- "dependency": { "name": "model", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "unknown"
+ },
+ "dependency": {
+ "name": "model",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
"licenses": [
@@ -129,29 +356,74 @@
"url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
}
],
- "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" },
- "dependency": { "name": "netty-all", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ },
+ "dependency": {
+ "name": "netty-all",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
"licenses": [
- { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" }
+ {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ }
],
- "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" },
- "dependency": { "name": "ognl", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ },
+ "dependency": {
+ "name": "ognl",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
"licenses": [
- { "name": "BSD", "url": "http://en.wikipedia.org/wiki/BSD_licenses#4-clause_license_.28original_.22BSD_License.22.29" }
+ {
+ "name": "BSD",
+ "url": "http://en.wikipedia.org/wiki/BSD_licenses#4-clause_license_.28original_.22BSD_License.22.29"
+ }
],
- "license": { "name": "BSD", "url": "http://en.wikipedia.org/wiki/BSD_licenses#4-clause_license_.28original_.22BSD_License.22.29" },
- "dependency": { "name": "stax2-api", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "BSD",
+ "url": "http://en.wikipedia.org/wiki/BSD_licenses#4-clause_license_.28original_.22BSD_License.22.29"
+ },
+ "dependency": {
+ "name": "stax2-api",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
},
{
"licenses": [
- { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" }
+ {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ }
],
- "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.txt" },
- "dependency": { "name": "struts2-core", "description": "", "pathes": [ "." ] }
+ "license": {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
+ },
+ "dependency": {
+ "name": "struts2-core",
+ "description": "",
+ "pathes": [
+ "."
+ ]
+ }
}
]
}
diff --git a/spec/fixtures/expected/java/maven-multimodules/v2.0.json b/spec/fixtures/expected/java/maven-multimodules/v2.0.json
index aa08ef9..594c36e 100644
--- a/spec/fixtures/expected/java/maven-multimodules/v2.0.json
+++ b/spec/fixtures/expected/java/maven-multimodules/v2.0.json
@@ -33,26 +33,238 @@
}
],
"dependencies": [
- { "name": "asm", "url": "", "description": "", "paths": [ "." ], "licenses": [ "BSD-4-Clause" ] },
- { "name": "asm-commons", "url": "", "description": "", "paths": [ "." ], "licenses": [ "BSD-4-Clause" ] },
- { "name": "asm-tree", "url": "", "description": "", "paths": [ "." ], "licenses": [ "BSD-4-Clause" ] },
- { "name": "commons-fileupload", "url": "", "description": "", "paths": [ "." ], "licenses": [ "Apache-2.0" ] },
- { "name": "commons-io", "url": "", "description": "", "paths": [ "." ], "licenses": [ "Apache-2.0" ] },
- { "name": "commons-lang3", "url": "", "description": "", "paths": [ "." ], "licenses": [ "Apache-2.0" ] },
- { "name": "freemarker", "url": "", "description": "", "paths": [ "." ], "licenses": [ "Apache-2.0" ] },
- { "name": "jackson-annotations", "url": "", "description": "", "paths": [ "." ], "licenses": [ "Apache-2.0" ] },
- { "name": "jackson-core", "url": "", "description": "", "paths": [ "." ], "licenses": [ "Apache-2.0" ] },
- { "name": "jackson-databind", "url": "", "description": "", "paths": [ "." ], "licenses": [ "Apache-2.0" ] },
- { "name": "jackson-dataformat-xml", "url": "", "description": "", "paths": [ "." ], "licenses": [ "Apache-2.0" ] },
- { "name": "jackson-module-jaxb-annotations", "url": "", "description": "", "paths": [ "." ], "licenses": [ "Apache-2.0" ] },
- { "name": "javassist", "url": "", "description": "", "paths": [ "." ], "licenses": [ "Apache-2.0", "LGPL-2.1", "MPL-1.1" ] },
- { "name": "log4j-api", "url": "", "description": "", "paths": [ "." ], "licenses": [ "Apache-2.0" ] },
- { "name": "log4j-api", "url": "", "description": "", "paths": [ "." ], "licenses": [ "Apache-2.0" ] },
- { "name": "log4j-core", "url": "", "description": "", "paths": [ "." ], "licenses": [ "Apache-2.0" ] },
- { "name": "model", "url": "", "description": "", "paths": [ "." ], "licenses": [ "unknown" ] },
- { "name": "netty-all", "url": "", "description": "", "paths": [ "." ], "licenses": [ "Apache-2.0" ] },
- { "name": "ognl", "url": "", "description": "", "paths": [ "." ], "licenses": [ "Apache-2.0" ] },
- { "name": "stax2-api", "url": "", "description": "", "paths": [ "." ], "licenses": [ "BSD-4-Clause" ] },
- { "name": "struts2-core", "url": "", "description": "", "paths": [ "." ], "licenses": [ "Apache-2.0" ] }
+ {
+ "name": "asm",
+ "url": "",
+ "description": "",
+ "paths": [
+ "."
+ ],
+ "licenses": [
+ "BSD-4-Clause"
+ ]
+ },
+ {
+ "name": "asm-commons",
+ "url": "",
+ "description": "",
+ "paths": [
+ "."
+ ],
+ "licenses": [
+ "BSD-4-Clause"
+ ]
+ },
+ {
+ "name": "asm-tree",
+ "url": "",
+ "description": "",
+ "paths": [
+ "."
+ ],
+ "licenses": [
+ "BSD-4-Clause"
+ ]
+ },
+ {
+ "name": "commons-fileupload",
+ "url": "",
+ "description": "",
+ "paths": [
+ "."
+ ],
+ "licenses": [
+ "Apache-2.0"
+ ]
+ },
+ {
+ "name": "commons-io",
+ "url": "",
+ "description": "",
+ "paths": [
+ "."
+ ],
+ "licenses": [
+ "Apache-2.0"
+ ]
+ },
+ {
+ "name": "commons-lang3",
+ "url": "",
+ "description": "",
+ "paths": [
+ "."
+ ],
+ "licenses": [
+ "Apache-2.0"
+ ]
+ },
+ {
+ "name": "freemarker",
+ "url": "",
+ "description": "",
+ "paths": [
+ "."
+ ],
+ "licenses": [
+ "Apache-2.0"
+ ]
+ },
+ {
+ "name": "jackson-annotations",
+ "url": "",
+ "description": "",
+ "paths": [
+ "."
+ ],
+ "licenses": [
+ "Apache-2.0"
+ ]
+ },
+ {
+ "name": "jackson-core",
+ "url": "",
+ "description": "",
+ "paths": [
+ "."
+ ],
+ "licenses": [
+ "Apache-2.0"
+ ]
+ },
+ {
+ "name": "jackson-databind",
+ "url": "",
+ "description": "",
+ "paths": [
+ "."
+ ],
+ "licenses": [
+ "Apache-2.0"
+ ]
+ },
+ {
+ "name": "jackson-dataformat-xml",
+ "url": "",
+ "description": "",
+ "paths": [
+ "."
+ ],
+ "licenses": [
+ "Apache-2.0"
+ ]
+ },
+ {
+ "name": "jackson-module-jaxb-annotations",
+ "url": "",
+ "description": "",
+ "paths": [
+ "."
+ ],
+ "licenses": [
+ "Apache-2.0"
+ ]
+ },
+ {
+ "name": "javassist",
+ "url": "",
+ "description": "",
+ "paths": [
+ "."
+ ],
+ "licenses": [
+ "Apache-2.0",
+ "LGPL-2.1",
+ "MPL-1.1"
+ ]
+ },
+ {
+ "name": "log4j-api",
+ "url": "",
+ "description": "",
+ "paths": [
+ "."
+ ],
+ "licenses": [
+ "Apache-2.0"
+ ]
+ },
+ {
+ "name": "log4j-api",
+ "url": "",
+ "description": "",
+ "paths": [
+ "."
+ ],
+ "licenses": [
+ "Apache-2.0"
+ ]
+ },
+ {
+ "name": "log4j-core",
+ "url": "",
+ "description": "",
+ "paths": [
+ "."
+ ],
+ "licenses": [
+ "Apache-2.0"
+ ]
+ },
+ {
+ "name": "model",
+ "url": "",
+ "description": "",
+ "paths": [
+ "."
+ ],
+ "licenses": [
+ "unknown"
+ ]
+ },
+ {
+ "name": "netty-all",
+ "url": "",
+ "description": "",
+ "paths": [
+ "."
+ ],
+ "licenses": [
+ "Apache-2.0"
+ ]
+ },
+ {
+ "name": "ognl",
+ "url": "",
+ "description": "",
+ "paths": [
+ "."
+ ],
+ "licenses": [
+ "Apache-2.0"
+ ]
+ },
+ {
+ "name": "stax2-api",
+ "url": "",
+ "description": "",
+ "paths": [
+ "."
+ ],
+ "licenses": [
+ "BSD-4-Clause"
+ ]
+ },
+ {
+ "name": "struts2-core",
+ "url": "",
+ "description": "",
+ "paths": [
+ "."
+ ],
+ "licenses": [
+ "Apache-2.0"
+ ]
+ }
]
}
diff --git a/spec/fixtures/expected/java/maven/v2.1.json b/spec/fixtures/expected/java/maven/v2.1.json
index 6855593..a02947a 100644
--- a/spec/fixtures/expected/java/maven/v2.1.json
+++ b/spec/fixtures/expected/java/maven/v2.1.json
@@ -269,4 +269,4 @@
]
}
]
-} \ No newline at end of file
+}
diff --git a/spec/fixtures/expected/js/bower/v1.0.json b/spec/fixtures/expected/js/bower/v1.0.json
index cbffaa2..f71e6b5 100644
--- a/spec/fixtures/expected/js/bower/v1.0.json
+++ b/spec/fixtures/expected/js/bower/v1.0.json
@@ -10,7 +10,7 @@
},
{
"count": 1,
- "name": "New BSD, MIT, ISC, Apache 2.0"
+ "name": "Simplified BSD, New BSD, MIT, ISC, Apache 2.0"
},
{
"count": 1,
@@ -20,7 +20,7 @@
"dependencies": [
{
"license": {
- "name": "New BSD, MIT, ISC, Apache 2.0",
+ "name": "Simplified BSD, New BSD, MIT, ISC, Apache 2.0",
"url": "http://en.wikipedia.org/wiki/ISC_license"
},
"dependency": {
diff --git a/spec/fixtures/expected/js/bower/v1.1.json b/spec/fixtures/expected/js/bower/v1.1.json
index 7351634..9abb729 100644
--- a/spec/fixtures/expected/js/bower/v1.1.json
+++ b/spec/fixtures/expected/js/bower/v1.1.json
@@ -11,7 +11,7 @@
},
{
"count": 1,
- "name": "New BSD, MIT, ISC, Apache 2.0"
+ "name": "Simplified BSD, New BSD, MIT, ISC, Apache 2.0"
},
{
"count": 1,
@@ -36,10 +36,14 @@
{
"name": "New BSD",
"url": "http://opensource.org/licenses/BSD-3-Clause"
+ },
+ {
+ "name": "Simplified BSD",
+ "url": "http://opensource.org/licenses/bsd-license"
}
],
"license": {
- "name": "New BSD, MIT, ISC, Apache 2.0",
+ "name": "Simplified BSD, New BSD, MIT, ISC, Apache 2.0",
"url": "http://en.wikipedia.org/wiki/ISC_license"
},
"dependency": {
diff --git a/spec/fixtures/expected/js/bower/v2.0.json b/spec/fixtures/expected/js/bower/v2.0.json
index a8183e6..8d62873 100644
--- a/spec/fixtures/expected/js/bower/v2.0.json
+++ b/spec/fixtures/expected/js/bower/v2.0.json
@@ -20,6 +20,12 @@
"count": 1
},
{
+ "id": "BSD-2-Clause",
+ "name": "BSD 2-Clause \"Simplified\" License",
+ "url": "https://opensource.org/licenses/BSD-2-Clause",
+ "count": 1
+ },
+ {
"id": "BSD-3-Clause",
"name": "BSD 3-Clause \"New\" or \"Revised\" License",
"url": "https://opensource.org/licenses/BSD-3-Clause",
@@ -42,6 +48,7 @@
],
"licenses": [
"Apache-2.0",
+ "BSD-2-Clause",
"BSD-3-Clause",
"ISC",
"MIT"
diff --git a/spec/fixtures/expected/js/bower/v2.1.json b/spec/fixtures/expected/js/bower/v2.1.json
index 3933832..cf41514 100644
--- a/spec/fixtures/expected/js/bower/v2.1.json
+++ b/spec/fixtures/expected/js/bower/v2.1.json
@@ -7,6 +7,11 @@
"url": "https://opensource.org/licenses/Apache-2.0"
},
{
+ "id": "BSD-2-Clause",
+ "name": "BSD 2-Clause \"Simplified\" License",
+ "url": "https://opensource.org/licenses/BSD-2-Clause"
+ },
+ {
"id": "BSD-3-Clause",
"name": "BSD 3-Clause \"New\" or \"Revised\" License",
"url": "https://opensource.org/licenses/BSD-3-Clause"
@@ -35,6 +40,7 @@
"path": "bower.json",
"licenses": [
"Apache-2.0",
+ "BSD-2-Clause",
"BSD-3-Clause",
"ISC",
"MIT"
@@ -122,4 +128,4 @@
]
}
]
-}
+} \ No newline at end of file
diff --git a/spec/fixtures/expected/js/npm/v1.0.json b/spec/fixtures/expected/js/npm/v1.0.json
index 4978ad4..fecd1ac 100644
--- a/spec/fixtures/expected/js/npm/v1.0.json
+++ b/spec/fixtures/expected/js/npm/v1.0.json
@@ -70,4 +70,4 @@
}
}
]
-} \ No newline at end of file
+}
diff --git a/spec/fixtures/expected/js/npm/v1.1.json b/spec/fixtures/expected/js/npm/v1.1.json
index 8294741..4c2e0dd 100644
--- a/spec/fixtures/expected/js/npm/v1.1.json
+++ b/spec/fixtures/expected/js/npm/v1.1.json
@@ -99,4 +99,4 @@
}
}
]
-} \ No newline at end of file
+}
diff --git a/spec/fixtures/expected/js/npm/v2.0.json b/spec/fixtures/expected/js/npm/v2.0.json
index dcba5ef..5419d06 100644
--- a/spec/fixtures/expected/js/npm/v2.0.json
+++ b/spec/fixtures/expected/js/npm/v2.0.json
@@ -61,4 +61,4 @@
]
}
]
-} \ No newline at end of file
+}
diff --git a/spec/fixtures/expected/js/yarn/v1.0.json b/spec/fixtures/expected/js/yarn/v1.0.json
index 3264ddb..f944b03 100644
--- a/spec/fixtures/expected/js/yarn/v1.0.json
+++ b/spec/fixtures/expected/js/yarn/v1.0.json
@@ -15953,4 +15953,4 @@
}
}
]
-} \ No newline at end of file
+}
diff --git a/spec/fixtures/expected/js/yarn/v1.1.json b/spec/fixtures/expected/js/yarn/v1.1.json
index d197e7b..ddb581f 100644
--- a/spec/fixtures/expected/js/yarn/v1.1.json
+++ b/spec/fixtures/expected/js/yarn/v1.1.json
@@ -22770,4 +22770,4 @@
}
}
]
-} \ No newline at end of file
+}
diff --git a/spec/fixtures/expected/js/yarn/v2.0.json b/spec/fixtures/expected/js/yarn/v2.0.json
index 7553d39..5819cd3 100644
--- a/spec/fixtures/expected/js/yarn/v2.0.json
+++ b/spec/fixtures/expected/js/yarn/v2.0.json
@@ -12632,4 +12632,4 @@
]
}
]
-} \ No newline at end of file
+}
diff --git a/spec/fixtures/expected/python/pipenv/v2.1.json b/spec/fixtures/expected/python/pipenv/v2.1.json
index 2a5f945..30161e1 100644
--- a/spec/fixtures/expected/python/pipenv/v2.1.json
+++ b/spec/fixtures/expected/python/pipenv/v2.1.json
@@ -60,4 +60,4 @@
]
}
]
-} \ No newline at end of file
+}
diff --git a/spec/fixtures/expected/ruby/bundler/v2.1.json b/spec/fixtures/expected/ruby/bundler/v2.1.json
index 9171241..ae83b84 100644
--- a/spec/fixtures/expected/ruby/bundler/v2.1.json
+++ b/spec/fixtures/expected/ruby/bundler/v2.1.json
@@ -163,4 +163,4 @@
]
}
]
-} \ No newline at end of file
+}
diff --git a/spec/fixtures/ruby/bundler-gem-conflict/Gemfile b/spec/fixtures/ruby/bundler-gem-conflict/Gemfile
new file mode 100644
index 0000000..68beefb
--- /dev/null
+++ b/spec/fixtures/ruby/bundler-gem-conflict/Gemfile
@@ -0,0 +1,66 @@
+source 'https://rubygems.org'
+git_source(:github) { |repo| "https://github.com/#{repo}.git" }
+
+ruby '2.7.1'
+
+gem 'rails', '~> 6.0'
+gem 'pg'
+gem 'devise'
+gem 'acts-as-taggable-on', '~> 6.0'
+gem 'mini_magick'
+gem 'google-cloud-storage', "~> 1.8"
+gem 'pundit'
+gem 'pry'
+gem 'postmark-rails'
+# gem "passenger", ">= 5.0.25", require: "phusion_passenger/rack_handler"
+gem 'puma'
+gem 'httparty'
+gem 'sidekiq'
+gem 'sidekiq-failures', '~> 1.0'
+gem 'sidekiq_alive'
+
+gem 'rgeo'
+gem 'rgeo-geojson'
+gem 'geocoder'
+
+gem 'bundler'
+gem 'therubyracer'
+
+gem 'money-rails'
+gem 'creek'
+gem "sentry-raven"
+gem "skylight"
+
+gem 'simple_token_authentication'
+gem 'grape'
+gem 'grape-entity'
+gem 'grape-swagger'
+gem 'grape-swagger-entity'
+
+gem 'kaminari'
+gem 'caxlsx'
+
+# Reduces boot times through caching; required in config/boot.rb
+gem 'bootsnap', '>= 1.1.0', require: false
+
+group :development, :test do
+ # Call 'byebug' anywhere in the code to stop execution and get a debugger console
+ gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
+ gem 'rspec-rails'
+ gem 'guard-rspec', require: false
+ gem 'factory_bot_rails'
+ gem 'simplecov', require: false, group: :test
+ gem 'deep-cover'
+end
+
+group :development do
+ # Access an interactive console on exception pages or by calling 'console' anywhere in the code.
+ gem 'listen', '>= 3.0.5', '< 3.2'
+ # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
+ gem 'spring'
+ gem 'spring-watcher-listen', '~> 2.0.0'
+ gem 'letter_opener'
+end
+
+# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
+gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
diff --git a/spec/fixtures/ruby/bundler-gem-conflict/Gemfile.lock b/spec/fixtures/ruby/bundler-gem-conflict/Gemfile.lock
new file mode 100644
index 0000000..d0e49df
--- /dev/null
+++ b/spec/fixtures/ruby/bundler-gem-conflict/Gemfile.lock
@@ -0,0 +1,489 @@
+GEM
+ remote: https://rubygems.org/
+ specs:
+ actioncable (6.0.3.1)
+ actionpack (= 6.0.3.1)
+ nio4r (~> 2.0)
+ websocket-driver (>= 0.6.1)
+ actionmailbox (6.0.3.1)
+ actionpack (= 6.0.3.1)
+ activejob (= 6.0.3.1)
+ activerecord (= 6.0.3.1)
+ activestorage (= 6.0.3.1)
+ activesupport (= 6.0.3.1)
+ mail (>= 2.7.1)
+ actionmailer (6.0.3.1)
+ actionpack (= 6.0.3.1)
+ actionview (= 6.0.3.1)
+ activejob (= 6.0.3.1)
+ mail (~> 2.5, >= 2.5.4)
+ rails-dom-testing (~> 2.0)
+ actionpack (6.0.3.1)
+ actionview (= 6.0.3.1)
+ activesupport (= 6.0.3.1)
+ rack (~> 2.0, >= 2.0.8)
+ rack-test (>= 0.6.3)
+ rails-dom-testing (~> 2.0)
+ rails-html-sanitizer (~> 1.0, >= 1.2.0)
+ actiontext (6.0.3.1)
+ actionpack (= 6.0.3.1)
+ activerecord (= 6.0.3.1)
+ activestorage (= 6.0.3.1)
+ activesupport (= 6.0.3.1)
+ nokogiri (>= 1.8.5)
+ actionview (6.0.3.1)
+ activesupport (= 6.0.3.1)
+ builder (~> 3.1)
+ erubi (~> 1.4)
+ rails-dom-testing (~> 2.0)
+ rails-html-sanitizer (~> 1.1, >= 1.2.0)
+ activejob (6.0.3.1)
+ activesupport (= 6.0.3.1)
+ globalid (>= 0.3.6)
+ activemodel (6.0.3.1)
+ activesupport (= 6.0.3.1)
+ activerecord (6.0.3.1)
+ activemodel (= 6.0.3.1)
+ activesupport (= 6.0.3.1)
+ activestorage (6.0.3.1)
+ actionpack (= 6.0.3.1)
+ activejob (= 6.0.3.1)
+ activerecord (= 6.0.3.1)
+ marcel (~> 0.3.1)
+ activesupport (6.0.3.1)
+ concurrent-ruby (~> 1.0, >= 1.0.2)
+ i18n (>= 0.7, < 2)
+ minitest (~> 5.1)
+ tzinfo (~> 1.1)
+ zeitwerk (~> 2.2, >= 2.2.2)
+ acts-as-taggable-on (6.5.0)
+ activerecord (>= 5.0, < 6.1)
+ addressable (2.7.0)
+ public_suffix (>= 2.0.2, < 5.0)
+ ast (2.4.0)
+ backports (3.17.2)
+ bcrypt (3.1.13)
+ binding_of_caller (0.8.0)
+ debug_inspector (>= 0.0.1)
+ bootsnap (1.4.6)
+ msgpack (~> 1.0)
+ builder (3.2.4)
+ byebug (11.1.3)
+ caxlsx (3.0.1)
+ htmlentities (~> 4.3, >= 4.3.4)
+ mimemagic (~> 0.3)
+ nokogiri (~> 1.10, >= 1.10.4)
+ rubyzip (>= 1.3.0, < 3)
+ coderay (1.1.2)
+ concurrent-ruby (1.1.6)
+ connection_pool (2.2.2)
+ crass (1.0.6)
+ creek (2.5.2)
+ nokogiri (>= 1.10.0)
+ rubyzip (>= 1.0.0)
+ debug_inspector (0.0.3)
+ declarative (0.0.10)
+ declarative-option (0.1.0)
+ deep-cover (0.8.1)
+ deep-cover-core (= 0.8.1)
+ highline
+ thor (>= 0.20.3)
+ with_progress
+ deep-cover-core (0.8.1)
+ backports (>= 3.11.0)
+ binding_of_caller
+ parser (>= 2.5)
+ pry
+ term-ansicolor
+ terminal-table
+ devise (4.7.1)
+ bcrypt (~> 3.0)
+ orm_adapter (~> 0.1)
+ railties (>= 4.1.0)
+ responders
+ warden (~> 1.2.3)
+ diff-lcs (1.3)
+ digest-crc (0.5.1)
+ docile (1.3.2)
+ dry-configurable (0.11.5)
+ concurrent-ruby (~> 1.0)
+ dry-core (~> 0.4, >= 0.4.7)
+ dry-equalizer (~> 0.2)
+ dry-container (0.7.2)
+ concurrent-ruby (~> 1.0)
+ dry-configurable (~> 0.1, >= 0.1.3)
+ dry-core (0.4.9)
+ concurrent-ruby (~> 1.0)
+ dry-equalizer (0.3.0)
+ dry-inflector (0.2.0)
+ dry-logic (1.0.6)
+ concurrent-ruby (~> 1.0)
+ dry-core (~> 0.2)
+ dry-equalizer (~> 0.2)
+ dry-types (1.4.0)
+ concurrent-ruby (~> 1.0)
+ dry-container (~> 0.3)
+ dry-core (~> 0.4, >= 0.4.4)
+ dry-equalizer (~> 0.3)
+ dry-inflector (~> 0.1, >= 0.1.2)
+ dry-logic (~> 1.0, >= 1.0.2)
+ erubi (1.9.0)
+ factory_bot (5.2.0)
+ activesupport (>= 4.2.0)
+ factory_bot_rails (5.2.0)
+ factory_bot (~> 5.2.0)
+ railties (>= 4.2.0)
+ faraday (1.0.1)
+ multipart-post (>= 1.2, < 3)
+ ffi (1.12.2)
+ formatador (0.2.5)
+ geocoder (1.6.3)
+ globalid (0.4.2)
+ activesupport (>= 4.2.0)
+ google-api-client (0.39.4)
+ addressable (~> 2.5, >= 2.5.1)
+ googleauth (~> 0.9)
+ httpclient (>= 2.8.1, < 3.0)
+ mini_mime (~> 1.0)
+ representable (~> 3.0)
+ retriable (>= 2.0, < 4.0)
+ signet (~> 0.12)
+ google-cloud-core (1.5.0)
+ google-cloud-env (~> 1.0)
+ google-cloud-errors (~> 1.0)
+ google-cloud-env (1.3.1)
+ faraday (>= 0.17.3, < 2.0)
+ google-cloud-errors (1.0.0)
+ google-cloud-storage (1.26.1)
+ addressable (~> 2.5)
+ digest-crc (~> 0.4)
+ google-api-client (~> 0.33)
+ google-cloud-core (~> 1.2)
+ googleauth (~> 0.9)
+ mini_mime (~> 1.0)
+ googleauth (0.12.0)
+ faraday (>= 0.17.3, < 2.0)
+ jwt (>= 1.4, < 3.0)
+ memoist (~> 0.16)
+ multi_json (~> 1.11)
+ os (>= 0.9, < 2.0)
+ signet (~> 0.14)
+ grape (1.3.2)
+ activesupport
+ builder
+ dry-types (>= 1.1)
+ mustermann-grape (~> 1.0.0)
+ rack (>= 1.3.0)
+ rack-accept
+ grape-entity (0.8.0)
+ activesupport (>= 3.0.0)
+ multi_json (>= 1.3.2)
+ grape-swagger (1.1.0)
+ grape (~> 1.3.0)
+ grape-swagger-entity (0.3.4)
+ grape-entity (>= 0.5.0)
+ grape-swagger (>= 0.31.0)
+ guard (2.16.2)
+ formatador (>= 0.2.4)
+ listen (>= 2.7, < 4.0)
+ lumberjack (>= 1.0.12, < 2.0)
+ nenv (~> 0.1)
+ notiffany (~> 0.0)
+ pry (>= 0.9.12)
+ shellany (~> 0.0)
+ thor (>= 0.18.1)
+ guard-compat (1.2.1)
+ guard-rspec (4.7.3)
+ guard (~> 2.1)
+ guard-compat (~> 1.1)
+ rspec (>= 2.99.0, < 4.0)
+ highline (2.0.3)
+ htmlentities (4.3.4)
+ httparty (0.18.0)
+ mime-types (~> 3.0)
+ multi_xml (>= 0.5.2)
+ httpclient (2.8.3)
+ i18n (1.8.2)
+ concurrent-ruby (~> 1.0)
+ json (2.3.0)
+ jwt (2.2.1)
+ kaminari (1.2.0)
+ activesupport (>= 4.1.0)
+ kaminari-actionview (= 1.2.0)
+ kaminari-activerecord (= 1.2.0)
+ kaminari-core (= 1.2.0)
+ kaminari-actionview (1.2.0)
+ actionview
+ kaminari-core (= 1.2.0)
+ kaminari-activerecord (1.2.0)
+ activerecord
+ kaminari-core (= 1.2.0)
+ kaminari-core (1.2.0)
+ launchy (2.5.0)
+ addressable (~> 2.7)
+ letter_opener (1.7.0)
+ launchy (~> 2.2)
+ libv8 (3.16.14.19)
+ listen (3.1.5)
+ rb-fsevent (~> 0.9, >= 0.9.4)
+ rb-inotify (~> 0.9, >= 0.9.7)
+ ruby_dep (~> 1.2)
+ loofah (2.5.0)
+ crass (~> 1.0.2)
+ nokogiri (>= 1.5.9)
+ lumberjack (1.2.4)
+ mail (2.7.1)
+ mini_mime (>= 0.1.1)
+ marcel (0.3.3)
+ mimemagic (~> 0.3.2)
+ memoist (0.16.2)
+ method_source (1.0.0)
+ mime-types (3.3.1)
+ mime-types-data (~> 3.2015)
+ mime-types-data (3.2020.0512)
+ mimemagic (0.3.5)
+ mini_magick (4.10.1)
+ mini_mime (1.0.2)
+ mini_portile2 (2.4.0)
+ minitest (5.14.1)
+ monetize (1.9.4)
+ money (~> 6.12)
+ money (6.13.7)
+ i18n (>= 0.6.4, <= 2)
+ money-rails (1.13.3)
+ activesupport (>= 3.0)
+ monetize (~> 1.9.0)
+ money (~> 6.13.2)
+ railties (>= 3.0)
+ msgpack (1.3.3)
+ multi_json (1.14.1)
+ multi_xml (0.6.0)
+ multipart-post (2.1.1)
+ mustermann (1.1.1)
+ ruby2_keywords (~> 0.0.1)
+ mustermann-grape (1.0.1)
+ mustermann (>= 1.0.0)
+ nenv (0.3.0)
+ nio4r (2.5.2)
+ nokogiri (1.10.9)
+ mini_portile2 (~> 2.4.0)
+ notiffany (0.1.3)
+ nenv (~> 0.1)
+ shellany (~> 0.0)
+ orm_adapter (0.5.0)
+ os (1.1.0)
+ parser (2.7.1.2)
+ ast (~> 2.4.0)
+ pg (1.2.3)
+ postmark (1.21.1)
+ json
+ postmark-rails (0.20.0)
+ actionmailer (>= 3.0.0)
+ postmark (~> 1.15)
+ pry (0.13.1)
+ coderay (~> 1.1)
+ method_source (~> 1.0)
+ public_suffix (4.0.5)
+ puma (4.3.5)
+ nio4r (~> 2.0)
+ pundit (2.1.0)
+ activesupport (>= 3.0.0)
+ rack (2.2.2)
+ rack-accept (0.4.5)
+ rack (>= 0.4)
+ rack-protection (2.0.8.1)
+ rack
+ rack-test (1.1.0)
+ rack (>= 1.0, < 3)
+ rails (6.0.3.1)
+ actioncable (= 6.0.3.1)
+ actionmailbox (= 6.0.3.1)
+ actionmailer (= 6.0.3.1)
+ actionpack (= 6.0.3.1)
+ actiontext (= 6.0.3.1)
+ actionview (= 6.0.3.1)
+ activejob (= 6.0.3.1)
+ activemodel (= 6.0.3.1)
+ activerecord (= 6.0.3.1)
+ activestorage (= 6.0.3.1)
+ activesupport (= 6.0.3.1)
+ bundler (>= 1.3.0)
+ railties (= 6.0.3.1)
+ sprockets-rails (>= 2.0.0)
+ rails-dom-testing (2.0.3)
+ activesupport (>= 4.2.0)
+ nokogiri (>= 1.6)
+ rails-html-sanitizer (1.3.0)
+ loofah (~> 2.3)
+ railties (6.0.3.1)
+ actionpack (= 6.0.3.1)
+ activesupport (= 6.0.3.1)
+ method_source
+ rake (>= 0.8.7)
+ thor (>= 0.20.3, < 2.0)
+ rake (13.0.1)
+ rb-fsevent (0.10.4)
+ rb-inotify (0.10.1)
+ ffi (~> 1.0)
+ redis (4.1.4)
+ ref (2.0.0)
+ representable (3.0.4)
+ declarative (< 0.1.0)
+ declarative-option (< 0.2.0)
+ uber (< 0.2.0)
+ responders (3.0.0)
+ actionpack (>= 5.0)
+ railties (>= 5.0)
+ retriable (3.1.2)
+ rgeo (2.1.1)
+ rgeo-geojson (2.1.1)
+ rgeo (>= 1.0.0)
+ rspec (3.9.0)
+ rspec-core (~> 3.9.0)
+ rspec-expectations (~> 3.9.0)
+ rspec-mocks (~> 3.9.0)
+ rspec-core (3.9.2)
+ rspec-support (~> 3.9.3)
+ rspec-expectations (3.9.2)
+ diff-lcs (>= 1.2.0, < 2.0)
+ rspec-support (~> 3.9.0)
+ rspec-mocks (3.9.1)
+ diff-lcs (>= 1.2.0, < 2.0)
+ rspec-support (~> 3.9.0)
+ rspec-rails (4.0.1)
+ actionpack (>= 4.2)
+ activesupport (>= 4.2)
+ railties (>= 4.2)
+ rspec-core (~> 3.9)
+ rspec-expectations (~> 3.9)
+ rspec-mocks (~> 3.9)
+ rspec-support (~> 3.9)
+ rspec-support (3.9.3)
+ ruby-progressbar (1.10.1)
+ ruby2_keywords (0.0.2)
+ ruby_dep (1.5.0)
+ rubyzip (2.3.0)
+ sentry-raven (3.0.0)
+ faraday (>= 1.0)
+ shellany (0.0.1)
+ sidekiq (6.0.7)
+ connection_pool (>= 2.2.2)
+ rack (~> 2.0)
+ rack-protection (>= 2.0.0)
+ redis (>= 4.1.0)
+ sidekiq-failures (1.0.0)
+ sidekiq (>= 4.0.0)
+ sidekiq_alive (2.0.1)
+ sidekiq
+ sinatra
+ signet (0.14.0)
+ addressable (~> 2.3)
+ faraday (>= 0.17.3, < 2.0)
+ jwt (>= 1.5, < 3.0)
+ multi_json (~> 1.10)
+ simple_token_authentication (1.17.0)
+ actionmailer (>= 3.2.6, < 7)
+ actionpack (>= 3.2.6, < 7)
+ devise (>= 3.2, < 6)
+ simplecov (0.18.5)
+ docile (~> 1.1)
+ simplecov-html (~> 0.11)
+ simplecov-html (0.12.2)
+ sinatra (2.0.8.1)
+ mustermann (~> 1.0)
+ rack (~> 2.0)
+ rack-protection (= 2.0.8.1)
+ tilt (~> 2.0)
+ skylight (4.3.0)
+ skylight-core (= 4.3.0)
+ skylight-core (4.3.0)
+ activesupport (>= 4.2.0)
+ spring (2.1.0)
+ spring-watcher-listen (2.0.1)
+ listen (>= 2.7, < 4.0)
+ spring (>= 1.2, < 3.0)
+ sprockets (4.0.0)
+ concurrent-ruby (~> 1.0)
+ rack (> 1, < 3)
+ sprockets-rails (3.2.1)
+ actionpack (>= 4.0)
+ activesupport (>= 4.0)
+ sprockets (>= 3.0.0)
+ sync (0.5.0)
+ term-ansicolor (1.7.1)
+ tins (~> 1.0)
+ terminal-table (1.8.0)
+ unicode-display_width (~> 1.1, >= 1.1.1)
+ therubyracer (0.12.3)
+ libv8 (~> 3.16.14.15)
+ ref
+ thor (1.0.1)
+ thread_safe (0.3.6)
+ tilt (2.0.10)
+ tins (1.25.0)
+ sync
+ tzinfo (1.2.7)
+ thread_safe (~> 0.1)
+ uber (0.1.0)
+ unicode-display_width (1.7.0)
+ warden (1.2.8)
+ rack (>= 2.0.6)
+ websocket-driver (0.7.1)
+ websocket-extensions (>= 0.1.0)
+ websocket-extensions (0.1.4)
+ with_progress (1.0.1)
+ ruby-progressbar (~> 1.4)
+ zeitwerk (2.3.0)
+
+PLATFORMS
+ ruby
+
+DEPENDENCIES
+ acts-as-taggable-on (~> 6.0)
+ bootsnap (>= 1.1.0)
+ bundler
+ byebug
+ caxlsx
+ creek
+ deep-cover
+ devise
+ factory_bot_rails
+ geocoder
+ google-cloud-storage (~> 1.8)
+ grape
+ grape-entity
+ grape-swagger
+ grape-swagger-entity
+ guard-rspec
+ httparty
+ kaminari
+ letter_opener
+ listen (>= 3.0.5, < 3.2)
+ mini_magick
+ money-rails
+ pg
+ postmark-rails
+ pry
+ puma
+ pundit
+ rails (~> 6.0)
+ rgeo
+ rgeo-geojson
+ rspec-rails
+ sentry-raven
+ sidekiq
+ sidekiq-failures (~> 1.0)
+ sidekiq_alive
+ simple_token_authentication
+ simplecov
+ skylight
+ spring
+ spring-watcher-listen (~> 2.0.0)
+ therubyracer
+ tzinfo-data
+
+RUBY VERSION
+ ruby 2.7.1p83
+
+BUNDLED WITH
+ 2.1.4
diff --git a/spec/integration/js/bower_spec.rb b/spec/integration/js/bower_spec.rb
index cc7cf9d..6d51394 100644
--- a/spec/integration/js/bower_spec.rb
+++ b/spec/integration/js/bower_spec.rb
@@ -12,7 +12,7 @@ RSpec.describe "bower" do
specify { expect(subject).to match_schema }
specify { expect(subject.dependency_names).to match_array(['cli', 'ev-emitter', 'example-project', 'fizzy-ui-utils', 'get-size', 'jquery', 'masonry-layout', 'matches-selector', 'outlayer', 'stimulus.umd']) }
- specify { expect(subject.licenses_for('cli')).to match_array(['Apache-2.0', 'BSD-3-Clause', 'ISC', 'MIT']) }
+ specify { expect(subject.licenses_for('cli')).to match_array(['Apache-2.0', 'BSD-2-Clause', 'BSD-3-Clause', 'ISC', 'MIT']) }
specify { expect(subject.licenses_for('ev-emitter')).to match_array(['MIT']) }
specify { expect(subject.licenses_for('example-project')).to match_array(['ISC']) }
specify { expect(subject.licenses_for('fizzy-ui-utils')).to match_array(['MIT']) }
diff --git a/spec/integration/ruby/bundler_spec.rb b/spec/integration/ruby/bundler_spec.rb
index f0464fe..428b357 100644
--- a/spec/integration/ruby/bundler_spec.rb
+++ b/spec/integration/ruby/bundler_spec.rb
@@ -139,4 +139,36 @@ BUNDLED WITH
expect(report).to match_schema
end
end
+
+ context "when parsing a project with versions of gems that conflict with license_finder" do
+ subject { runner.scan }
+
+ before do
+ runner.mount(dir: fixture_file('ruby/bundler-gem-conflict'))
+ end
+
+ specify do
+ expect(subject).to match_schema
+ expect(subject[:licenses]).not_to be_empty
+ expect(subject[:dependencies]).not_to be_empty
+ expect(subject.dependency_names).to include('rails')
+ end
+ end
+
+ context "when scanning the `gitlab` project" do
+ subject { runner.scan }
+
+ before do
+ runner.clone('https://gitlab.com/gitlab-org/gitlab.git')
+ system("rm #{runner.project_path}/config/dependency_decisions.yml")
+ end
+
+ specify do
+ expect(subject).to match_schema
+ expect(subject[:licenses]).not_to be_empty
+ expect(subject[:dependencies]).not_to be_empty
+ expect(subject.dependency_names).to include('rails')
+ expect(subject.dependency_names).to include('vue')
+ end
+ end
end