blob: ebab5e25e0bd21ecfec6c077a8c0598cfaad1c0c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
# frozen_string_literal: true
require 'pathname'
require 'yaml'
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'
# 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
Pathname.new(File.dirname(__FILE__)).join('../..')
end
def self.http
@http ||= Net::Hippie::Client.new.tap do |client|
client.logger = ::Logger.new('http.log')
client.follow_redirects = 3
end
end
end
end
|