Skip to content

Commit fbc3982

Browse files
committed
Refactor progress logging, refs #60
1 parent 1630109 commit fbc3982

File tree

3 files changed

+31
-8
lines changed

3 files changed

+31
-8
lines changed

lib/pmdtester.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
require_relative 'pmdtester/resource_locator'
1414
require_relative 'pmdtester/runner'
1515

16+
require_relative 'pmdtester/builders/simple_progress_logger'
1617
require_relative 'pmdtester/builders/html_report_builder'
1718
require_relative 'pmdtester/builders/diff_builder'
1819
require_relative 'pmdtester/builders/diff_report/violations'

lib/pmdtester/builders/pmd_report_builder.rb

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -141,16 +141,11 @@ def generate_pmd_reports
141141

142142
sum_time = 0
143143
@projects.each do |project|
144-
logger.info "Starting to generate #{project.name}'s PMD report"
145-
message_counter = 1
146-
scheduler = Rufus::Scheduler.new
147-
scheduler.every '2m' do
148-
logger.info "Still generating #{project.name}'s PMD report (#{message_counter})..."
149-
message_counter += 1
150-
end
144+
progress_logger = SimpleProgressLogger.new(project.name)
145+
progress_logger.start
151146
generate_config_for(project)
152147
execution_time, end_time = generate_pmd_report(project)
153-
scheduler.shutdown
148+
progress_logger.stop
154149
sum_time += execution_time
155150

156151
report_details = PmdReportDetail.new
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# frozen_string_literal: true
2+
3+
require 'rufus-scheduler'
4+
5+
module PmdTester
6+
# Helper class that provides a simple progress logging
7+
class SimpleProgressLogger
8+
include PmdTester
9+
def initialize(project_name)
10+
@project_name = project_name
11+
end
12+
13+
def start
14+
logger.info "Starting to generate #{@project_name}'s PMD report"
15+
message_counter = 1
16+
@scheduler = Rufus::Scheduler.new
17+
@scheduler.every '2m' do
18+
logger.info "Still generating #{@project_name}'s PMD report (#{message_counter})..."
19+
message_counter += 1
20+
end
21+
end
22+
23+
def stop
24+
@scheduler.shutdown
25+
end
26+
end
27+
end

0 commit comments

Comments
 (0)