pmdtester 1.5.3 → 1.5.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/History.md +8 -0
- data/Manifest.txt +5 -5
- data/README.rdoc +2 -2
- data/lib/pmdtester/builders/pmd_report_builder.rb +43 -13
- data/lib/pmdtester/cmd.rb +1 -0
- data/lib/pmdtester.rb +1 -1
- data/pmdtester.gemspec +6 -6
- data/resources/_includes/diff_pill_row.html +3 -3
- data/resources/css/bootstrap-5.3.0-alpha3.min.css +6 -0
- data/resources/css/datatables.min.css +14 -10
- data/resources/css/pmd-tester.css +12 -6
- data/resources/js/README.md +20 -0
- data/resources/js/bootstrap-5.3.0-alpha3.min.js +7 -0
- data/resources/js/datatables.min.js +165 -704
- data/resources/js/jquery-3.6.4.slim.min.js +2 -0
- data/resources/js/popper-2.11.7.min.js +6 -0
- data/resources/js/project-report.js +11 -2
- data/resources/project_diff_report.html +5 -5
- data/resources/project_index.html +4 -4
- data/resources/project_pmd_report.html +5 -5
- metadata +8 -7
- data/resources/css/bootstrap.min.css +0 -7
- data/resources/js/bootstrap.min.js +0 -7
- data/resources/js/jquery-3.2.1.slim.min.js +0 -4
- data/resources/js/jquery.min.js +0 -2
- data/resources/js/popper.min.js +0 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0c6c579178746a76cc77dc88dccb3465e0f5aba7133a17f238653497ebfdb037
|
4
|
+
data.tar.gz: cdba630126e5e216582dca8b5f7f4e59017e63f573009887fc6e4f51d6a18755
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 129e21d2eb726a05ed2dc1bed919f4557d169356ad7c734fbc5c9be01c15b939381e6bd0aae655f53e3d2beca837bf55b35cf414eee5573fa641d5641d823dca
|
7
|
+
data.tar.gz: 312ce6f7d5b28b412b376ce3251739d7c5eacab038f9db3850050e709790087a654dd071421a80d150b2d513337e5c0bc46dad466f57a360c62f3201b54a7db9
|
data/History.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
# 1.5.4 / 2023-05-27
|
2
|
+
|
3
|
+
## Enhancements
|
4
|
+
|
5
|
+
* [#118](https://github.com/pmd/pmd-regression-tester/pull/118): Update js libraries
|
6
|
+
* [#119](https://github.com/pmd/pmd-regression-tester/pull/119): Update manual integration test for PMD 7
|
7
|
+
* [#120](https://github.com/pmd/pmd-regression-tester/pull/120): Support new PMD 7 binary dist filename
|
8
|
+
|
1
9
|
# 1.5.3 / 2022-11-25
|
2
10
|
|
3
11
|
## Fixed Issues
|
data/Manifest.txt
CHANGED
@@ -47,15 +47,15 @@ lib/pmdtester/runner.rb
|
|
47
47
|
lib/pmdtester/semver.rb
|
48
48
|
pmdtester.gemspec
|
49
49
|
resources/_includes/diff_pill_row.html
|
50
|
-
resources/css/bootstrap.min.css
|
50
|
+
resources/css/bootstrap-5.3.0-alpha3.min.css
|
51
51
|
resources/css/datatables.min.css
|
52
52
|
resources/css/pmd-tester.css
|
53
|
-
resources/js/
|
53
|
+
resources/js/README.md
|
54
|
+
resources/js/bootstrap-5.3.0-alpha3.min.js
|
54
55
|
resources/js/code-snippets.js
|
55
56
|
resources/js/datatables.min.js
|
56
|
-
resources/js/jquery-3.
|
57
|
-
resources/js/
|
58
|
-
resources/js/popper.min.js
|
57
|
+
resources/js/jquery-3.6.4.slim.min.js
|
58
|
+
resources/js/popper-2.11.7.min.js
|
59
59
|
resources/js/project-report.js
|
60
60
|
resources/project_diff_report.html
|
61
61
|
resources/project_index.html
|
data/README.rdoc
CHANGED
@@ -136,10 +136,10 @@ The tool creates the following folders:
|
|
136
136
|
bundle exec pmdtester ... # run this to directly execute pmdtester from source
|
137
137
|
|
138
138
|
Run a single test class, e.g.:
|
139
|
-
bundle exec ruby -I test test/
|
139
|
+
bundle exec ruby -I test test/test_project_diff_report.rb
|
140
140
|
|
141
141
|
Run a single test, e.g.:
|
142
|
-
bundle exec ruby -I test test/
|
142
|
+
bundle exec ruby -I test test/test_project_diff_report.rb -n test_diff_report_builder
|
143
143
|
|
144
144
|
=== Releasing
|
145
145
|
|
@@ -53,24 +53,19 @@ module PmdTester
|
|
53
53
|
def build_pmd(into_dir:)
|
54
54
|
# in CI there might have been a build performed already. In that case
|
55
55
|
# we reuse the build result, otherwise we build PMD freshly
|
56
|
-
pmd_dist_target =
|
57
|
-
binary_exists = File.exist?(pmd_dist_target)
|
58
|
-
logger.debug "#{@pmd_branch_name}: Does the file #{pmd_dist_target} exist? #{binary_exists} (cwd: #{Dir.getwd})"
|
56
|
+
pmd_dist_target, binary_exists = find_pmd_dist_target
|
59
57
|
if binary_exists
|
60
58
|
# that's a warning, because we don't know, whether this build really
|
61
59
|
# belongs to the current branch or whether it's from a previous branch.
|
62
60
|
# In CI, that's not a problem, because the workspace is always fresh.
|
63
61
|
logger.warn "#{@pmd_branch_name}: Reusing already existing #{pmd_dist_target}"
|
64
62
|
else
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
' -Dpmd.skip=true' \
|
72
|
-
' -T1C -B'
|
73
|
-
Cmd.execute_successfully(package_cmd)
|
63
|
+
build_pmd_with_maven
|
64
|
+
pmd_dist_target, binary_exists = find_pmd_dist_target
|
65
|
+
unless binary_exists
|
66
|
+
logger.error "#{@pmd_branch_name}: Dist zip not found at #{pmd_dist_target}!"
|
67
|
+
raise "No Dist zip found at #{pmd_dist_target}"
|
68
|
+
end
|
74
69
|
end
|
75
70
|
|
76
71
|
logger.info "#{@pmd_branch_name}: Extracting the zip"
|
@@ -96,7 +91,7 @@ module PmdTester
|
|
96
91
|
|
97
92
|
def generate_pmd_report(project)
|
98
93
|
error_recovery_options = @error_recovery ? 'PMD_JAVA_OPTS="-Dpmd.error_recovery -ea" ' : ''
|
99
|
-
fail_on_violation =
|
94
|
+
fail_on_violation = create_failonviolation_option
|
100
95
|
auxclasspath_option = create_auxclasspath_option(project)
|
101
96
|
pmd_cmd = "#{error_recovery_options}" \
|
102
97
|
"#{determine_run_path} -d #{project.local_source_path} -f xml " \
|
@@ -213,6 +208,16 @@ module PmdTester
|
|
213
208
|
auxclasspath_option
|
214
209
|
end
|
215
210
|
|
211
|
+
def create_failonviolation_option
|
212
|
+
if pmd7?
|
213
|
+
'--no-fail-on-violation'
|
214
|
+
elsif should_use_long_cli_options?
|
215
|
+
'--fail-on-violation false'
|
216
|
+
else
|
217
|
+
'-failOnViolation false'
|
218
|
+
end
|
219
|
+
end
|
220
|
+
|
216
221
|
def pmd7?
|
217
222
|
Semver.compare(@pmd_version, '7.0.0-SNAPSHOT') >= 0
|
218
223
|
end
|
@@ -227,5 +232,30 @@ module PmdTester
|
|
227
232
|
end
|
228
233
|
run_path
|
229
234
|
end
|
235
|
+
|
236
|
+
def find_pmd_dist_target
|
237
|
+
pmd_dist_target = "pmd-dist/target/pmd-bin-#{@pmd_version}.zip"
|
238
|
+
binary_exists = File.exist?(pmd_dist_target)
|
239
|
+
logger.debug "#{@pmd_branch_name}: Does the file #{pmd_dist_target} exist? #{binary_exists} (cwd: #{Dir.getwd})"
|
240
|
+
unless binary_exists
|
241
|
+
pmd_dist_target = "pmd-dist/target/pmd-dist-#{@pmd_version}-bin.zip"
|
242
|
+
binary_exists = File.exist?(pmd_dist_target)
|
243
|
+
logger.debug "#{@pmd_branch_name}: Does the file #{pmd_dist_target} exist? #{binary_exists} (cwd: #{Dir.getwd})"
|
244
|
+
end
|
245
|
+
[pmd_dist_target, binary_exists]
|
246
|
+
end
|
247
|
+
|
248
|
+
def build_pmd_with_maven
|
249
|
+
logger.info "#{@pmd_branch_name}: Building PMD #{@pmd_version}..."
|
250
|
+
package_cmd = './mvnw clean package' \
|
251
|
+
' -Dmaven.test.skip=true' \
|
252
|
+
' -Dmaven.javadoc.skip=true' \
|
253
|
+
' -Dmaven.source.skip=true' \
|
254
|
+
' -Dcheckstyle.skip=true' \
|
255
|
+
' -Dpmd.skip=true' \
|
256
|
+
' -T1C -B'
|
257
|
+
logger.debug "#{@pmd_branch_name}: maven command: #{package_cmd}"
|
258
|
+
Cmd.execute_successfully(package_cmd)
|
259
|
+
end
|
230
260
|
end
|
231
261
|
end
|
data/lib/pmdtester/cmd.rb
CHANGED
data/lib/pmdtester.rb
CHANGED
@@ -33,7 +33,7 @@ require_relative 'pmdtester/parsers/projects_parser'
|
|
33
33
|
# and unexpected behaviors will not be introduced to PMD project
|
34
34
|
# after fixing an issue and new rules can work as expected.
|
35
35
|
module PmdTester
|
36
|
-
VERSION = '1.5.
|
36
|
+
VERSION = '1.5.4'
|
37
37
|
BASE = 'base'
|
38
38
|
PATCH = 'patch'
|
39
39
|
PR_NUM_ENV_VAR = 'PMD_CI_PULL_REQUEST_NUMBER' # see PmdBranchDetail
|
data/pmdtester.gemspec
CHANGED
@@ -1,27 +1,27 @@
|
|
1
1
|
# DO NOT EDIT THIS FILE. Instead, edit Rakefile, and run `rake hoe:spec`.
|
2
2
|
|
3
3
|
# -*- encoding: utf-8 -*-
|
4
|
-
# stub: pmdtester 1.5.
|
4
|
+
# stub: pmdtester 1.5.4 ruby lib
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "pmdtester".freeze
|
8
|
-
s.version = "1.5.
|
8
|
+
s.version = "1.5.4"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
11
11
|
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=
|
12
12
|
s.require_paths = ["lib".freeze]
|
13
13
|
s.authors = ["Andreas Dangel".freeze, "Binguo Bao".freeze, "Cl\u00E9ment Fournier".freeze]
|
14
|
-
s.date = "
|
14
|
+
s.date = "2023-05-27"
|
15
15
|
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
|
16
16
|
s.email = ["andreas.dangel@pmd-code.org".freeze, "djydewang@gmail.com".freeze, "clement.fournier76@gmail.com".freeze]
|
17
17
|
s.executables = ["pmdtester".freeze]
|
18
|
-
s.extra_rdoc_files = ["History.md".freeze, "Manifest.txt".freeze, "README.rdoc".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, ".ruby-version".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.min.css".freeze, "resources/css/datatables.min.css".freeze, "resources/css/pmd-tester.css".freeze, "resources/js/bootstrap.min.js".freeze, "resources/js/code-snippets.js".freeze, "resources/js/datatables.min.js".freeze, "resources/js/jquery-3.
|
18
|
+
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, ".ruby-version".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]
|
20
20
|
s.homepage = "https://pmd.github.io".freeze
|
21
21
|
s.licenses = ["BSD-2-Clause".freeze]
|
22
22
|
s.rdoc_options = ["--main".freeze, "README.rdoc".freeze]
|
23
23
|
s.required_ruby_version = Gem::Requirement.new(">= 2.7".freeze)
|
24
|
-
s.rubygems_version = "3.1.
|
24
|
+
s.rubygems_version = "3.1.6".freeze
|
25
25
|
s.summary = "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
|
26
26
|
|
27
27
|
if s.respond_to? :specification_version then
|
@@ -1,6 +1,6 @@
|
|
1
1
|
|
2
|
-
<span class="
|
3
|
-
<span class="
|
2
|
+
<span class="badge rounded-pill badge-secondary added">+{{h.new}}</span>
|
3
|
+
<span class="badge rounded-pill badge-secondary removed">-{{h.removed}}</span>
|
4
4
|
{% if h.changed %}
|
5
|
-
<span class="
|
5
|
+
<span class="badge rounded-pill badge-secondary changed">~{{h.changed}}</span>
|
6
6
|
{% endif %}
|