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.
- checksums.yaml +4 -4
- data/.ci/build.sh +67 -0
- data/.ci/files/env.gpg +1 -0
- data/.ci/inc/install-openjdk.inc +26 -0
- data/.ci/manual-integration-tests.sh +20 -0
- data/.github/workflows/build.yml +39 -0
- data/.github/workflows/manual-integration-tests.yml +32 -0
- data/.gitignore +9 -0
- data/.hoerc +1 -1
- data/.rubocop.yml +13 -2
- data/.rubocop_todo.yml +7 -8
- data/.ruby-version +1 -0
- data/Gemfile +1 -12
- data/History.md +104 -0
- data/Manifest.txt +30 -6
- data/README.rdoc +110 -60
- data/Rakefile +27 -15
- data/config/all-java.xml +1 -1
- data/config/design.xml +1 -1
- data/config/projectlist_1_0_0.xsd +2 -1
- data/config/projectlist_1_1_0.xsd +31 -0
- data/lib/pmdtester.rb +12 -4
- data/lib/pmdtester/builders/liquid_renderer.rb +73 -0
- data/lib/pmdtester/builders/pmd_report_builder.rb +134 -60
- data/lib/pmdtester/builders/project_builder.rb +100 -0
- data/lib/pmdtester/builders/project_hasher.rb +126 -0
- data/lib/pmdtester/builders/rule_set_builder.rb +94 -48
- data/lib/pmdtester/builders/simple_progress_logger.rb +27 -0
- data/lib/pmdtester/builders/summary_report_builder.rb +62 -117
- data/lib/pmdtester/cmd.rb +15 -1
- data/lib/pmdtester/collection_by_file.rb +55 -0
- data/lib/pmdtester/parsers/options.rb +25 -2
- data/lib/pmdtester/parsers/pmd_report_document.rb +79 -27
- data/lib/pmdtester/parsers/projects_parser.rb +2 -4
- data/lib/pmdtester/pmd_branch_detail.rb +36 -12
- data/lib/pmdtester/pmd_configerror.rb +62 -0
- data/lib/pmdtester/pmd_error.rb +34 -34
- data/lib/pmdtester/pmd_report_detail.rb +10 -13
- data/lib/pmdtester/pmd_tester_utils.rb +57 -0
- data/lib/pmdtester/pmd_violation.rb +66 -26
- data/lib/pmdtester/project.rb +28 -23
- data/lib/pmdtester/report_diff.rb +194 -70
- data/lib/pmdtester/resource_locator.rb +4 -0
- data/lib/pmdtester/runner.rb +81 -54
- data/pmdtester.gemspec +64 -0
- data/resources/_includes/diff_pill_row.html +6 -0
- data/resources/css/bootstrap.min.css +7 -0
- data/resources/css/datatables.min.css +36 -0
- data/resources/css/pmd-tester.css +132 -0
- data/resources/js/bootstrap.min.js +7 -0
- data/resources/js/code-snippets.js +73 -0
- data/resources/js/datatables.min.js +726 -0
- data/resources/js/jquery-3.2.1.slim.min.js +4 -0
- data/resources/js/jquery.min.js +2 -0
- data/resources/js/popper.min.js +5 -0
- data/resources/js/project-report.js +136 -0
- data/resources/project_diff_report.html +205 -0
- data/resources/project_index.html +102 -0
- metadata +122 -38
- data/.travis.yml +0 -22
- data/lib/pmdtester/builders/diff_builder.rb +0 -30
- data/lib/pmdtester/builders/diff_report_builder.rb +0 -225
- data/lib/pmdtester/builders/html_report_builder.rb +0 -33
- data/resources/css/maven-base.css +0 -155
- data/resources/css/maven-theme.css +0 -171
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4d45c31e2cf8ad4eaba391c13fa0523ade4a84394bc07a908e6a49806a12ebf6
|
4
|
+
data.tar.gz: fdf6c23a45dc0fd6738e272e564c3c29322dea2285269c1a869608bd77494d8a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
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
|
+
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:
|
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-
|
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:
|
9
|
+
# Offense count: 30
|
10
10
|
Metrics/AbcSize:
|
11
11
|
Max: 47
|
12
12
|
|
13
|
-
# Offense count:
|
13
|
+
# Offense count: 6
|
14
14
|
# Configuration parameters: CountComments.
|
15
15
|
Metrics/ClassLength:
|
16
|
-
Max:
|
16
|
+
Max: 135
|
17
17
|
|
18
|
-
# Offense count:
|
18
|
+
# Offense count: 38
|
19
19
|
# Configuration parameters: CountComments.
|
20
20
|
Metrics/MethodLength:
|
21
|
-
Max:
|
21
|
+
Max: 22
|
22
22
|
|
23
|
-
# Offense count:
|
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
|
-
.
|
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/
|
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
|
-
|
36
|
-
resources/
|
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
|