Sha256: 897ff80c737fcdf7da1da1b58c045c8426f266ea02c86afcbbd265172a330f3a

Contents?: true

Size: 1.64 KB

Versions: 264

Compression:

Stored size: 1.64 KB

Contents

module FastlaneCore
  class CrashReportGenerator
    class << self
      def generate(exception: nil)
        message = format_crash_report_message(exception: exception)
        crash_report_payload(message: message)
      end

      private

      def format_crash_report_message(exception: nil)
        return if exception.nil?
        backtrace = exception.respond_to?(:trimmed_backtrace) ? exception.trimmed_backtrace : exception.backtrace
        backtrace = FastlaneCore::CrashReportSanitizer.sanitize_backtrace(backtrace: backtrace).join("\n")

        if exception.fastlane_crash_came_from_plugin?
          message = '[PLUGIN_CRASH]'
        elsif exception.respond_to?(:prefix)
          message = exception.prefix
        else
          message = '[EXCEPTION]'
        end

        message += ': '

        if exception.respond_to?(:crash_report_message)
          exception_message = FastlaneCore::CrashReportSanitizer.sanitize_string(string: exception.crash_report_message)
        else
          exception_message = "#{exception.class.name}: #{FastlaneCore::CrashReportSanitizer.sanitize_string(string: exception.message)}"
        end

        message += exception_message
        message = message[0..100]
        message += "\n" unless exception.respond_to?(:could_contain_pii?) && exception.could_contain_pii?
        message + backtrace
      end

      def crash_report_payload(message: '')
        {
          'eventTime' => Time.now.utc.to_datetime.rfc3339,
          'serviceContext' => {
            'service' => 'fastlane',
            'version' => Fastlane::VERSION
          },
          'message' => message
        }.to_json
      end
    end
  end
end

Version data entries

264 entries across 264 versions & 1 rubygems

Version Path
fastlane-2.74.0.beta.20180106010004 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.73.0 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.73.0.beta.20180105010003 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.73.0.beta.20180104010004 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.73.0.beta.20180103010003 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.72.0 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.72.0.beta.20180102010003 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.72.0.beta.20180101010003 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.72.0.beta.20171231010003 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.71.1 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.72.0.beta.20171230010003 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.72.0.beta.20171229010003 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.72.0.beta.20171228010004 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.71.0 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.71.0.beta.20171227010004 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.71.0.beta.20171226010004 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.71.0.beta.20171225010003 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.71.0.beta.20171224010003 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.71.0.beta.20171223010003 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.71.0.beta.20171222010003 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb