pmdtester 1.0.0.pre.beta3 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/.ci/build.sh +67 -0
  3. data/.ci/files/env.gpg +1 -0
  4. data/.ci/inc/install-openjdk.inc +26 -0
  5. data/.ci/manual-integration-tests.sh +20 -0
  6. data/.github/workflows/build.yml +39 -0
  7. data/.github/workflows/manual-integration-tests.yml +32 -0
  8. data/.gitignore +9 -0
  9. data/.hoerc +1 -1
  10. data/.rubocop.yml +13 -2
  11. data/.rubocop_todo.yml +7 -8
  12. data/.ruby-version +1 -0
  13. data/Gemfile +1 -12
  14. data/History.md +104 -0
  15. data/Manifest.txt +30 -6
  16. data/README.rdoc +110 -60
  17. data/Rakefile +27 -15
  18. data/config/all-java.xml +1 -1
  19. data/config/design.xml +1 -1
  20. data/config/projectlist_1_0_0.xsd +2 -1
  21. data/config/projectlist_1_1_0.xsd +31 -0
  22. data/lib/pmdtester.rb +12 -4
  23. data/lib/pmdtester/builders/liquid_renderer.rb +73 -0
  24. data/lib/pmdtester/builders/pmd_report_builder.rb +134 -60
  25. data/lib/pmdtester/builders/project_builder.rb +100 -0
  26. data/lib/pmdtester/builders/project_hasher.rb +126 -0
  27. data/lib/pmdtester/builders/rule_set_builder.rb +94 -48
  28. data/lib/pmdtester/builders/simple_progress_logger.rb +27 -0
  29. data/lib/pmdtester/builders/summary_report_builder.rb +62 -117
  30. data/lib/pmdtester/cmd.rb +15 -1
  31. data/lib/pmdtester/collection_by_file.rb +55 -0
  32. data/lib/pmdtester/parsers/options.rb +25 -2
  33. data/lib/pmdtester/parsers/pmd_report_document.rb +79 -27
  34. data/lib/pmdtester/parsers/projects_parser.rb +2 -4
  35. data/lib/pmdtester/pmd_branch_detail.rb +36 -12
  36. data/lib/pmdtester/pmd_configerror.rb +62 -0
  37. data/lib/pmdtester/pmd_error.rb +34 -34
  38. data/lib/pmdtester/pmd_report_detail.rb +10 -13
  39. data/lib/pmdtester/pmd_tester_utils.rb +57 -0
  40. data/lib/pmdtester/pmd_violation.rb +66 -26
  41. data/lib/pmdtester/project.rb +28 -23
  42. data/lib/pmdtester/report_diff.rb +194 -70
  43. data/lib/pmdtester/resource_locator.rb +4 -0
  44. data/lib/pmdtester/runner.rb +81 -54
  45. data/pmdtester.gemspec +64 -0
  46. data/resources/_includes/diff_pill_row.html +6 -0
  47. data/resources/css/bootstrap.min.css +7 -0
  48. data/resources/css/datatables.min.css +36 -0
  49. data/resources/css/pmd-tester.css +132 -0
  50. data/resources/js/bootstrap.min.js +7 -0
  51. data/resources/js/code-snippets.js +73 -0
  52. data/resources/js/datatables.min.js +726 -0
  53. data/resources/js/jquery-3.2.1.slim.min.js +4 -0
  54. data/resources/js/jquery.min.js +2 -0
  55. data/resources/js/popper.min.js +5 -0
  56. data/resources/js/project-report.js +136 -0
  57. data/resources/project_diff_report.html +205 -0
  58. data/resources/project_index.html +102 -0
  59. metadata +122 -38
  60. data/.travis.yml +0 -22
  61. data/lib/pmdtester/builders/diff_builder.rb +0 -30
  62. data/lib/pmdtester/builders/diff_report_builder.rb +0 -225
  63. data/lib/pmdtester/builders/html_report_builder.rb +0 -33
  64. data/resources/css/maven-base.css +0 -155
  65. data/resources/css/maven-theme.css +0 -171
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5f7a664829a0e913162fb40f38781976cf9260941e02f535baad1bb2debbe180
4
- data.tar.gz: f2805406fcccc9c00e3d009817f7fefa82c79cccc5ca1a08317daf4182f089a1
3
+ metadata.gz: 4d45c31e2cf8ad4eaba391c13fa0523ade4a84394bc07a908e6a49806a12ebf6
4
+ data.tar.gz: fdf6c23a45dc0fd6738e272e564c3c29322dea2285269c1a869608bd77494d8a
5
5
  SHA512:
