Sha256: 8c616d6245fe8294f0237608d4e99990e71c5330a43615a9003776de304e3274
Contents?: true
Size: 943 Bytes
Versions: 3
Compression:
Stored size: 943 Bytes
Contents
require 'xmlsimple' require_relative 'gradle_dependency_finder' module LicenseFinder class Gradle < PackageManager def initialize(options={}) super @command = options[:gradle_command] || 'gradle' end def current_packages command = "#{@command} downloadLicenses" output, success = Dir.chdir(project_path) { capture(command) } raise "Command '#{command}' failed to execute: #{output}" unless success dependencies = GradleDependencyFinder.new(project_path).dependencies packages = dependencies.flat_map do |xml_file| options = {'GroupTags' => {'dependencies' => 'dependency'}} contents = XmlSimple.xml_in(xml_file, options).fetch('dependency', []) contents.map do |dep| GradlePackage.new(dep, logger: logger) end end packages.uniq end private def package_path project_path.join('build.gradle') end end end
Version data entries
3 entries across 3 versions & 1 rubygems