pmdtester 1.0.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/.ci/build.sh +99 -0
  3. data/.ci/inc/fetch_ci_scripts.bash +19 -0
  4. data/.ci/manual-integration-tests.sh +37 -0
  5. data/.github/workflows/build.yml +55 -0
  6. data/.github/workflows/manual-integration-tests.yml +43 -0
  7. data/.gitignore +9 -0
  8. data/.hoerc +1 -1
  9. data/.rubocop.yml +9 -2
  10. data/.ruby-version +1 -0
  11. data/History.md +79 -0
  12. data/Manifest.txt +28 -9
  13. data/README.rdoc +59 -33
  14. data/Rakefile +7 -5
  15. data/config/all-java.xml +1 -1
  16. data/config/design.xml +1 -1
  17. data/config/project-list.xml +8 -7
  18. data/config/projectlist_1_0_0.xsd +2 -1
  19. data/config/projectlist_1_1_0.xsd +31 -0
  20. data/config/projectlist_1_2_0.xsd +39 -0
  21. data/lib/pmdtester.rb +8 -7
  22. data/lib/pmdtester/builders/liquid_renderer.rb +130 -0
  23. data/lib/pmdtester/builders/pmd_report_builder.rb +107 -79
  24. data/lib/pmdtester/builders/project_builder.rb +105 -0
  25. data/lib/pmdtester/builders/project_hasher.rb +128 -0
  26. data/lib/pmdtester/builders/rule_set_builder.rb +96 -47
  27. data/lib/pmdtester/builders/simple_progress_logger.rb +4 -4
  28. data/lib/pmdtester/builders/summary_report_builder.rb +63 -131
  29. data/lib/pmdtester/collection_by_file.rb +55 -0
  30. data/lib/pmdtester/parsers/options.rb +24 -0
  31. data/lib/pmdtester/parsers/pmd_report_document.rb +72 -28
  32. data/lib/pmdtester/parsers/projects_parser.rb +2 -4
  33. data/lib/pmdtester/pmd_branch_detail.rb +35 -19
  34. data/lib/pmdtester/pmd_configerror.rb +23 -24
  35. data/lib/pmdtester/pmd_error.rb +34 -34
  36. data/lib/pmdtester/pmd_report_detail.rb +10 -13
  37. data/lib/pmdtester/pmd_tester_utils.rb +58 -0
  38. data/lib/pmdtester/pmd_violation.rb +66 -28
  39. data/lib/pmdtester/project.rb +42 -56
  40. data/lib/pmdtester/report_diff.rb +203 -109
  41. data/lib/pmdtester/resource_locator.rb +4 -0
  42. data/lib/pmdtester/runner.rb +67 -64
  43. data/pmdtester.gemspec +28 -37
  44. data/resources/_includes/diff_pill_row.html +6 -0
  45. data/resources/css/bootstrap.min.css +7 -0
  46. data/resources/css/datatables.min.css +36 -0
  47. data/resources/css/pmd-tester.css +132 -0
  48. data/resources/js/bootstrap.min.js +7 -0
  49. data/resources/js/code-snippets.js +73 -0
  50. data/resources/js/datatables.min.js +726 -0
  51. data/resources/js/jquery-3.2.1.slim.min.js +4 -0
  52. data/resources/js/jquery.min.js +2 -0
  53. data/resources/js/popper.min.js +5 -0
  54. data/resources/js/project-report.js +137 -0
  55. data/resources/project_diff_report.html +214 -0
  56. data/resources/project_index.html +113 -0
  57. data/resources/project_pmd_report.html +186 -0
  58. metadata +73 -25
  59. data/.travis.yml +0 -40
  60. data/lib/pmdtester/builders/diff_builder.rb +0 -31
  61. data/lib/pmdtester/builders/diff_report/configerrors.rb +0 -50
  62. data/lib/pmdtester/builders/diff_report/errors.rb +0 -71
  63. data/lib/pmdtester/builders/diff_report/violations.rb +0 -77
  64. data/lib/pmdtester/builders/diff_report_builder.rb +0 -99
  65. data/lib/pmdtester/builders/html_report_builder.rb +0 -56
  66. data/resources/css/maven-base.css +0 -155
  67. data/resources/css/maven-theme.css +0 -171
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a01837c60abe0048b0e65aaec642e970e3bf2fa6f126f2e33c5429a33dce5aaa
4
- data.tar.gz: 776503e819fa70e809de9f2633cb464cf40f4758449679edc967649b08716e31
3
+ metadata.gz: db98cbb787ccaa595c939ddee83316347edbf0daf746ca38daea53d3dab3fb77
4
+ data.tar.gz: 158cc9f948c7e680725dc2596e4d65dabac35f9f06188c8c4670d060f9889dff
5
5
  SHA512:
