bin/licensee in licensee-8.4.0 vs bin/licensee in licensee-8.5.0
- old
+ new
@@ -2,25 +2,35 @@
require_relative '../lib/licensee'
path = ARGV[0] || Dir.pwd
-def print_file(license_file)
- if license_file
- puts "License file: #{license_file.filename}"
- puts "Attribution: #{license_file.attribution}" if license_file.attribution
- end
+def format_percent(float)
+ "#{format('%.2f', float)}%"
end
-def print_evaluation(file)
- if file
- puts "License: #{file.license ? file.license.meta['title'] : 'no license'}"
- puts "Confidence: #{format('%.2f', file.confidence)}%" if file.confidence
- puts "Method: #{file.matcher.class}" if file.matcher
+project = Licensee.project(path, detect_packages: true, detect_readme: true)
+license_file = project.license_file
+matched_file = project.matched_file
+
+if license_file
+ puts "License file: #{license_file.filename}"
+ puts "Attribution: #{license_file.attribution}" if license_file.attribution
+end
+
+if matched_file
+ if matched_file.license
+ puts "License: #{matched_file.license.meta['title']}"
+ puts "Confidence: #{format_percent(matched_file.confidence)}" if matched_file.confidence
+ puts "Method: #{matched_file.matcher.class}" if matched_file.matcher
else
- puts 'Unknown'
+ puts 'License: Not detected'
+ puts
+ puts "Here's the closest licenses:"
+ matcher = Licensee::Matchers::Dice.new(matched_file)
+ matcher.licenses_by_similiarity[0...3].each do |license, similarity|
+ puts "* #{license.meta['spdx-id']} similarity: #{format_percent(similarity)}"
+ end
end
+else
+ puts 'Unknown'
end
-
-project = Licensee.project(path, detect_packages: true, detect_readme: true)
-print_file(project.license_file)
-print_evaluation(project.matched_file)