Skip to content

Commit b4f7129

Browse files
committed
Merge pull request #78 from oowekyala:better-html-reports
Better html reports #78
2 parents af31d46 + 686b1f0 commit b4f7129

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+3108
-1968
lines changed

.rubocop.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ AllCops:
1414
- 'vendor/**/*'
1515

1616
Metrics/LineLength:
17-
Max: 100
17+
Max: 120
1818

1919
Metrics/MethodLength:
2020
Exclude:

History.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,20 @@ puts summary
1616
# {:errors=>{:new=>0, :removed=>0}, :violations=>{:new=>0, :removed=>0, :changed=>0}, :configerrors=>{:new=>0, :removed=>0}}
1717
```
1818

19+
* As part of [#73](https://github.com/pmd/pmd-regression-tester/issues/73) and [#78](https://github.com/pmd/pmd-regression-tester/pull/78)
20+
a improved HTML report is now generated with the following features:
21+
* searchable table for violations with filters by rule/file/kind (added, removed, changed)
22+
* summary of changes by rule
23+
* code snippets for the violations
24+
1925
## Fixed Issues
2026

2127
* [#48](https://github.com/pmd/pmd-regression-tester/issues/48): Support auxclasspath / typeresolution
2228
* [#67](https://github.com/pmd/pmd-regression-tester/pull/67): Report contains errors having nil filename
2329
* [#68](https://github.com/pmd/pmd-regression-tester/pull/68): Don't generate a dynamic ruleset if not needed
2430
* [#69](https://github.com/pmd/pmd-regression-tester/pull/69): Detect single rules with auto-gen-config
2531
* [#70](https://github.com/pmd/pmd-regression-tester/pull/70): Add link to PR on github in HTML report
32+
* [#73](https://github.com/pmd/pmd-regression-tester/issues/73): Better HTML presentation for diff report
2633
* [#74](https://github.com/pmd/pmd-regression-tester/pull/74): Merge violations that have just changed messages
2734
* [#75](https://github.com/pmd/pmd-regression-tester/pull/75): Add new option "--error-recovery"
2835
* [#76](https://github.com/pmd/pmd-regression-tester/pull/76): Speedup XML parsing

Manifest.txt

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,31 +19,39 @@ config/project-list.xml
1919
config/projectlist_1_0_0.xsd
2020
config/projectlist_1_1_0.xsd
2121
lib/pmdtester.rb
22-
lib/pmdtester/builders/diff_builder.rb
23-
lib/pmdtester/builders/diff_report/configerrors.rb
24-
lib/pmdtester/builders/diff_report/errors.rb
25-
lib/pmdtester/builders/diff_report/violations.rb
26-
lib/pmdtester/builders/diff_report_builder.rb
27-
lib/pmdtester/builders/html_report_builder.rb
22+
lib/pmdtester/builders/liquid_renderer.rb
2823
lib/pmdtester/builders/pmd_report_builder.rb
2924
lib/pmdtester/builders/project_builder.rb
25+
lib/pmdtester/builders/project_hasher.rb
3026
lib/pmdtester/builders/rule_set_builder.rb
3127
lib/pmdtester/builders/simple_progress_logger.rb
32-
lib/pmdtester/builders/summary_report/branch_name_row.rb
3328
lib/pmdtester/builders/summary_report_builder.rb
3429
lib/pmdtester/cmd.rb
30+
lib/pmdtester/collection_by_file.rb
3531
lib/pmdtester/parsers/options.rb
3632
lib/pmdtester/parsers/pmd_report_document.rb
3733
lib/pmdtester/parsers/projects_parser.rb
3834
lib/pmdtester/pmd_branch_detail.rb
3935
lib/pmdtester/pmd_configerror.rb
4036
lib/pmdtester/pmd_error.rb
4137
lib/pmdtester/pmd_report_detail.rb
38+
lib/pmdtester/pmd_tester_utils.rb
4239
lib/pmdtester/pmd_violation.rb
4340
lib/pmdtester/project.rb
4441
lib/pmdtester/report_diff.rb
4542
lib/pmdtester/resource_locator.rb
4643
lib/pmdtester/runner.rb
4744
pmdtester.gemspec
48-
resources/css/maven-base.css
49-
resources/css/maven-theme.css
45+
resources/_includes/diff_pill_row.html
46+
resources/css/bootstrap.min.css
47+
resources/css/datatables.min.css
48+
resources/css/pmd-tester.css
49+
resources/js/bootstrap.min.js
50+
resources/js/code-snippets.js
51+
resources/js/datatables.min.js
52+
resources/js/jquery-3.2.1.slim.min.js
53+
resources/js/jquery.min.js
54+
resources/js/popper.min.js
55+
resources/js/project-report.js
56+
resources/project_diff_report.html
57+
resources/project_index.html

README.rdoc

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -66,20 +66,23 @@ The tool creates the following folders:
6666
│ ├── ......
6767
│ └── PROJECT_NAME_n
6868
├── reports
69-
│ ├── BASE_BRANCH_NAME <- the base baseline is placed here
70-
│ ├── PATCH_BRANCH_NAME <- the patch baseline is placed here
69+
│ ├── BASE_BRANCH_NAME <- the base baseline is placed here
70+
│ ├── PATCH_BRANCH_NAME <- the patch baseline is placed here
7171
│ └── diff
72-
│ ├── index.xml <- the summary report of diff reports
73-
│ ├── base_config.xml <- the resources of the summary report
74-
│ ├── patch_config.xml <- the resources fo the summary report
75-
│ ├── css <- css reources are placed here
72+
│ ├── index.html <- the summary report of diff reports
73+
│ ├── base_config.xml <- pmd config from the base branch
74+
│ ├── patch_config.xml <- pmd config from the patch branch
75+
│ ├── css <- css resources are placed here
76+
│ ├── js <- js resources
7677
│ ├── PROJECT_NAME_1
77-
│ │ └── index.xml <- the diff report of PROJECT_1
78+
│ │ ├── project_data.js <- contains the violations as js/json
79+
│ │ └── index.html <- the diff report of PROJECT_1
7880
│ ├── .......
7981
│ └── PROJECT_NAME_n
80-
│ └── index.xml <- the diff report of PROJECT_N
82+
│ ├── project_data.js <- contains the violations as js/json
83+
│ └── index.xml <- the diff report of PROJECT_N
8184
├── pmd-bin-<version>-<branch_name>-<sha1> <- cached pmd builds that are reused
82-
└── ....
85+
└── pmd-bin-....
8386

8487
==== The baseline format
8588
branch_name

Rakefile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,12 @@ hoe = Hoe.spec 'pmdtester' do
1616

1717
developer 'Andreas Dangel', '[email protected]'
1818
developer 'Binguo Bao', '[email protected]'
19+
developer 'Clément Fournier', '[email protected]'
1920

2021
self.clean_globs = %w[target/reports/**/* target/test/**/* target/dynamic-config.xml Gemfile.lock]
2122
self.extra_deps += [['nokogiri', '~> 1.8'], ['slop', '~> 4.6'], ['differ', '~> 0.1'],
22-
['rufus-scheduler', '~> 3.5'], ['logger-colors', '~> 1.0']]
23+
['rufus-scheduler', '~> 3.5'], ['logger-colors', '~> 1.0'],
24+
['liquid', '>= 4.0']]
2325
self.extra_dev_deps += [
2426
['hoe-bundler', '~> 1.5'],
2527
['hoe-git', '~> 1.6'],

lib/pmdtester.rb

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,27 +4,24 @@
44
require 'logger/colors'
55

66
require_relative 'pmdtester/cmd'
7+
require_relative 'pmdtester/collection_by_file'
78
require_relative 'pmdtester/pmd_branch_detail'
89
require_relative 'pmdtester/pmd_configerror'
910
require_relative 'pmdtester/pmd_error'
1011
require_relative 'pmdtester/pmd_report_detail'
12+
require_relative 'pmdtester/pmd_tester_utils'
1113
require_relative 'pmdtester/pmd_violation'
1214
require_relative 'pmdtester/project'
1315
require_relative 'pmdtester/report_diff'
1416
require_relative 'pmdtester/resource_locator'
1517
require_relative 'pmdtester/runner'
1618

1719
require_relative 'pmdtester/builders/simple_progress_logger'
18-
require_relative 'pmdtester/builders/html_report_builder'
19-
require_relative 'pmdtester/builders/diff_builder'
20-
require_relative 'pmdtester/builders/diff_report/violations'
21-
require_relative 'pmdtester/builders/diff_report/configerrors'
22-
require_relative 'pmdtester/builders/diff_report/errors'
23-
require_relative 'pmdtester/builders/diff_report_builder'
2420
require_relative 'pmdtester/builders/project_builder'
21+
require_relative 'pmdtester/builders/project_hasher'
2522
require_relative 'pmdtester/builders/pmd_report_builder'
23+
require_relative 'pmdtester/builders/liquid_renderer'
2624
require_relative 'pmdtester/builders/rule_set_builder'
27-
require_relative 'pmdtester/builders/summary_report/branch_name_row'
2825
require_relative 'pmdtester/builders/summary_report_builder'
2926

3027
require_relative 'pmdtester/parsers/options'
@@ -38,6 +35,7 @@ module PmdTester
3835
VERSION = '1.1.0-SNAPSHOT'
3936
BASE = 'base'
4037
PATCH = 'patch'
38+
PR_NUM_ENV_VAR = 'PMD_CI_PULL_REQUEST_NUMBER' # see PmdBranchDetail
4139

4240
def logger
4341
PmdTester.logger

lib/pmdtester/builders/diff_builder.rb

Lines changed: 0 additions & 31 deletions
This file was deleted.

lib/pmdtester/builders/diff_report/configerrors.rb

Lines changed: 0 additions & 50 deletions
This file was deleted.

lib/pmdtester/builders/diff_report/errors.rb

Lines changed: 0 additions & 71 deletions
This file was deleted.

0 commit comments

Comments
 (0)