6
- metadata.gz: f411366e6cfae2693955512010ea9bec3431ff085df45de372526250a044beb82163b8f78be7920551b41e0ae9f543f93a068030429ebbcc846c45969946f65e
7
- data.tar.gz: '0569c7bcb84fa271eff1b32b3836db2efb6209a17462c3e39de97f3cf7d0a69455b710fe4e810d32717732ba615c05211f462af0019b2c01190796a8c9861576'
6
+ metadata.gz: 28ea491ac20cddb4b51f0c418c479ce7394d5839d05dfacd04cb5c128590b7d8100b232a60d4cfafc0110249ccbe001b1e9426632679df4dcf2f6dcdc9415121
7
+ data.tar.gz: 2f12577c68058fb20bbc10e64de84ce574d45e6d7c0c766907b4e4342054bc95f992a654b620ced49130379db66aa5b21425114d327a9332021f04b6544e094a
data/.ci/build.sh ADDED
@@ -0,0 +1,99 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # Exit this script immediately if a command/function exits with a non-zero status.
4
+ set -e
5
+
6
+ SCRIPT_INCLUDES="log.bash utils.bash setup-secrets.bash openjdk.bash github-releases-api.bash"
7
+ # shellcheck source=inc/fetch_ci_scripts.bash
8
+ source "$(dirname "$0")/inc/fetch_ci_scripts.bash" && fetch_ci_scripts
9
+
10
+ function build() {
11
+ pmd_ci_log_group_start "Install OpenJDK 8+11"
12
+ pmd_ci_openjdk_install_adoptopenjdk 11
13
+ pmd_ci_openjdk_install_adoptopenjdk 8
14
+ pmd_ci_openjdk_setdefault 11
15
+ pmd_ci_log_group_end
16
+
17
+ pmd_ci_log_group_start "Install dependencies"
18
+ gem install --user-install bundler
19
+ bundle config set --local path vendor/bundle
20
+ bundle install
21
+ pmd_ci_log_group_end
22
+
23
+ echo
24
+ local version
25
+ version="$(bundle exec ruby -I. -e 'require "lib/pmdtester"; print PmdTester::VERSION;')"
26
+ pmd_ci_log_info "======================================================================="
27
+ pmd_ci_log_info "Building pmd-regression-tester ${version}"
28
+ pmd_ci_log_info "======================================================================="
29
+ pmd_ci_utils_determine_build_env pmd/pmd-regression-tester
30
+ echo
31
+
32
+ pmd_ci_log_group_start "Build with rake"
33
+ bundle exec rake check_manifest
34
+ bundle exec rake rubocop
35
+ bundle exec rake clean test
36
+ pmd_ci_log_group_end
37
+
38
+ pmd_ci_log_group_start "Run Integration Tests"
39
+ bundle exec rake clean integration-test
40
+ pmd_ci_log_group_end
41
+
42
+ pmd_ci_log_group_start "Build Package"
43
+ bundle exec rake install_gem
44
+ bundle exec pmdtester -h
45
+ pmd_ci_log_group_end
46
+
47
+ if pmd_ci_utils_is_fork_or_pull_request; then
48
+ # builds on forks or builds for pull requests stop here
49
+ exit 0
50
+ fi
51
+
52
+ # only builds on pmd/pmd-regression-tester continue here
53
+ pmd_ci_log_group_start "Setup environment"
54
+ pmd_ci_setup_secrets_private_env
55
+ pmd_ci_log_group_end
56
+
57
+ if isReleaseBuild "$version"; then
58
+ pmd_ci_log_group_start "Publish to rubygems"
59
+ gem build pmdtester.gemspec
60
+ local gempkgfile
61
+ gempkgfile="$(echo pmdtester-*.gem)"
62
+ gem push "${gempkgfile}"
63
+ pmd_ci_log_group_end
64
+
65
+ pmd_ci_log_group_start "Update Github Releases"
66
+ # create a draft github release
67
+ pmd_ci_gh_releases_createDraftRelease "${PMD_CI_TAG}" "$(git rev-list -n 1 "${PMD_CI_TAG}")"
68
+ GH_RELEASE="$RESULT"
69
+
70
+ # Deploy to github releases
71
+ pmd_ci_gh_releases_uploadAsset "$GH_RELEASE" "${gempkgfile}"
72
+
73
+ # extract the release notes
74
+ RELEASE_NAME="${version}"
75
+ BEGIN_LINE=$(grep -n "^# " History.md|head -1|cut -d ":" -f 1)
76
+ BEGIN_LINE=$((BEGIN_LINE + 1))
77
+ END_LINE=$(grep -n "^# " History.md|head -2|tail -1|cut -d ":" -f 1)
78
+ END_LINE=$((END_LINE - 1))
79
+ RELEASE_BODY="$(head -$END_LINE History.md | tail -$((END_LINE - BEGIN_LINE)))"
80
+
81
+ pmd_ci_gh_releases_updateRelease "$GH_RELEASE" "$RELEASE_NAME" "$RELEASE_BODY"
82
+
83
+ # Publish release - this sends out notifications on github
84
+ pmd_ci_gh_releases_publishRelease "$GH_RELEASE"
85
+ pmd_ci_log_group_end
86
+ fi
87
+ }
88
+
89
+ function isReleaseBuild() {
90
+ local version="$1"
91
+
92
+ if [[ "${version}" != *-SNAPSHOT && "${PMD_CI_TAG}" != "" ]]; then
93
+ return 0
94
+ fi
95
+
96
+ return 1
97
+ }
98
+
99
+ build
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/env bash
2
+
3
+ function fetch_ci_scripts() {
4
+ local inc_dir
5
+ local inc_url
6
+ inc_dir="$(dirname "$0")/inc"
7
+ inc_url="${PMD_CI_SCRIPTS_URL:-https://raw.githubusercontent.com/pmd/build-tools/master/scripts}/inc"
8
+
9
+ mkdir -p "${inc_dir}"
10
+
11
+ for f in ${SCRIPT_INCLUDES}; do
12
+ if [ ! -e "${inc_dir}/$f" ]; then
13
+ curl -sSL "${inc_url}/$f" > "${inc_dir}/$f"
14
+ fi
15
+ [ "$PMD_CI_DEBUG" = "true" ] && echo "loading ${inc_dir}/$f in ${MODULE:-$0}"
16
+ # shellcheck source=/dev/null
17
+ source "${inc_dir}/$f" || exit 1
18
+ done
19
+ }
@@ -0,0 +1,37 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # Exit this script immediately if a command/function exits with a non-zero status.
4
+ set -e
5
+
6
+ SCRIPT_INCLUDES="log.bash utils.bash openjdk.bash"
7
+ # shellcheck source=inc/fetch_ci_scripts.bash
8
+ source "$(dirname "$0")/inc/fetch_ci_scripts.bash" && fetch_ci_scripts
9
+
10
+ function build() {
11
+ pmd_ci_log_group_start "Install OpenJDK 8+11"
12
+ pmd_ci_openjdk_install_adoptopenjdk 11
13
+ pmd_ci_openjdk_install_adoptopenjdk 8
14
+ pmd_ci_openjdk_setdefault 11
15
+ pmd_ci_log_group_end
16
+
17
+ pmd_ci_log_group_start "Install dependencies"
18
+ gem install --user-install bundler
19
+ bundle config set --local path vendor/bundle
20
+ bundle install
21
+ pmd_ci_log_group_end
22
+
23
+ echo
24
+ local version
25
+ version="$(bundle exec ruby -I. -e 'require "lib/pmdtester"; print PmdTester::VERSION;')"
26
+ pmd_ci_log_info "======================================================================="
27
+ pmd_ci_log_info "Building pmd-regression-tester ${version}"
28
+ pmd_ci_log_info "======================================================================="
29
+ pmd_ci_utils_determine_build_env pmd/pmd-regression-tester
30
+ echo
31
+
32
+ pmd_ci_log_group_start "Run Manual Integration Tests"
33
+ bundle exec ruby -I test test/manual_integration_tests.rb
34
+ pmd_ci_log_group_end
35
+ }
36
+
37
+ build
@@ -0,0 +1,55 @@
1
+ name: build
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ - master
8
+ tags:
9
+ - '**'
10
+ pull_request:
11
+ schedule:
12
+ # build it monthly: At 04:30 on day-of-month 1.
13
+ - cron: '30 4 1 * *'
14
+ workflow_dispatch:
15
+
16
+ jobs:
17
+ build:
18
+ runs-on: ubuntu-latest
19
+ continue-on-error: false
20
+ if: ${{ !contains(github.event.head_commit.message, '[skip ci]') }}
21
+ steps:
22
+ - uses: actions/checkout@v2
23
+ - uses: actions/cache@v2
24
+ with:
25
+ path: |
26
+ ~/.m2/repository
27
+ ~/.cache
28
+ vendor/bundle
29
+ target/repositories
30
+ key: ${{ runner.os }}-${{ hashFiles('pmdtester.gemspec') }}
31
+ restore-keys: |
32
+ ${{ runner.os }}-
33
+ - name: Set up Ruby 2.7
34
+ uses: ruby/setup-ruby@v1
35
+ with:
36
+ ruby-version: 2.7
37
+ - name: Setup Environment
38
+ shell: bash
39
+ run: |
40
+ echo "LANG=en_US.UTF-8" >> $GITHUB_ENV
41
+ echo "MAVEN_OPTS=-Dmaven.wagon.httpconnectionManager.ttlSeconds=180 -Dmaven.wagon.http.retryHandler.count=3" >> $GITHUB_ENV
42
+ echo "PMD_CI_SCRIPTS_URL=https://raw.githubusercontent.com/pmd/build-tools/14/scripts" >> $GITHUB_ENV
43
+ - name: Check Environment
44
+ shell: bash
45
+ run: |
46
+ f=check-environment.sh; \
47
+ mkdir -p .ci && \
48
+ ( [ -e .ci/$f ] || curl -sSL "${PMD_CI_SCRIPTS_URL}/$f" > ".ci/$f" ) && \
49
+ chmod 755 .ci/$f && \
50
+ .ci/$f
51
+ - name: Build
52
+ run: .ci/build.sh
53
+ shell: bash
54
+ env:
55
+ PMD_CI_SECRET_PASSPHRASE: ${{ secrets.PMD_CI_SECRET_PASSPHRASE }}
@@ -0,0 +1,43 @@
1
+ name: manual-integration-tests
2
+
3
+ on: workflow_dispatch
4
+
5
+ jobs:
6
+ build:
7
+ runs-on: ubuntu-latest
8
+ continue-on-error: false
9
+ steps:
10
+ - uses: actions/checkout@v2
11
+ - uses: actions/cache@v2
12
+ with:
13
+ path: |
14
+ ~/.m2/repository
15
+ ~/.cache
16
+ vendor/bundle
17
+ target/repositories
18
+ key: ${{ runner.os }}-${{ hashFiles('pmdtester.gemspec') }}
19
+ restore-keys: |
20
+ ${{ runner.os }}-
21
+ - name: Set up Ruby 2.7
22
+ uses: ruby/setup-ruby@v1
23
+ with:
24
+ ruby-version: 2.7
25
+ - name: Setup Environment
26
+ shell: bash
27
+ run: |
28
+ echo "LANG=en_US.UTF-8" >> $GITHUB_ENV
29
+ echo "MAVEN_OPTS=-Dmaven.wagon.httpconnectionManager.ttlSeconds=180 -Dmaven.wagon.http.retryHandler.count=3" >> $GITHUB_ENV
30
+ echo "PMD_CI_SCRIPTS_URL=https://raw.githubusercontent.com/pmd/build-tools/14/scripts" >> $GITHUB_ENV
31
+ - name: Check Environment
32
+ shell: bash
33
+ run: |
34
+ f=check-environment.sh; \
35
+ mkdir -p .ci && \
36
+ ( [ -e .ci/$f ] || curl -sSL "${PMD_CI_SCRIPTS_URL}/$f" > ".ci/$f" ) && \
37
+ chmod 755 .ci/$f && \
38
+ .ci/$f
39
+ - name: Build
40
+ run: .ci/manual-integration-tests.sh
41
+ shell: bash
42
+ env:
43
+ PMD_CI_SECRET_PASSPHRASE: ${{ secrets.PMD_CI_SECRET_PASSPHRASE }}
data/.gitignore ADDED
@@ -0,0 +1,9 @@
1
+ pkg/
2
+ doc/
3
+ Gemfile.lock
4
+ .project
5
+ .idea
6
+ .bundle
7
+ target/
8
+ vendor/
9
+ localtests/
data/.hoerc CHANGED
@@ -1 +1 @@
1
- exclude: !ruby/regexp /tmp$|\.(git|idea)|target|test\/|Gemfile\.lock|\.bundle\/|install-jdk.sh|vendor\/cache/
1
+ exclude: !ruby/regexp /tmp$|\.git\/|\.idea|\.project|target\/|test\/|Gemfile\.lock|\.bundle\/|vendor\/|localtests\/|\.ci\/inc\/(log|utils|setup-secrets|openjdk|github-releases-api)\.bash|\.ci\/files\/|\.ci\/check-environment\.sh/
data/.rubocop.yml CHANGED
@@ -1,7 +1,7 @@
1
1
  inherit_from: .rubocop_todo.yml
