Class: LicenseFinder::Gradle

Inherits:
PackageManager show all
Defined in:
lib/license_finder/package_managers/gradle.rb

Instance Method Summary collapse

Methods inherited from PackageManager

#active?, current_packages, #current_packages_with_relations, package_managers

Constructor Details

#initialize(options = {}) ⇒ Gradle

Returns a new instance of Gradle.



5
6
7
8
# File 'lib/license_finder/package_managers/gradle.rb', line 5

def initialize(options={})
  super
  @command = options[:gradle_command] || "gradle"
end

Instance Method Details

#current_packagesObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/license_finder/package_managers/gradle.rb', line 10

def current_packages
  `#{@command} downloadLicenses`

  xml = license_report.read

  options = {
    'GroupTags' => { 'dependencies' => 'dependency' }
  }
  dependencies = XmlSimple.xml_in(xml, options).fetch('dependency', [])

  dependencies.map do |dep|
    GradlePackage.new(dep, logger: logger)
  end
end