Method: Fastlane::EnvironmentPrinter.print_loaded_plugins

Defined in:
fastlane/lib/fastlane/environment_printer.rb


52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# File 'fastlane/lib/fastlane/environment_printer.rb', line 52

def self.print_loaded_plugins
  env_output =  "### Loaded fastlane plugins:\n"
  env_output << "\n"
  plugin_manager = Fastlane::PluginManager.new
  plugin_manager.load_plugins(print_table: false)

  if plugin_manager.available_plugins.length <= 0
    env_output << "**No plugins Loaded**\n"
  else
    table = ""
    table << "| Plugin | Version | Update-Status |\n"
    table << "|--------|---------|\n"
    plugin_manager.available_plugins.each do |plugin|
      begin
        installed_version = Fastlane::ActionCollector.determine_version(plugin)
        latest_version = FastlaneCore::UpdateChecker.fetch_latest(plugin)
        if Gem::Version.new(installed_version) == Gem::Version.new(latest_version)
          update_status = "✅ Up-To-Date"
        else
          update_status = "🚫 Update available"
        end
      rescue
        update_status = "💥 Check failed"
      end
      table << "| #{plugin} | #{installed_version} | #{update_status} |\n"
    end

    rendered_table = MarkdownTableFormatter.new(table)
    env_output << rendered_table.to_md
  end

  env_output << "\n\n"
  env_output
end