diff --git a/lib/license_finder/package_managers/go_modules.rb b/lib/license_finder/package_managers/go_modules.rb index 60153d5c6..1e720ef43 100644 --- a/lib/license_finder/package_managers/go_modules.rb +++ b/lib/license_finder/package_managers/go_modules.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +require 'license_finder/packages/go_package' + module LicenseFinder class GoModules < PackageManager PACKAGES_FILE = 'go.sum' @@ -48,7 +50,13 @@ def read_package(file_path, line) name = parts[0] version = parts[1] - Package.new(name, version, install_path: install_path) + info = { + 'ImportPath' => name, + 'InstallPath' => install_path, + 'Rev' => version + } + + GoPackage.from_dependency(info, nil, true) end end end diff --git a/lib/license_finder/packages/go_package.rb b/lib/license_finder/packages/go_package.rb index 988949239..dee88d901 100644 --- a/lib/license_finder/packages/go_package.rb +++ b/lib/license_finder/packages/go_package.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +require 'license_finder/package' + module LicenseFinder class GoPackage < Package def package_manager diff --git a/spec/lib/license_finder/package_managers/go_modules_spec.rb b/spec/lib/license_finder/package_managers/go_modules_spec.rb index 1c59a2e9a..8fe512307 100644 --- a/spec/lib/license_finder/package_managers/go_modules_spec.rb +++ b/spec/lib/license_finder/package_managers/go_modules_spec.rb @@ -16,6 +16,9 @@ module LicenseFinder describe '#current_packages' do before do FakeFS.activate! + + FileUtils.mkdir_p(vendor_path) + File.write(sum_path, content) end after do @@ -32,9 +35,6 @@ module LicenseFinder end it 'finds all the packages all go.sum files' do - FileUtils.mkdir_p(vendor_path) - File.write(sum_path, content) - packages = subject.current_packages expect(packages.length).to eq 2 @@ -45,6 +45,12 @@ module LicenseFinder expect(packages.last.name).to eq 'gopkg.in/yaml.v2' expect(packages.last.version).to eq 'v2.2.1' end + + it 'list packages as Go packages' do + packages = subject.current_packages + + expect(packages.first.package_manager).to eq 'Go' + end end describe '.prepare_command' do