6
- metadata.gz: 294c1d8e5eb098d609bfa351612222d7fa7a76002cc43e4ade678cfd74fa1bfac723fa24e0d77ba3b23d084126c3c1aebedf784599be266fd71f318b252f82ef
7
- data.tar.gz: 25df0d2de24c75a2bd0750d8025fabc0bad1c5d0f2c742eefbfc4884ffc664f1b6c46f7e2477a68daa50c753c0b575dda1b880df9868dd6d31b34c224d6a7882
6
+ metadata.gz: 249c6a07412a2b74405e84fe1780d5cdb8fe4173d32438c7c0fab4f78b5852ec1a63654e3a1219b4889c43e931d00451a361d27924dc0978061035abd7d03322
7
+ data.tar.gz: 3f4f7e4bf61f827ff475d9f302f1b73cf1e43c9807ac5b6aaf364d27bbb774db066f7a7af28586aa29ea2365e2664c915944afcedc2d0a112587f1e1cf0efb8a
data/.ci/build.sh ADDED
@@ -0,0 +1,67 @@
1
+ #!/usr/bin/env bash
2
+
3
+ source $(dirname $0)/inc/install-openjdk.inc
4
+
5
+ set -e
6
+
7
+
8
+ function build_regression_tester() {
9
+ echo "::group::Install OpenJDK 8+11"
10
+ install_openjdk 8
11
+ install_openjdk 11 # last one is the default
12
+ echo "::endgroup::"
13
+
14
+ echo "::group::Install dependencies"
15
+ gem install bundler
16
+ bundle config set --local path vendor/bundle
17
+ bundle install
18
+ echo "::endgroup::"
19
+
20
+ echo "::group::Build with rake"
21
+ bundle exec rake check_manifest
22
+ bundle exec rake rubocop
23
+ bundle exec rake clean test
24
+ echo "::endgroup::"
25
+
26
+ echo "::group::Run Integration Tests"
27
+ bundle exec rake clean integration-test
28
+ echo "::endgroup::"
29
+
30
+ echo "::group::Build Package"
31
+ bundle exec rake install_gem
32
+ bundle exec pmdtester -h
33
+ echo "::endgroup::"
34
+
35
+ # builds on forks or builds for pull requests stop here
36
+ if [[ "${PMD_CI_REPO}" != "pmd/pmd-regression-tester" || -n "${PMD_CI_PULL_REQUEST_NUMBER}" ]]; then
37
+ exit 0
38
+ fi
39
+
40
+ # if this is a release build from a tag...
41
+ if [[ "${PMD_CI_REPO}" == "pmd/pmd-regression-tester" && "${PMD_CI_GIT_REF}" == refs/tags/* ]]; then
42
+ echo "::group::Publish to rubygems"
43
+ setup_secrets
44
+
45
+ git stash --all
46
+ gem build pmdtester.gemspec
47
+ gem push pmdtester-*.gem
48
+ echo "::endgroup::"
49
+ fi
50
+
51
+ }
52
+
53
+ ## helper functions
54
+
55
+ function setup_secrets() {
56
+ echo "Setting up secrets..."
57
+ # Required secrets are: GEM_HOST_API_KEY
58
+ local -r env_file=".ci/files/env"
59
+ printenv PMD_CI_SECRET_PASSPHRASE | gpg --batch --yes --decrypt \
60
+ --passphrase-fd 0 \
61
+ --output ${env_file} ${env_file}.gpg
62
+ source ${env_file} >/dev/null 2>&1
63
+ rm ${env_file}
64
+ }
65
+
66
+
67
+ build_regression_tester
data/.ci/files/env.gpg ADDED
@@ -0,0 +1 @@
1
+
@@ -0,0 +1,26 @@
1
+
2
+ function install_openjdk() {
3
+ OPENJDK_VERSION=$1
4
+ echo "Installing OpenJDK ${OPENJDK_VERSION}"
5
+ JDK_OS=linux
6
+ COMPONENTS_TO_STRIP=1 # e.g. openjdk-11.0.3+7/bin/java
7
+ DOWNLOAD_URL=$(curl --silent -X GET "https://api.adoptopenjdk.net/v3/assets/feature_releases/${OPENJDK_VERSION}/ga?architecture=x64&heap_size=normal&image_type=jdk&jvm_impl=hotspot&os=${JDK_OS}&page=0&page_size=1&project=jdk&sort_method=DEFAULT&sort_order=DESC&vendor=adoptopenjdk" \
8
+ -H "accept: application/json" \
9
+ | jq -r ".[0].binaries[0].package.link")
10
+ OPENJDK_ARCHIVE=$(basename ${DOWNLOAD_URL})
11
+ CACHE_DIR=${HOME}/.cache/openjdk
12
+ TARGET_DIR=${HOME}/openjdk${OPENJDK_VERSION}
13
+ mkdir -p ${CACHE_DIR}
14
+ mkdir -p ${TARGET_DIR}
15
+ if [ ! -e ${CACHE_DIR}/${OPENJDK_ARCHIVE} ]; then
16
+ echo "Downloading from ${DOWNLOAD_URL} to ${CACHE_DIR}"
17
+ curl --location --output ${CACHE_DIR}/${OPENJDK_ARCHIVE} "${DOWNLOAD_URL}"
18
+ else
19
+ echo "Skipped download, file ${CACHE_DIR}/${OPENJDK_ARCHIVE} already exists"
20
+ fi
21
+ tar --extract --file ${CACHE_DIR}/${OPENJDK_ARCHIVE} -C ${TARGET_DIR} --strip-components=${COMPONENTS_TO_STRIP}
22
+ export JAVA_HOME="${TARGET_DIR}"
23
+ export PATH="${TARGET_DIR}/bin:${PATH}"
24
+ java -version
25
+ echo "Java is available at ${TARGET_DIR}"
26
+ }
@@ -0,0 +1,20 @@
1
+ #!/usr/bin/env bash
2
+
3
+ source $(dirname $0)/inc/install-openjdk.inc
4
+
5
+ set -e
6
+
7
+ echo "::group::Install OpenJDK 8+11"
8
+ install_openjdk 8
9
+ install_openjdk 11 # last one is the default
10
+ echo "::endgroup::"
11
+
12
+ echo "::group::Install dependencies"
13
+ gem install bundler
14
+ bundle config set --local path vendor/bundle
15
+ bundle install
16
+ echo "::endgroup::"
17
+
18
+ echo "::group::Run Manual Integration Tests"
19
+ bundle exec ruby -I test test/manual_integration_tests.rb
20
+ echo "::endgroup::"
@@ -0,0 +1,39 @@
1
+ name: build
2
+
3
+ on:
4
+ push:
5
+ branches: [ master ]
6
+ tags:
7
+ - '**'
8
+ pull_request:
9
+ branches: [ master ]
10
+
11
+ jobs:
12
+ build:
13
+ runs-on: ubuntu-latest
14
+ continue-on-error: false
15
+ if: ${{ !contains(github.event.head_commit.message, '[skip ci]') }}
16
+ steps:
17
+ - uses: actions/checkout@v2
18
+ - uses: actions/cache@v2
19
+ with:
20
+ path: |
21
+ ~/.m2/repository
22
+ ~/.cache
23
+ vendor/bundle
24
+ key: ${{ runner.os }}-${{ hashFiles('pmdtester.gemspec') }}
25
+ restore-keys: |
26
+ ${{ runner.os }}-
27
+ - name: Set up Ruby
28
+ uses: ruby/setup-ruby@v1
29
+ with:
30
+ ruby-version: 2.7
31
+ - name: Build
32
+ run: .ci/build.sh
33
+ shell: bash
34
+ env:
35
+ MAVEN_OPTS: -Dmaven.wagon.httpconnectionManager.ttlSeconds=180 -Dmaven.wagon.http.retryHandler.count=3
36
+ PMD_CI_SECRET_PASSPHRASE: ${{ secrets.PMD_CI_SECRET_PASSPHRASE }}
37
+ PMD_CI_REPO: ${{ github.repository }}
38
+ PMD_CI_PULL_REQUEST_NUMBER: ${{ github.event.pull_request.number }}
39
+ PMD_CI_GIT_REF: ${{ github.ref }}
@@ -0,0 +1,32 @@
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
+ key: ${{ runner.os }}-${{ hashFiles('pmdtester.gemspec') }}
18
+ restore-keys: |
19
+ ${{ runner.os }}-
20
+ - name: Set up Ruby
21
+ uses: ruby/setup-ruby@v1
22
+ with:
23
+ ruby-version: 2.7
24
+ - name: Build
25
+ run: .ci/manual-integration-tests.sh
26
+ shell: bash
27
+ env:
28
+ MAVEN_OPTS: -Dmaven.wagon.httpconnectionManager.ttlSeconds=180 -Dmaven.wagon.http.retryHandler.count=3
29
+ PMD_CI_SECRET_PASSPHRASE: ${{ secrets.PMD_CI_SECRET_PASSPHRASE }}
30
+ PMD_CI_REPO: ${{ github.repository }}
31
+ PMD_CI_PULL_REQUEST_NUMBER: ${{ github.event.pull_request.number }}
32
+ PMD_CI_GIT_REF: ${{ github.ref }}
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/
1
+ exclude: !ruby/regexp /tmp$|\.(git|idea)\/|\.project|target|test\/|Gemfile\.lock|\.bundle\/|vendor\/bundle|localtests/
data/.rubocop.yml CHANGED
@@ -1,18 +1,29 @@
1
1
  inherit_from: .rubocop_todo.yml
2
2
 
3
3
  AllCops:
4
- TargetRubyVersion: 2.4
4
+ TargetRubyVersion: 2.7
5
+ Include:
6
+ - 'lib/**/*'
7
+ - 'test/**/*'
5
8
  Exclude:
9
+ # pmdtester.gemspec and Gemfile are generated
10
+ - 'pmdtester.gemspec'
11
+ - 'Gemfile'
6
12
  - 'target/**/*'
7
13
  - 'test/resources/**/*'
14
+ - 'vendor/**/*'
8
15
 
9
16
  Metrics/LineLength:
10
- Max: 100
17
+ Max: 120
11
18
 
12
19
  Metrics/MethodLength:
13
20
  Exclude:
14
21
  - 'lib/pmdtester/parsers/options.rb'
15
22
 
23
+ Metrics/ClassLength:
24
+ Exclude:
25
+ - '**/*'
26
+
16
27
  Metrics/BlockLength:
17
28
  Exclude:
18
29
  - 'lib/pmdtester/parsers/options.rb'
data/.rubocop_todo.yml CHANGED
@@ -1,27 +1,26 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2018-07-12 16:57:46 +0800 using RuboCop version 0.56.0.
3
+ # on 2018-11-25 11:00:37 +0100 using RuboCop version 0.51.0.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
7
7
  # versions of RuboCop, may require this file to be generated again.
8
8
 
9
- # Offense count: 22
9
+ # Offense count: 30
10
10
  Metrics/AbcSize:
11
11
  Max: 47
12
12
 
13
- # Offense count: 3
13
+ # Offense count: 6
14
14
  # Configuration parameters: CountComments.
15
15
  Metrics/ClassLength:
16
- Max: 174
16
+ Max: 135
17
17
 
18
- # Offense count: 33
18
+ # Offense count: 38
19
19
  # Configuration parameters: CountComments.
20
20
  Metrics/MethodLength:
21
- Max: 35
21
+ Max: 22
22
22
 
23
- # Offense count: 5
23
+ # Offense count: 3
24
24
  Naming/AccessorMethodName:
25
25
  Exclude:
26
26
  - 'lib/pmdtester/builders/pmd_report_builder.rb'
27
- - 'lib/pmdtester/parsers/projects_parser.rb'
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.7
data/Gemfile CHANGED
@@ -3,17 +3,6 @@
3
3
  # DO NOT EDIT THIS FILE. Instead, edit Rakefile, and run `rake bundler:gemfile`.
4
4
 
5
5
  source "https://rubygems.org/"
6
-
7
- gem "nokogiri", "~>1.8.2"
8
- gem "slop", "~>4.6.2"
9
-
10
- gem "hoe-bundler", "~>1.2", :group => [:development, :test]
11
- gem "hoe-git", "~>1.6", :group => [:development, :test]
12
- gem "minitest", "~>5.10.1", :group => [:development, :test]
13
- gem "mocha", "~>1.5.0", :group => [:development, :test]
14
- gem "rubocop", "~>0.56.0", :group => [:development, :test]
15
- gem "test-unit", "~>3.2.3", :group => [:development, :test]
16
- gem "rdoc", ">=4.0", "<6", :group => [:development, :test]
17
- gem "hoe", "~>3.17", :group => [:development, :test]
6
+ gemspec
18
7
 
19
8
  # vim: syntax=ruby
data/History.md CHANGED
@@ -1,3 +1,106 @@
1
+ # 1.1.2 / 2021-04-20
2
+
3
+ This is a bugfix release.
4
+
5
+ ## Fixed Issues
6
+
7
+ * [#85](https://github.com/pmd/pmd-regression-tester/issues/85): HTML is not escaped in snippet preview
8
+ * [#84](https://github.com/pmd/pmd-regression-tester/issues/84): Leading spaces are missing in code snippet preview
9
+
10
+ # 1.1.1 / 2021-01-15
11
+
12
+ This is a bugfix release.
13
+
14
+ ## Fixed Issues
15
+
16
+ * [#81](https://github.com/pmd/pmd-regression-tester/pull/81): Dynamically generated rulesets are not applied on diffs
17
+ * [#82](https://github.com/pmd/pmd-regression-tester/pull/82): Summary hash uses wrong key names
18
+ * An already built PMD binary was not reused in CI
19
+
20
+ # 1.1.0 / 2020-12-05
21
+
22
+ ## New and Noteworthy
23
+
24
+ * At least ruby 2.7 is required.
25
+
26
+ * Typeresolution is now supported by two new tags in the project-list.xml file:
27
+ `build-command` and `auxclasspath-command`. For details, see pull request [#72](https://github.com/pmd/pmd-regression-tester/pull/72).
28
+
29
+ * As part of [#74](https://github.com/pmd/pmd-regression-tester/pull/74) runner now returns a single hash
30
+ with the summarized values instead of multiple numbers:
31
+
32
+ ```
33
+ summary = PmdTester::Runner.new(argv).run
34
+ puts summary
35
+ # {:errors=>{:new=>0, :removed=>0}, :violations=>{:new=>0, :removed=>0, :changed=>0}, :configerrors=>{:new=>0, :removed=>0}}
36
+ ```
37
+
38
+ * As part of [#73](https://github.com/pmd/pmd-regression-tester/issues/73) and [#78](https://github.com/pmd/pmd-regression-tester/pull/78)
39
+ a improved HTML report is now generated with the following features:
40
+ * searchable table for violations with filters by rule/file/kind (added, removed, changed)
41
+ * summary of changes by rule
42
+ * code snippets for the violations
43
+
44
+ ## Fixed Issues
45
+
46
+ * [#48](https://github.com/pmd/pmd-regression-tester/issues/48): Support auxclasspath / typeresolution
47
+ * [#67](https://github.com/pmd/pmd-regression-tester/pull/67): Report contains errors having nil filename
48
+ * [#68](https://github.com/pmd/pmd-regression-tester/pull/68): Don't generate a dynamic ruleset if not needed
49
+ * [#69](https://github.com/pmd/pmd-regression-tester/pull/69): Detect single rules with auto-gen-config
50
+ * [#70](https://github.com/pmd/pmd-regression-tester/pull/70): Add link to PR on github in HTML report
51
+ * [#73](https://github.com/pmd/pmd-regression-tester/issues/73): Better HTML presentation for diff report
52
+ * [#74](https://github.com/pmd/pmd-regression-tester/pull/74): Merge violations that have just changed messages
53
+ * [#75](https://github.com/pmd/pmd-regression-tester/pull/75): Add new option "--error-recovery"
54
+ * [#76](https://github.com/pmd/pmd-regression-tester/pull/76): Speedup XML parsing
55
+ * [#79](https://github.com/pmd/pmd-regression-tester/pull/79): Add new configuration option "--baseline-download-url"
56
+ * [#80](https://github.com/pmd/pmd-regression-tester/pull/80): Cache and reuse pmd builds
57
+
58
+ ## External Contributions
59
+
60
+ # 1.0.1 / 2020-07-08
61
+
62
+ This is a bugfix release.
63
+
64
+ ## Fixed Issues
65
+
66
+ * [#62](https://github.com/pmd/pmd-regression-tester/pull/62): Violation descriptions parsed incompletely
67
+
68
+ # 1.0.0 / 2020-04-25
69
+
70
+ ## New and Noteworthy
71
+
72
+ First stable release.
73
+
74
+ ## Fixed Issues
75
+
76
+ * [#35](https://github.com/pmd/pmd-regression-tester/issues/35): exclude-pattern hasn't been implemented
77
+ * [#37](https://github.com/pmd/pmd-regression-tester/issues/37): Render stack traces properly
78
+ * [#38](https://github.com/pmd/pmd-regression-tester/issues/38): Improve Danger messages
79
+ * [#40](https://github.com/pmd/pmd-regression-tester/issues/40): NoMethodError on beta3
80
+ * [#42](https://github.com/pmd/pmd-regression-tester/issues/42): Installing the snapshot version of pmdtester locally from github
81
+ * [#46](https://github.com/pmd/pmd-regression-tester/issues/46): Support multithreaded execution of PMD
82
+ * [#47](https://github.com/pmd/pmd-regression-tester/issues/47): Reuse the already built PMD binary for PR checks
83
+ * [#49](https://github.com/pmd/pmd-regression-tester/issues/49): Support comparing two error stacktraces
84
+ * [#50](https://github.com/pmd/pmd-regression-tester/issues/50): Differences due to different locale settings
85
+ * [#57](https://github.com/pmd/pmd-regression-tester/issues/57): Support configuration errors in the report
86
+ * [#60](https://github.com/pmd/pmd-regression-tester/issues/60): Display a simple progress report
87
+
88
+ ## External Contributions
89
+
90
+ * [#33](https://github.com/pmd/pmd-regression-tester/pull/33): Ignore changes to test code of PMD when generating dynamic rule sets - [BBG](https://github.com/djydewang)
91
+ * [#34](https://github.com/pmd/pmd-regression-tester/pull/34): Clear old reports before generating new differences regression reports - [BBG](https://github.com/djydewang)
92
+ * [#36](https://github.com/pmd/pmd-regression-tester/pull/36): Implements exclude-pattern - [BBG](https://github.com/djydewang)
93
+ * [#39](https://github.com/pmd/pmd-regression-tester/pull/39): Render stacktraces properly - [BBG](https://github.com/djydewang)
94
+ * [#41](https://github.com/pmd/pmd-regression-tester/pull/41): Fixes NoMethodError in Project class - [BBG](https://github.com/djydewang)
95
+ * [#43](https://github.com/pmd/pmd-regression-tester/pull/43): Adds pmdtester.gemspec file - [BBG](https://github.com/djydewang)
96
+ * [#44](https://github.com/pmd/pmd-regression-tester/pull/44): Improve Danger messages & Increase the readability of the summary report - [BBG](https://github.com/djydewang)
97
+ * [#45](https://github.com/pmd/pmd-regression-tester/pull/45): Removes the exit statement in RuleSetBuilder Class - [BBG](https://github.com/djydewang)
98
+ * [#51](https://github.com/pmd/pmd-regression-tester/pull/51): Add the JDK version and locale info to the summary table of the diff report - [BBG](https://github.com/djydewang)
99
+ * [#52](https://github.com/pmd/pmd-regression-tester/pull/52): Get the result of command 'java -version' from stderr rather than stdout - [BBG](https://github.com/djydewang)
100
+ * [#53](https://github.com/pmd/pmd-regression-tester/pull/53): Support comparing the two error stacktraces - [BBG](https://github.com/djydewang)
101
+ * [#54](https://github.com/pmd/pmd-regression-tester/pull/54): Support multithreaded execution of PMD - [BBG](https://github.com/djydewang)
102
+ * [#61](https://github.com/pmd/pmd-regression-tester/pull/61): Display a simple progress report every 2 minutes - [BBG](https://github.com/djydewang)
103
+
1
104
  # 1.0.0.beta3 / 2018-08-01
2
105
 
3
106
  Note: This is a beta release. The pmdtester is feature complete,
@@ -11,6 +114,7 @@ but might contain bugs.
11
114
  * [#31](https://github.com/pmd/pmd-regression-tester/pull/31): Fix color scheme for diff report, add default values for various options - [BBG](https://github.com/djydewang)
12
115
  * [#32](https://github.com/pmd/pmd-regression-tester/pull/32): Update Readme.rdoc - [BBG](https://github.com/djydewang)
13
116
 
117
+
14
118
  # 1.0.0.beta2 / 2018-07-17
15
119
 
16
120
  * First release of pmdtester
data/Manifest.txt CHANGED
@@ -1,7 +1,14 @@
1
+ .ci/build.sh
2
+ .ci/files/env.gpg
3
+ .ci/inc/install-openjdk.inc
4
+ .ci/manual-integration-tests.sh
5
+ .github/workflows/build.yml
6
+ .github/workflows/manual-integration-tests.yml
7
+ .gitignore
1
8
  .hoerc
2
9
  .rubocop.yml
3
10
  .rubocop_todo.yml
4
- .travis.yml
11
+ .ruby-version
5
12
  Gemfile
6
13
  History.md
7
14
  LICENSE
@@ -13,24 +20,41 @@ config/all-java.xml
13
20
  config/design.xml
14
21
  config/project-list.xml
15
22
  config/projectlist_1_0_0.xsd
23
+ config/projectlist_1_1_0.xsd
16
24
  lib/pmdtester.rb
17
- lib/pmdtester/builders/diff_builder.rb
18
- lib/pmdtester/builders/diff_report_builder.rb
19
- lib/pmdtester/builders/html_report_builder.rb
25
+ lib/pmdtester/builders/liquid_renderer.rb
20
26
  lib/pmdtester/builders/pmd_report_builder.rb
27
+ lib/pmdtester/builders/project_builder.rb
28
+ lib/pmdtester/builders/project_hasher.rb
21
29
  lib/pmdtester/builders/rule_set_builder.rb
30
+ lib/pmdtester/builders/simple_progress_logger.rb
22
31
  lib/pmdtester/builders/summary_report_builder.rb
23
32
  lib/pmdtester/cmd.rb
33
+ lib/pmdtester/collection_by_file.rb
24
34
  lib/pmdtester/parsers/options.rb
25
35
  lib/pmdtester/parsers/pmd_report_document.rb
26
36
  lib/pmdtester/parsers/projects_parser.rb
27
37
  lib/pmdtester/pmd_branch_detail.rb
38
+ lib/pmdtester/pmd_configerror.rb
28
39
  lib/pmdtester/pmd_error.rb
29
40
  lib/pmdtester/pmd_report_detail.rb
41
+ lib/pmdtester/pmd_tester_utils.rb
30
42
  lib/pmdtester/pmd_violation.rb
31
43
  lib/pmdtester/project.rb
32
44
  lib/pmdtester/report_diff.rb
33
45
  lib/pmdtester/resource_locator.rb
34
46
  lib/pmdtester/runner.rb
35
- resources/css/maven-base.css
36
- resources/css/maven-theme.css
47
+ pmdtester.gemspec
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