2
2
 
3
3
  AllCops:
4
- TargetRubyVersion: 2.4
4
+ TargetRubyVersion: 2.7
5
5
  Include:
6
6
  - 'lib/**/*'
7
7
  - 'test/**/*'
@@ -14,12 +14,19 @@ AllCops:
14
14
  - 'vendor/**/*'
15
15
 
16
16
  Metrics/LineLength:
17
- Max: 100
17
+ Max: 120
18
18
 
19
19
  Metrics/MethodLength:
20
20
  Exclude:
21
21
  - 'lib/pmdtester/parsers/options.rb'
22
22
 
23
+ Metrics/ClassLength:
24
+ Exclude:
25
+ - '**/*'
26
+
23
27
  Metrics/BlockLength:
24
28
  Exclude:
25
29
  - 'lib/pmdtester/parsers/options.rb'
30
+
31
+ Metrics/ModuleLength:
32
+ CountAsOne: ['array', 'hash']
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.7
data/History.md CHANGED
@@ -1,3 +1,82 @@
1
+ # 1.2.0 / 2021-06-20
2
+
3
+ ## New and Noteworthy
4
+
5
+ * Support for Mercurial is removed. The only SCM supported in the project-list.xml is "git".
6
+
7
+ ## Fixed Issues
8
+
9
+ * [#71](https://github.com/pmd/pmd-regression-tester/issues/71): Include full PMD report
10
+ * [#89](https://github.com/pmd/pmd-regression-tester/pull/89): Make it possible to select a subpath of cloned directory
11
+ * [#91](https://github.com/pmd/pmd-regression-tester/pull/91): Filter baseline based on patch config
12
+
13
+ # 1.1.2 / 2021-04-20
14
+
15
+ This is a bugfix release.
16
+
17
+ ## Fixed Issues
18
+
19
+ * [#85](https://github.com/pmd/pmd-regression-tester/issues/85): HTML is not escaped in snippet preview
20
+ * [#84](https://github.com/pmd/pmd-regression-tester/issues/84): Leading spaces are missing in code snippet preview
21
+
22
+ # 1.1.1 / 2021-01-15
23
+
24
+ This is a bugfix release.
25
+
26
+ ## Fixed Issues
27
+
28
+ * [#81](https://github.com/pmd/pmd-regression-tester/pull/81): Dynamically generated rulesets are not applied on diffs
29
+ * [#82](https://github.com/pmd/pmd-regression-tester/pull/82): Summary hash uses wrong key names
30
+ * An already built PMD binary was not reused in CI
31
+
32
+ # 1.1.0 / 2020-12-05
33
+
34
+ ## New and Noteworthy
35
+
36
+ * At least ruby 2.7 is required.
37
+
38
+ * Typeresolution is now supported by two new tags in the project-list.xml file:
39
+ `build-command` and `auxclasspath-command`. For details, see pull request [#72](https://github.com/pmd/pmd-regression-tester/pull/72).
40
+
41
+ * As part of [#74](https://github.com/pmd/pmd-regression-tester/pull/74) runner now returns a single hash
42
+ with the summarized values instead of multiple numbers:
43
+
44
+ ```
45
+ summary = PmdTester::Runner.new(argv).run
46
+ puts summary
47
+ # {:errors=>{:new=>0, :removed=>0}, :violations=>{:new=>0, :removed=>0, :changed=>0}, :configerrors=>{:new=>0, :removed=>0}}
48
+ ```
49
+
50
+ * As part of [#73](https://github.com/pmd/pmd-regression-tester/issues/73) and [#78](https://github.com/pmd/pmd-regression-tester/pull/78)
51
+ a improved HTML report is now generated with the following features:
52
+ * searchable table for violations with filters by rule/file/kind (added, removed, changed)
53
+ * summary of changes by rule
54
+ * code snippets for the violations
55
+
56
+ ## Fixed Issues
57
+
58
+ * [#48](https://github.com/pmd/pmd-regression-tester/issues/48): Support auxclasspath / typeresolution
59
+ * [#67](https://github.com/pmd/pmd-regression-tester/pull/67): Report contains errors having nil filename
60
+ * [#68](https://github.com/pmd/pmd-regression-tester/pull/68): Don't generate a dynamic ruleset if not needed
61
+ * [#69](https://github.com/pmd/pmd-regression-tester/pull/69): Detect single rules with auto-gen-config
62
+ * [#70](https://github.com/pmd/pmd-regression-tester/pull/70): Add link to PR on github in HTML report
63
+ * [#73](https://github.com/pmd/pmd-regression-tester/issues/73): Better HTML presentation for diff report
64
+ * [#74](https://github.com/pmd/pmd-regression-tester/pull/74): Merge violations that have just changed messages
65
+ * [#75](https://github.com/pmd/pmd-regression-tester/pull/75): Add new option "--error-recovery"
66
+ * [#76](https://github.com/pmd/pmd-regression-tester/pull/76): Speedup XML parsing
67
+ * [#79](https://github.com/pmd/pmd-regression-tester/pull/79): Add new configuration option "--baseline-download-url"
68
+ * [#80](https://github.com/pmd/pmd-regression-tester/pull/80): Cache and reuse pmd builds
69
+
70
+ ## External Contributions
71
+
72
+ # 1.0.1 / 2020-07-08
73
+
74
+ This is a bugfix release.
75
+
76
+ ## Fixed Issues
77
+
78
+ * [#62](https://github.com/pmd/pmd-regression-tester/pull/62): Violation descriptions parsed incompletely
79
+
1
80
  # 1.0.0 / 2020-04-25
2
81
 
3
82
  ## New and Noteworthy
data/Manifest.txt CHANGED
@@ -1,7 +1,13 @@
1
+ .ci/build.sh
2
+ .ci/inc/fetch_ci_scripts.bash
3
+ .ci/manual-integration-tests.sh
4
+ .github/workflows/build.yml
5
+ .github/workflows/manual-integration-tests.yml
6
+ .gitignore
1
7
  .hoerc
2
8
  .rubocop.yml
3
9
  .rubocop_todo.yml
4
- .travis.yml
10
+ .ruby-version
5
11
  Gemfile
6
12
  History.md
7
13
  LICENSE
@@ -13,18 +19,18 @@ config/all-java.xml
13
19
  config/design.xml
14
20
  config/project-list.xml
15
21
  config/projectlist_1_0_0.xsd
22
+ config/projectlist_1_1_0.xsd
23
+ config/projectlist_1_2_0.xsd
16
24
  lib/pmdtester.rb
17
- lib/pmdtester/builders/diff_builder.rb
18
- lib/pmdtester/builders/diff_report/configerrors.rb
19
- lib/pmdtester/builders/diff_report/errors.rb
20
- lib/pmdtester/builders/diff_report/violations.rb
21
- lib/pmdtester/builders/diff_report_builder.rb
22
- lib/pmdtester/builders/html_report_builder.rb
25
+ lib/pmdtester/builders/liquid_renderer.rb
23
26
  lib/pmdtester/builders/pmd_report_builder.rb
27
+ lib/pmdtester/builders/project_builder.rb
28
+ lib/pmdtester/builders/project_hasher.rb
24
29
  lib/pmdtester/builders/rule_set_builder.rb
25
30
  lib/pmdtester/builders/simple_progress_logger.rb
26
31
  lib/pmdtester/builders/summary_report_builder.rb
27
32
  lib/pmdtester/cmd.rb
33
+ lib/pmdtester/collection_by_file.rb
28
34
  lib/pmdtester/parsers/options.rb
29
35
  lib/pmdtester/parsers/pmd_report_document.rb
30
36
  lib/pmdtester/parsers/projects_parser.rb
@@ -32,11 +38,24 @@ lib/pmdtester/pmd_branch_detail.rb
32
38
  lib/pmdtester/pmd_configerror.rb
33
39
  lib/pmdtester/pmd_error.rb
34
40
  lib/pmdtester/pmd_report_detail.rb
41
+ lib/pmdtester/pmd_tester_utils.rb
35
42
  lib/pmdtester/pmd_violation.rb
36
43
  lib/pmdtester/project.rb
37
44
  lib/pmdtester/report_diff.rb
38
45
  lib/pmdtester/resource_locator.rb
39
46
  lib/pmdtester/runner.rb
40
47
  pmdtester.gemspec
41
- resources/css/maven-base.css
42
- resources/css/maven-theme.css
48
+ resources/_includes/diff_pill_row.html
49
+ resources/css/bootstrap.min.css
50
+ resources/css/datatables.min.css
51
+ resources/css/pmd-tester.css
52
+ resources/js/bootstrap.min.js
53
+ resources/js/code-snippets.js
54
+ resources/js/datatables.min.js
55
+ resources/js/jquery-3.2.1.slim.min.js
56
+ resources/js/jquery.min.js
57
+ resources/js/popper.min.js
58
+ resources/js/project-report.js
59
+ resources/project_diff_report.html
60
+ resources/project_index.html
61
+ resources/project_pmd_report.html