Skip to content

Commit 9a6c4ae

Browse files
authored
Update rubocop configuration (#125)
And fix issues
1 parent 3ae2dc7 commit 9a6c4ae

21 files changed

+126
-108
lines changed

.rubocop.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ inherit_from: .rubocop_todo.yml
22

33
AllCops:
44
TargetRubyVersion: 2.7
5+
NewCops: enable
56
Include:
67
- 'lib/**/*'
78
- 'test/**/*'
@@ -13,7 +14,7 @@ AllCops:
1314
- 'test/resources/**/*'
1415
- 'vendor/**/*'
1516

16-
Metrics/LineLength:
17+
Layout/LineLength:
1718
Max: 120
1819

1920
Metrics/MethodLength:

History.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
## Enhancements
66
* [#123](https://github.com/pmd/pmd-regression-tester/pull/123): Support ruby 3.3.0
7+
* [#125](https://github.com/pmd/pmd-regression-tester/pull/125): Update rubocop configuration
78

89
## Fixed Issues
910
* [#126](https://github.com/pmd/pmd-regression-tester/pull/126): Fix integration tests

lib/pmdtester/builders/pmd_report_builder.rb

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def get_pmd_binary_file
3737
logger.debug "#{@pmd_branch_name}: distro_path=#{distro_path}"
3838
if File.directory?(distro_path)
3939
logger.info "#{@pmd_branch_name}: Skipping packaging - saved version exists " \
40-
" in #{distro_path}"
40+
"in #{distro_path}"
4141
else
4242
build_pmd(into_dir: distro_path)
4343
end
@@ -174,7 +174,7 @@ def checkout_build_branch
174174

175175
# working dir is dirty....
176176
# we don't allow this because we need the SHA to address the zip file
177-
logger.error "#{@pmd_branch_name}: Won\'t build without a clean working tree, " \
177+
logger.error "#{@pmd_branch_name}: Won't build without a clean working tree, " \
178178
'commit your changes'
179179
end
180180

@@ -186,8 +186,8 @@ def work_dir
186186
# e.g. <cwd>/pmd-bin-<version>-<branch>-<sha>
187187
def saved_distro_path(build_sha)
188188
"#{work_dir}/pmd-bin-#{@pmd_version}" \
189-
"-#{PmdBranchDetail.branch_filename(@pmd_branch_name)}" \
190-
"-#{build_sha}"
189+
"-#{PmdBranchDetail.branch_filename(@pmd_branch_name)}" \
190+
"-#{build_sha}"
191191
end
192192

193193
def wd_has_dirty_git_changes
@@ -247,15 +247,15 @@ def find_pmd_dist_target
247247

248248
def build_pmd_with_maven
249249
logger.info "#{@pmd_branch_name}: Building PMD #{@pmd_version}..."
250-
package_cmd = './mvnw clean package' \
251-
" -s #{ResourceLocator.resource('maven-settings.xml')} " \
252-
' -Pfor-dokka-maven-plugin' \
253-
' -Dmaven.test.skip=true' \
254-
' -Dmaven.javadoc.skip=true' \
255-
' -Dmaven.source.skip=true' \
256-
' -Dcheckstyle.skip=true' \
257-
' -Dpmd.skip=true' \
258-
' -T1C -B'
250+
package_cmd = './mvnw clean package ' \
251+
"-s #{ResourceLocator.resource('maven-settings.xml')} " \
252+
'-Pfor-dokka-maven-plugin ' \
253+
'-Dmaven.test.skip=true ' \
254+
'-Dmaven.javadoc.skip=true ' \
255+
'-Dmaven.source.skip=true ' \
256+
'-Dcheckstyle.skip=true ' \
257+
'-Dpmd.skip=true ' \
258+
'-T1C -B'
259259
logger.debug "#{@pmd_branch_name}: maven command: #{package_cmd}"
260260
Cmd.execute_successfully(package_cmd)
261261
end

lib/pmdtester/builders/rule_set_builder.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ def output_filter_set(rule_refs)
5252
end
5353

5454
logger.info "Using filter based on patch config #{@options.patch_config}: " \
55-
"#{@options.filter_set}"
55+
"#{@options.filter_set}"
5656
else
5757
# if `rule_refs` is empty, then no filter can be used when comparing to the baseline
5858
logger.info 'No filter when comparing patch to baseline'
@@ -90,7 +90,7 @@ def get_rule_refs(filenames)
9090
def build_config_file(rule_refs)
9191
if rule_refs.empty?
9292
logger.debug 'All rules are used. Not generating a dynamic ruleset.'
93-
logger.debug "Using the configured/default ruleset base_config=#{@options.base_config} "\
93+
logger.debug "Using the configured/default ruleset base_config=#{@options.base_config} " \
9494
"patch_config=#{@options.patch_config}"
9595
return
9696
end

lib/pmdtester/collection_by_file.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ module PmdTester
77
class CollectionByFile
88
def initialize
99
# a hash of filename -> [list of items]
10-
@hash = Hash.new([])
10+
@hash = {}
1111
@total = 0
1212
end
1313

lib/pmdtester/parsers/options.rb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,9 @@ def parse(argv)
9595
'path to the file which contains the list of standard projects',
9696
default: DEFAULT_LIST_PATH
9797
o.string '-m', '--mode', mode_message, default: 'local'
98-
o.integer '-t', '--threads', 'Sets the number of threads used by PMD.' \
99-
' Set threads to 0 to disable multi-threading processing.', default: 1
98+
o.integer '-t', '--threads',
99+
'Sets the number of threads used by PMD. Set threads to 0 to disable ' \
100+
'multi-threading processing.', default: 1
100101
o.bool '-f', '--html-flag',
101102
'whether to not generate the html diff report in single mode'
102103
o.bool '-a', '--auto-gen-config',

lib/pmdtester/parsers/projects_parser.rb

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,7 @@ def parse(list_file)
1313
errors = schema.validate(document)
1414
raise ProjectsParserException.new(errors), "Schema validate failed: In #{list_file}" unless errors.empty?
1515

16-
projects = []
17-
document.xpath('//project').each do |project|
18-
projects.push(Project.new(project))
19-
end
20-
projects
16+
document.xpath('//project').map { |project| Project.new(project) }
2117
end
2218

2319
def schema_file_path

lib/pmdtester/pmd_branch_detail.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ def initialize(branch_name)
3232
@execution_time = 0
3333
# the result of command 'java -version' is going to stderr
3434
@jdk_version = Cmd.stderr_of('java -version')
35-
@language = ENV['LANG'] # the locale
35+
@language = ENV.fetch('LANG') # the locale
3636

37-
prnum = ENV[PR_NUM_ENV_VAR]
37+
prnum = ENV.fetch(PR_NUM_ENV_VAR, 'false')
3838
@pull_request = prnum == 'false' ? nil : prnum
3939
end
4040

lib/pmdtester/runner.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ def run
2727

2828
def clean
2929
clean_target = 'target/reports'
30-
FileUtils.remove_dir(clean_target) if Dir.exist?(clean_target)
30+
FileUtils.rm_rf(clean_target)
3131
end
3232

3333
def run_local_mode

pmdtester.gemspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ Gem::Specification.new do |s|
1111
s.metadata = { "bug_tracker_uri" => "https://github.com/pmd/pmd-regression-tester/issues", "homepage_uri" => "https://pmd.github.io", "source_code_uri" => "https://github.com/pmd/pmd-regression-tester" } if s.respond_to? :metadata=
1212
s.require_paths = ["lib".freeze]
1313
s.authors = ["Andreas Dangel".freeze, "Binguo Bao".freeze, "Cl\u00E9ment Fournier".freeze]
14-
s.date = "2024-05-01"
14+
s.date = "2024-09-05"
1515
s.description = "A regression testing tool ensure that new problems and unexpected behaviors will not be introduced to PMD project after fixing an issue , and new rules can work as expected.".freeze
1616
s.email = ["[email protected]".freeze, "[email protected]".freeze, "[email protected]".freeze]
1717
s.executables = ["pmdtester".freeze]
1818
s.extra_rdoc_files = ["History.md".freeze, "Manifest.txt".freeze, "README.rdoc".freeze, "resources/js/README.md".freeze]
19-
s.files = [".ci/build.sh".freeze, ".ci/inc/fetch_ci_scripts.bash".freeze, ".ci/manual-integration-tests.sh".freeze, ".github/workflows/build.yml".freeze, ".github/workflows/manual-integration-tests.yml".freeze, ".gitignore".freeze, ".hoerc".freeze, ".rubocop.yml".freeze, ".rubocop_todo.yml".freeze, "Gemfile".freeze, "History.md".freeze, "LICENSE".freeze, "Manifest.txt".freeze, "README.rdoc".freeze, "Rakefile".freeze, "bin/pmdtester".freeze, "config/all-java.xml".freeze, "config/design.xml".freeze, "config/project-list.xml".freeze, "config/projectlist_1_0_0.xsd".freeze, "config/projectlist_1_1_0.xsd".freeze, "config/projectlist_1_2_0.xsd".freeze, "lib/pmdtester.rb".freeze, "lib/pmdtester/builders/liquid_renderer.rb".freeze, "lib/pmdtester/builders/pmd_report_builder.rb".freeze, "lib/pmdtester/builders/project_builder.rb".freeze, "lib/pmdtester/builders/project_hasher.rb".freeze, "lib/pmdtester/builders/rule_set_builder.rb".freeze, "lib/pmdtester/builders/simple_progress_logger.rb".freeze, "lib/pmdtester/builders/summary_report_builder.rb".freeze, "lib/pmdtester/cmd.rb".freeze, "lib/pmdtester/collection_by_file.rb".freeze, "lib/pmdtester/parsers/options.rb".freeze, "lib/pmdtester/parsers/pmd_report_document.rb".freeze, "lib/pmdtester/parsers/projects_parser.rb".freeze, "lib/pmdtester/pmd_branch_detail.rb".freeze, "lib/pmdtester/pmd_configerror.rb".freeze, "lib/pmdtester/pmd_error.rb".freeze, "lib/pmdtester/pmd_report_detail.rb".freeze, "lib/pmdtester/pmd_tester_utils.rb".freeze, "lib/pmdtester/pmd_violation.rb".freeze, "lib/pmdtester/project.rb".freeze, "lib/pmdtester/report_diff.rb".freeze, "lib/pmdtester/resource_locator.rb".freeze, "lib/pmdtester/runner.rb".freeze, "lib/pmdtester/semver.rb".freeze, "pmdtester.gemspec".freeze, "resources/_includes/diff_pill_row.html".freeze, "resources/css/bootstrap-5.3.0-alpha3.min.css".freeze, "resources/css/datatables.min.css".freeze, "resources/css/pmd-tester.css".freeze, "resources/js/README.md".freeze, "resources/js/bootstrap-5.3.0-alpha3.min.js".freeze, "resources/js/code-snippets.js".freeze, "resources/js/datatables.min.js".freeze, "resources/js/jquery-3.6.4.slim.min.js".freeze, "resources/js/popper-2.11.7.min.js".freeze, "resources/js/project-report.js".freeze, "resources/project_diff_report.html".freeze, "resources/project_index.html".freeze, "resources/project_pmd_report.html".freeze]
19+
s.files = [".ci/build.sh".freeze, ".ci/inc/fetch_ci_scripts.bash".freeze, ".ci/manual-integration-tests.sh".freeze, ".github/workflows/build.yml".freeze, ".github/workflows/manual-integration-tests.yml".freeze, ".gitignore".freeze, ".hoerc".freeze, ".rubocop.yml".freeze, ".rubocop_todo.yml".freeze, "Gemfile".freeze, "History.md".freeze, "LICENSE".freeze, "Manifest.txt".freeze, "README.rdoc".freeze, "Rakefile".freeze, "bin/pmdtester".freeze, "config/all-java.xml".freeze, "config/design.xml".freeze, "config/project-list.xml".freeze, "config/projectlist_1_0_0.xsd".freeze, "config/projectlist_1_1_0.xsd".freeze, "config/projectlist_1_2_0.xsd".freeze, "lib/pmdtester.rb".freeze, "lib/pmdtester/builders/liquid_renderer.rb".freeze, "lib/pmdtester/builders/pmd_report_builder.rb".freeze, "lib/pmdtester/builders/project_builder.rb".freeze, "lib/pmdtester/builders/project_hasher.rb".freeze, "lib/pmdtester/builders/rule_set_builder.rb".freeze, "lib/pmdtester/builders/simple_progress_logger.rb".freeze, "lib/pmdtester/builders/summary_report_builder.rb".freeze, "lib/pmdtester/cmd.rb".freeze, "lib/pmdtester/collection_by_file.rb".freeze, "lib/pmdtester/parsers/options.rb".freeze, "lib/pmdtester/parsers/pmd_report_document.rb".freeze, "lib/pmdtester/parsers/projects_parser.rb".freeze, "lib/pmdtester/pmd_branch_detail.rb".freeze, "lib/pmdtester/pmd_configerror.rb".freeze, "lib/pmdtester/pmd_error.rb".freeze, "lib/pmdtester/pmd_report_detail.rb".freeze, "lib/pmdtester/pmd_tester_utils.rb".freeze, "lib/pmdtester/pmd_violation.rb".freeze, "lib/pmdtester/project.rb".freeze, "lib/pmdtester/report_diff.rb".freeze, "lib/pmdtester/resource_locator.rb".freeze, "lib/pmdtester/runner.rb".freeze, "lib/pmdtester/semver.rb".freeze, "pmdtester.gemspec".freeze, "resources/_includes/diff_pill_row.html".freeze, "resources/css/bootstrap-5.3.0-alpha3.min.css".freeze, "resources/css/datatables.min.css".freeze, "resources/css/pmd-tester.css".freeze, "resources/js/README.md".freeze, "resources/js/bootstrap-5.3.0-alpha3.min.js".freeze, "resources/js/code-snippets.js".freeze, "resources/js/datatables.min.js".freeze, "resources/js/jquery-3.6.4.slim.min.js".freeze, "resources/js/popper-2.11.7.min.js".freeze, "resources/js/project-report.js".freeze, "resources/maven-settings.xml".freeze, "resources/project_diff_report.html".freeze, "resources/project_index.html".freeze, "resources/project_pmd_report.html".freeze]
2020
s.homepage = "https://pmd.github.io".freeze
2121
s.licenses = ["BSD-2-Clause".freeze]
2222
s.rdoc_options = ["--main".freeze, "README.rdoc".freeze]

0 commit comments

Comments
 (0)