From bc29a9d7a98fab7de435d8a06007197efa189709 Mon Sep 17 00:00:00 2001 From: mo khan Date: Sat, 7 Mar 2020 15:03:26 -0700 Subject: Fix nuget specs --- lib/license/management.rb | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'lib') diff --git a/lib/license/management.rb b/lib/license/management.rb index 37fe1a0..9003ab1 100644 --- a/lib/license/management.rb +++ b/lib/license/management.rb @@ -12,6 +12,36 @@ require 'license/management/version' # This applies a monkey patch to the JsonReport found in the `license_finder` gem. LicenseFinder::JsonReport.prepend(License::Management::Report) +module LicenseFinder + class Nuget + def prepare_command + "mono /usr/local/bin/nuget.exe restore -Verbosity detailed" + end + + def license_urls(dependency) + filename = "#{dependency.name}.#{dependency.version}.nupkg" + files = Dir["**/#{filename}"] + + Dir.glob(File.join(Dir.home, '.nuget', 'packages', '**', '**', filename.downcase)) + + return if files.empty? + + Zip::File.open(files.first) do |zipfile| + Nuget.nuspec_license_urls(zipfile.read(dependency.name + '.nuspec')) + end + end + end + + module SharedHelpers + class Cmd + def self.run(command) + stdout, stderr, status = Open3.capture3(command) + puts command + puts stdout + [stdout, stderr, status] + end + end + end +end module License module Management -- cgit v1.2.3