Sha256: 0f93bb9de36521bf4a0fbdb1e4dfd934e1b4d7dc21f96a2e889139c1e13f79a0
Contents?: true
Size: 894 Bytes
Versions: 4
Compression:
Stored size: 894 Bytes
Contents
# frozen_string_literal: true require 'license_finder/package_utils/conan_info_parser' module LicenseFinder class Conan < PackageManager def possible_package_paths [project_path.join('conanfile.txt')] end def current_packages install_command = 'conan install .' info_command = 'conan info .' Dir.chdir(project_path) { Cmd.run(install_command) } info_output, _stderr, _status = Dir.chdir(project_path) { Cmd.run(info_command) } info_parser = ConanInfoParser.new deps = info_parser.parse(info_output) deps.map do |dep| name, version = dep['name'].split('/') url = dep['URL'] license_file_path = Dir.glob("#{project_path}/licenses/#{name}/**/LICENSE*").first ConanPackage.new(name, version, File.open(license_file_path).read, url) unless name == 'conanfile.txt' end.compact end end end
Version data entries
4 entries across 4 versions & 1 rubygems