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.54.0.beta.20170814010003 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.54.0.beta.20170813010002 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.54.0.beta.20170812010002 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.54.0.beta.20170811010002 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.53.1 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.53.0 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.53.0.beta.20170810010003 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.52.0 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.52.0.beta.20170809010003 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.52.0.beta.20170808010002 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.51.0 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.51.0.beta.20170807010003 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.51.0.beta.20170806010003 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.51.0.beta.20170805010003 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.51.0.beta.20170804010003 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.51.0.beta.20170803010003 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.50.1 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.51.0.beta.20170802010003 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.51.0.beta.20170801010002 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb
fastlane-2.50.0 fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb