summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormo khan <mo.khan@gmail.com>2020-02-24 11:52:08 -0700
committermo khan <mo.khan@gmail.com>2020-02-24 11:52:08 -0700
commitbc4d4633ea7da54f98d99ecf8187357c6f65f394 (patch)
treec37a96e787f01fd56b71bc6b0851319404225208
parentb4c34c22d4e36ac089ec83b492ae8d4dd4217f7d (diff)
parent525d7cb9a30bb14306d6a00919dc25313c632b64 (diff)
Merge remote-tracking branch 'origin/master' into 33727-asdf
-rw-r--r--.env.12-10-stable1
-rw-r--r--.env.12-9-stable1
-rw-r--r--.gitlab/release.yml10
-rw-r--r--CHANGELOG.md8
-rw-r--r--Gemfile.lock3
-rw-r--r--lib/license/management.rb22
-rw-r--r--lib/license/management/python/pipenv.rb64
-rw-r--r--lib/license/management/python/pypi.rb44
-rw-r--r--license-management.gemspec3
9 files changed, 22 insertions, 134 deletions
diff --git a/.env.12-10-stable b/.env.12-10-stable
new file mode 100644
index 0000000..0ee1d53
--- /dev/null
+++ b/.env.12-10-stable
@@ -0,0 +1 @@
+LM_REPORT_VERSION '2.0'
diff --git a/.env.12-9-stable b/.env.12-9-stable
new file mode 100644
index 0000000..0ee1d53
--- /dev/null
+++ b/.env.12-9-stable
@@ -0,0 +1 @@
+LM_REPORT_VERSION '2.0'
diff --git a/.gitlab/release.yml b/.gitlab/release.yml
index 5d0950d..2f24dbb 100644
--- a/.gitlab/release.yml
+++ b/.gitlab/release.yml
@@ -12,6 +12,16 @@ major:
latest:
extends: .release
+12-10-stable:
+ extends: .release
+ variables:
+ DOTENV: ".env.12-10-stable"
+
+12-9-stable:
+ extends: .release
+ variables:
+ DOTENV: ".env.12-9-stable"
+
12-8-stable:
extends: .release
variables:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 17fdfc8..03fa02a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,14 @@
- Use asdf version manager to install custom tools (!98)
+## v2.5.1
+
+- Install bundler `1.x` and `2.x` (!116)
+
+## v2.5.0
+
+- Upgrade [LicenseFinder](https://github.com/pivotal/LicenseFinder/releases/tag/v6.0.0) to version `6.0.0` (!112)
+
## v2.4.3
- Add support for `gradlew` (!109)
diff --git a/Gemfile.lock b/Gemfile.lock
index 2eb537a..d687775 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -13,14 +13,13 @@ GEM
diff-lcs (1.3)
json-schema (2.8.1)
addressable (>= 2.4)
- license_finder (5.11.1)
+ license_finder (6.0.0)
bundler
rubyzip (>= 1, < 3)
thor
toml (= 0.2.0)
with_env (= 1.1.0)
xml-simple
- net-hippie (0.3.2)
parslet (1.8.2)
public_suffix (4.0.3)
rspec (3.9.0)
diff --git a/lib/license/management.rb b/lib/license/management.rb
index ebab5e2..37fe1a0 100644
--- a/lib/license/management.rb
+++ b/lib/license/management.rb
@@ -6,8 +6,6 @@ require 'json'
require 'license_finder'
require 'license/management/loggable'
require 'license/management/verifiable'
-require 'license/management/python/pipenv'
-require 'license/management/python/pypi'
require 'license/management/repository'
require 'license/management/report'
require 'license/management/version'
@@ -15,26 +13,6 @@ require 'license/management/version'
# This applies a monkey patch to the JsonReport found in the `license_finder` gem.
LicenseFinder::JsonReport.prepend(License::Management::Report)
-# This monkey patch can be removed once https://github.com/pivotal/LicenseFinder/pull/659 is released
-LicenseFinder::Scanner.const_set(
- :PACKAGE_MANAGERS,
- LicenseFinder::Scanner::PACKAGE_MANAGERS + [License::Management::Pipenv]
-)
-
-# This monkey patch can be removed once we upgrade to license_finder 5.9.2. Details [here](https://gitlab.com/gitlab-org/gitlab/issues/13748#note_235810786).
-module LicenseFinder
- class Bundler < PackageManager
- def definition
- @definition ||=
- begin
- Dir.chdir(project_path.to_s) do
- ::Bundler::Definition.build(detected_package_path, lockfile_path, nil)
- end
- end
- end
- end
-end
-
module License
module Management
def self.root
diff --git a/lib/license/management/python/pipenv.rb b/lib/license/management/python/pipenv.rb
deleted file mode 100644
index 482fd25..0000000
--- a/lib/license/management/python/pipenv.rb
+++ /dev/null
@@ -1,64 +0,0 @@
-# frozen_string_literal: true
-
-module License
- module Management
- class Pipenv < LicenseFinder::PackageManager
- include Loggable
-
- def initialize(options = {})
- super
- @lockfile = Pathname('Pipfile.lock')
- end
-
- def current_packages
- @current_packages ||=
- begin
- packages = {}
- each_dependency(groups: allowed_groups) do |name, data, group|
- version = canonicalize(data['version'])
- package = packages.fetch(key_for(name, version)) do |key|
- packages[key] = build_package_for(name, version)
- end
- package.groups << group
- end
- packages.values
- end
- end
-
- def possible_package_paths
- project_path ? [project_path.join(@lockfile)] : [@lockfile]
- end
-
- private
-
- def each_dependency(groups: [])
- dependencies = JSON.parse(IO.read(detected_package_path))
- groups.each do |group|
- dependencies[group].each do |name, data|
- yield name, data, group
- end
- end
- end
-
- def canonicalize(version)
- version.sub(/^==/, '')
- end
-
- def build_package_for(name, version)
- LicenseFinder::PipPackage.new(name, version, PyPI.definition(name, version))
- end
-
- def key_for(name, version)
- "#{name}-#{version}"
- end
-
- def allowed_groups
- %w[default develop] - ignored_groups
- end
-
- def ignored_groups
- @ignored_groups.to_a || []
- end
- end
- end
-end
diff --git a/lib/license/management/python/pypi.rb b/lib/license/management/python/pypi.rb
deleted file mode 100644
index 0397532..0000000
--- a/lib/license/management/python/pypi.rb
+++ /dev/null
@@ -1,44 +0,0 @@
-# frozen_string_literal: true
-
-require 'net/hippie'
-
-module License
- module Management
- class PyPI
- include Loggable
-
- def initialize(http)
- @http = http
- end
-
- def definition_for(name, version)
- uri = "https://pypi.org/pypi/#{name}/#{version}/json"
- process(@http.with_retry { |client| client.get(uri) }).tap do |definition|
- log_info([name, version, definition["license"]].inspect)
- end
- rescue *Net::Hippie::CONNECTION_ERRORS
- {}
- end
-
- class << self
- def definition(name, version)
- @pypi ||= new(License::Management.http)
- @pypi.definition_for(name, version)
- end
- end
-
- private
-
- def process(response)
- return JSON.parse(response.body).fetch('info', {}) if ok?(response)
-
- log_error([response.class, response.code, response.body].inspect)
- {}
- end
-
- def ok?(response)
- response.is_a?(Net::HTTPSuccess)
- end
- end
- end
-end
diff --git a/license-management.gemspec b/license-management.gemspec
index 60ab5e1..1ff11b0 100644
--- a/license-management.gemspec
+++ b/license-management.gemspec
@@ -27,8 +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', '~> 5.11'
- spec.add_dependency 'net-hippie', '~> 0.3'
+ spec.add_dependency 'license_finder', '~> 6.0.0'
spec.add_development_dependency 'json-schema', '~> 2.8'
spec.add_development_dependency 'rspec', '~> 3.9'
end