Class: LicenseFinder::Gradle
- Inherits:
-
PackageManager
- Object
- PackageManager
- LicenseFinder::Gradle
- Defined in:
- lib/license_finder/package_managers/gradle.rb
Class Method Summary collapse
Instance Method Summary collapse
- #current_packages ⇒ Object
-
#initialize(options = {}) ⇒ Gradle
constructor
A new instance of Gradle.
Methods inherited from PackageManager
#active?, #capture, command_exists?, current_packages, #current_packages_with_relations, installed?, package_managers
Constructor Details
#initialize(options = {}) ⇒ Gradle
Returns a new instance of Gradle.
6 7 8 9 10 |
# File 'lib/license_finder/package_managers/gradle.rb', line 6 def initialize(={}) super @command = [:gradle_command] || 'gradle --console plain' @include_groups = [:gradle_include_groups] end |
Class Method Details
.package_management_command ⇒ Object
29 30 31 |
# File 'lib/license_finder/package_managers/gradle.rb', line 29 def self.package_management_command "gradle" end |
Instance Method Details
#current_packages ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/license_finder/package_managers/gradle.rb', line 12 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| = {'GroupTags' => {'dependencies' => 'dependency'}} contents = XmlSimple.xml_in(xml_file, ).fetch('dependency', []) contents.map do |dep| GradlePackage.new(dep, logger: logger, include_groups: @include_groups) end end packages.uniq end |