Method: Fastlane::EnvironmentPrinter.print_loaded_fastlane_gems

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


97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# File 'fastlane/lib/fastlane/environment_printer.rb', line 97

def self.print_loaded_fastlane_gems
  # fastlanes internal gems
  env_output = "### fastlane gems\n\n"
  table = ""
  table << "| Gem | Version | Update-Status |\n"
  table << "|-----|---------|------------|\n"
  fastlane_tools = Fastlane::TOOLS + [:fastlane_core, :credentials_manager]

  gems_to_check.each do |current_gem|
    update_status = "N/A"

    next unless fastlane_tools.include?(current_gem.name.to_sym)
    begin
      latest_version = FastlaneCore::UpdateChecker.fetch_latest(current_gem.name)
      if Gem::Version.new(current_gem.version) >= Gem::Version.new(latest_version)
        update_status = "✅ Up-To-Date"
      else
        update_status = "🚫 Update available"
      end
    rescue
      update_status = "💥 Check failed"
    end
    table << "| #{current_gem.name} | #{current_gem.version} | #{update_status} |\n"
  end

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

  env_output << "\n\n"

  return env_output
end