Sha256: 570c481d6a5bbcd8df1759a8a0e8a0758be84f2c2e5af4a060d4b23a5cb18989

Contents?: true

Size: 686 Bytes

Versions: 1

Compression:

Stored size: 686 Bytes

Contents

require "xmlsimple"

module LicenseFinder
  class Gradle < PackageManager
    def initialize(options={})
      super
      @command = options[:gradle_command] || "gradle"
    end

    def current_packages
      `#{@command} downloadLicenses`

      xml = license_report.read

      options = {
        'GroupTags' => { 'dependencies' => 'dependency' }
      }
      XmlSimple.xml_in(xml, options).fetch('dependency', []).map do |dep|
        GradlePackage.new(dep, logger: logger)
      end
    end

    private

    def license_report
      Pathname.new('build/reports/license/dependency-license.xml')
    end

    def package_path
      Pathname.new('build.gradle')
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
license_finder-2.0.0.rc2 lib/license_finder/package_managers/gradle.rb