Sha256: 8dd8fca367d033d95f86461764fbad63df5f766fed655d1afb8d4f737fc5e358

Contents?: true

Size: 1.05 KB

Versions: 3

Compression:

Stored size: 1.05 KB

Contents

# frozen_string_literal: true

require 'rake'

module Rake
  module Funnel
    module Integration
      module TeamCity
        class ProgressReport < Rake::Funnel::Integration::ProgressReport
          include Rake::Funnel::Integration

          def initialize # rubocop:disable Metrics/MethodLength, Metrics/AbcSize, Metrics/CyclomaticComplexity
            super do
              task_starting do |task, _args|
                next unless TeamCity.running?

                ServiceMessages.block_opened(name: task.name) unless TeamCity.rake_runner?
              end

              task_finished do |task, _args, error|
                next unless TeamCity.running?

                error = error.inner_exception if error.respond_to?(:inner_exception)

                ServiceMessages.build_problem(description: error.message[0..4000 - 1]) if error

                next if Rake::Funnel::Integration::TeamCity.rake_runner?

                ServiceMessages.block_closed(name: task.name)
              end
            end
          end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rake-funnel-0.24.0 lib/rake/funnel/integration/teamcity/progress_report.rb
rake-funnel-0.23.0 lib/rake/funnel/integration/teamcity/progress_report.rb
rake-funnel-0.22.3 lib/rake/funnel/integration/teamcity/progress_report.rb