class CocoaPodsGitlabLicenseReport::PostInstallHookHandler
Public Class Methods
new(context, options, generator = nil)
click to toggle source
# File lib/cocoapods-gitlab_license_report.rb, line 7 def initialize(context, options, generator = nil) @context = context @options = options sandbox = @context.sandbox if defined? @context.sandbox sandbox ||= Pod::Sandbox.new(@context.sandbox_root) @generator = generator || ReportGenerator.new(sandbox) end
Public Instance Methods
handle!()
click to toggle source
# File lib/cocoapods-gitlab_license_report.rb, line 15 def handle! Pod::UI.section 'Generating Gitlab licenses report' do report_path = @options["report_path"] || 'reports/licenses.json' excluded_pods = Set.new(@options["exclude"]) installed_specs = @context.umbrella_targets.flat_map(&:specs).map(&:root).uniq licenses_report = @generator.generate(installed_specs, excluded_pods) Dir.mkdir File.dirname(report_path) unless File.exist? File.dirname(report_path) File.write(report_path, licenses_report.to_json) end end