Class: CocoaPodsGitlabLicenseReport::PostInstallHookHandler
- Inherits:
-
Object
- Object
- CocoaPodsGitlabLicenseReport::PostInstallHookHandler
- Defined in:
- lib/cocoapods-gitlab_license_report.rb
Instance Method Summary collapse
- #handle! ⇒ Object
-
#initialize(context, options, generator = nil) ⇒ PostInstallHookHandler
constructor
A new instance of PostInstallHookHandler.
Constructor Details
#initialize(context, options, generator = nil) ⇒ PostInstallHookHandler
Returns a new instance of PostInstallHookHandler.
7 8 9 10 11 |
# File 'lib/cocoapods-gitlab_license_report.rb', line 7 def initialize(context, , generator = nil) @context = context @options = @generator = generator || ReportGenerator.new(@context) end |
Instance Method Details
#handle! ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/cocoapods-gitlab_license_report.rb', line 13 def handle! Pod::UI.section 'Generating Gitlab licenses report' do report_path = @options["report_path"] || 'reports/licenses.json' excluded_pods = Set.new(@options["exclude"]) sandbox = @context.sandbox if defined? @context.sandbox sandbox ||= Pod::Sandbox.new(@context.sandbox_root) installed_specs = @context.umbrella_targets.flat_map(&:specs).map(&:root).uniq licenses_report = @generator.generate(installed_specs, excluded_pods, context.sandbox) Dir.mkdir File.dirname(report_path) unless File.exist? File.dirname(report_path) File.write(report_path, licenses_report.to_json) end end |