Class: LicenseFinder::CLI::Main

Inherits:
Base
  • Object
show all
Extended by:
Rootcommand
Defined in:
lib/license_finder/cli/main.rb

Constant Summary collapse

FORMATS =
{
  'text' => TextReport,
  'html' => HtmlReport,
  'markdown' => MarkdownReport,
  'csv' => CsvReport
}

Instance Method Summary collapse

Methods included from Rootcommand

subcommand

Instance Method Details

#action_itemsObject



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/license_finder/cli/main.rb', line 37

def action_items
  any_packages = license_finder.any_packages?
  unapproved = license_finder.unapproved
  blacklisted = license_finder.blacklisted

  # Ensure to start output on a new line even with dot progress indicators.
  say "\n"

  unless any_packages
    say "No dependencies recognized!", :red
    exit 0
  end

  if unapproved.empty?
    say "All dependencies are approved for use", :green
  else
    unless blacklisted.empty?
      say "Blacklisted dependencies:", :red
      say report_of(blacklisted)
    end

    other_unapproved = unapproved - blacklisted
    unless other_unapproved.empty?
      say "Dependencies that need approval:", :yellow
      say report_of(other_unapproved)
    end

    exit 1
  end
end

#diff(file1, file2) ⇒ Object



95
96
97
98
99
100
# File 'lib/license_finder/cli/main.rb', line 95

def diff(file1, file2)
  f1 = IO.read(file1)
  f2 = IO.read(file2)
  report = DiffReport.new(Diff.compare(f1, f2))
  save? ? save_report(report, options[:save]) : say(report)
end

#reportObject



72
73
74
75
76
77
78
79
80
81
82
83
84
85
# File 'lib/license_finder/cli/main.rb', line 72

def report
  logger_config[:quiet] = true

  subproject_paths = options[:subprojects] if subprojects?
  subproject_paths = ProjectFinder.new(license_finder.config.project_path).find_projects if recursive?

  if subproject_paths && !subproject_paths.empty?
    finder = LicenseAggregator.new(license_finder_config, subproject_paths)
    report = MergedReport.new(finder.dependencies, options)
  else
    report = report_of(license_finder.acknowledged)
  end
  save? ? save_report(report, options[:save]) : say(report)
end

#versionObject



89
90
91
# File 'lib/license_finder/cli/main.rb', line 89

def version
  puts LicenseFinder::VERSION
end