lib/fastlane/environment_printer.rb in fastlane-1.106.2 vs lib/fastlane/environment_printer.rb in fastlane-1.107.0
- old
+ new
@@ -1,24 +1,41 @@
module Fastlane
class EnvironmentPrinter
+ def self.output
+ env_info = get
+ puts env_info
+ if FastlaneCore::Helper.mac? && UI.interactive? && UI.confirm("🙄 Wow, that's a lot of markdown text... should fastlane put it into your clipboard, so you can easily paste it on GitHub?")
+ copy_to_clipboard(env_info)
+ UI.success("Successfully copied markdown into your clipboard 🎨")
+ end
+ UI.success("Open https://github.com/fastlane/fastlane/issues/new to submit a new issue ✅")
+ end
+
def self.get
UI.important("Generating fastlane environment output, this might take a few seconds...")
require "fastlane/markdown_table_formatter"
env_output = ""
env_output << print_system_environment
env_output << print_fastlane_files
env_output << print_loaded_fastlane_gems
env_output << print_loaded_plugins
env_output << print_loaded_gems
env_output << print_date
- env_output << "</details>"
# Adding title
status = (env_output.include?("🚫") ? "🚫" : "✅")
env_header = "<details><summary>#{status} fastlane environment #{status}</summary>\n\n"
+ env_tail = "</details>"
+ final_output = ""
- return env_header + env_output
+ if $captured_output
+ final_output << "### Captured Output\n\n"
+ final_output << "Command Used: `#{ARGV.join(' ')}`\n"
+ final_output << "<details><summary>Output/Log</summary>\n\n```\n\n#{$captured_output}\n\n```\n\n</details>\n\n"
+ end
+
+ final_output << env_header + env_output + env_tail
end
def self.print_date
date = Time.now.strftime("%Y-%m-%d")
"\n*generated on:* **#{date}**\n"
@@ -29,10 +46,10 @@
env_output = "### Loaded fastlane plugins:\n"
env_output << "\n"
plugin_manager = Fastlane::PluginManager.new
plugin_manager.load_plugins
if plugin_manager.available_plugins.length <= 0
- env_output << "**No plugins Loaded***\n"
+ env_output << "**No plugins Loaded**\n"
else
table = ""
table << "| Plugin | Version | Update-Status |\n"
table << "|--------|---------|\n"
plugin_manager.available_plugins.each do |plugin|