Sha256: f0b7229f5e0ae8d02eeedd88812b3717c18de4db6ab763215e19c14b893ff847
Contents?: true
Size: 901 Bytes
Versions: 6
Compression:
Stored size: 901 Bytes
Contents
require "xmlsimple" module LicenseFinder class Maven < PackageManager def current_packages command = 'mvn license:download-licenses' output, success = Dir.chdir(project_path) { capture(command) } raise "Command '#{command}' failed to execute: #{output}" unless success xml = license_report.read options = { 'GroupTags' => { 'licenses' => 'license', 'dependencies' => 'dependency' }, 'ForceArray' => ['license', 'dependency'] } dependencies = XmlSimple.xml_in(xml, options)["dependencies"] dependencies.map do |dep| MavenPackage.new(dep, logger: logger) end end def self.package_management_command "mvn" end private def license_report project_path.join('target/generated-resources/licenses.xml') end def package_path project_path.join('pom.xml') end end end
Version data entries
6 entries across 6 versions & 1 rubygems