pmdtester 1.0.0.pre.beta2 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- 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 -0
- data/.rubocop.yml +21 -2
- data/.rubocop_todo.yml +7 -8
- data/.ruby-version +1 -0
- data/Gemfile +1 -13
- data/History.md +108 -0
- data/Manifest.txt +60 -0
- data/README.rdoc +130 -7
- data/Rakefile +31 -17
- data/bin/pmdtester +1 -1
- 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 +48 -0
- data/lib/pmdtester/builders/liquid_renderer.rb +73 -0
- data/lib/pmdtester/builders/pmd_report_builder.rb +133 -64
- 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 +95 -51
- data/lib/pmdtester/builders/simple_progress_logger.rb +27 -0
- data/lib/pmdtester/builders/summary_report_builder.rb +62 -120
- data/lib/pmdtester/cmd.rb +15 -1
- data/lib/pmdtester/collection_by_file.rb +55 -0
- data/lib/pmdtester/parsers/options.rb +33 -10
- data/lib/pmdtester/parsers/pmd_report_document.rb +79 -29
- data/lib/pmdtester/parsers/projects_parser.rb +2 -6
- data/lib/pmdtester/pmd_branch_detail.rb +36 -13
- 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 -25
- data/lib/pmdtester/report_diff.rb +194 -70
- data/lib/pmdtester/resource_locator.rb +4 -0
- data/lib/pmdtester/runner.rb +82 -57
- 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 +131 -0
- data/resources/js/bootstrap.min.js +7 -0
- data/resources/js/code-snippets.js +66 -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 +117 -44
- data/.travis.yml +0 -22
- data/lib/pmdtester/builders/diff_builder.rb +0 -35
- data/lib/pmdtester/builders/diff_report_builder.rb +0 -226
- data/lib/pmdtester/builders/html_report_builder.rb +0 -34
- data/lib/pmdtester/pmdtester.rb +0 -17
- 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: 4d0d2deb3eea885db1ea9fd273fc2330f93be694a4a7f804f6ffc03811b67280
|
4
|
+
data.tar.gz: 1cd1d39bdfd34a113a88275c9662a180c352b425d2ab06278fdd4530ce2bf8d5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4fea894ba2fe827517f09a54cef4f729f7a2a3340318479422a3d4f5ca064d3ef7fefc7474a174b2b0a0de8644b8985d83da3663828ee2bb1e37b4b2f33faf39
|
7
|
+
data.tar.gz: d3057fde3a18df5ba4fcad91ed1159de018ae2b3732eb867fc546ac4e8f819547765bdbb3acb20787e126a09edc2b929f9dab6c9e2f5bf946e1acc58677a2c1e
|
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
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
exclude: !ruby/regexp /tmp$|\.(git|idea)\/|\.project|target|test\/|Gemfile\.lock|\.bundle\/|vendor\/bundle|localtests/
|
data/.rubocop.yml
CHANGED
@@ -1,10 +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
|
18
|
+
|
19
|
+
Metrics/MethodLength:
|
20
|
+
Exclude:
|
21
|
+
- 'lib/pmdtester/parsers/options.rb'
|
22
|
+
|
23
|
+
Metrics/ClassLength:
|
24
|
+
Exclude:
|
25
|
+
- '**/*'
|
26
|
+
|
27
|
+
Metrics/BlockLength:
|
28
|
+
Exclude:
|
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,18 +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-gemspec", "~>1.0", :group => [:development, :test]
|
12
|
-
gem "hoe-git", "~>1.6", :group => [:development, :test]
|
13
|
-
gem "minitest", "~>5.10.1", :group => [:development, :test]
|
14
|
-
gem "mocha", "~>1.5.0", :group => [:development, :test]
|
15
|
-
gem "rubocop", "~>0.56.0", :group => [:development, :test]
|
16
|
-
gem "test-unit", "~>3.2.3", :group => [:development, :test]
|
17
|
-
gem "rdoc", ">=4.0", "<6", :group => [:development, :test]
|
18
|
-
gem "hoe", "~>3.17", :group => [:development, :test]
|
6
|
+
gemspec
|
19
7
|
|
20
8
|
# vim: syntax=ruby
|
data/History.md
CHANGED
@@ -1,3 +1,111 @@
|
|
1
|
+
# 1.1.1 / 2021-01-15
|
2
|
+
|
3
|
+
This is a bugfix release.
|
4
|
+
|
5
|
+
## Fixed Issues
|
6
|
+
|
7
|
+
* [#81](https://github.com/pmd/pmd-regression-tester/pull/81): Dynamically generated rulesets are not applied on diffs
|
8
|
+
* [#82](https://github.com/pmd/pmd-regression-tester/pull/82): Summary hash uses wrong key names
|
9
|
+
* An already built PMD binary was not reused in CI
|
10
|
+
|
11
|
+
# 1.1.0 / 2020-12-05
|
12
|
+
|
13
|
+
## New and Noteworthy
|
14
|
+
|
15
|
+
* At least ruby 2.7 is required.
|
16
|
+
|
17
|
+
* Typeresolution is now supported by two new tags in the project-list.xml file:
|
18
|
+
`build-command` and `auxclasspath-command`. For details, see pull request [#72](https://github.com/pmd/pmd-regression-tester/pull/72).
|
19
|
+
|
20
|
+
* As part of [#74](https://github.com/pmd/pmd-regression-tester/pull/74) runner now returns a single hash
|
21
|
+
with the summarized values instead of multiple numbers:
|
22
|
+
|
23
|
+
```
|
24
|
+
summary = PmdTester::Runner.new(argv).run
|
25
|
+
puts summary
|
26
|
+
# {:errors=>{:new=>0, :removed=>0}, :violations=>{:new=>0, :removed=>0, :changed=>0}, :configerrors=>{:new=>0, :removed=>0}}
|
27
|
+
```
|
28
|
+
|
29
|
+
* As part of [#73](https://github.com/pmd/pmd-regression-tester/issues/73) and [#78](https://github.com/pmd/pmd-regression-tester/pull/78)
|
30
|
+
a improved HTML report is now generated with the following features:
|
31
|
+
* searchable table for violations with filters by rule/file/kind (added, removed, changed)
|
32
|
+
* summary of changes by rule
|
33
|
+
* code snippets for the violations
|
34
|
+
|
35
|
+
## Fixed Issues
|
36
|
+
|
37
|
+
* [#48](https://github.com/pmd/pmd-regression-tester/issues/48): Support auxclasspath / typeresolution
|
38
|
+
* [#67](https://github.com/pmd/pmd-regression-tester/pull/67): Report contains errors having nil filename
|
39
|
+
* [#68](https://github.com/pmd/pmd-regression-tester/pull/68): Don't generate a dynamic ruleset if not needed
|
40
|
+
* [#69](https://github.com/pmd/pmd-regression-tester/pull/69): Detect single rules with auto-gen-config
|
41
|
+
* [#70](https://github.com/pmd/pmd-regression-tester/pull/70): Add link to PR on github in HTML report
|
42
|
+
* [#73](https://github.com/pmd/pmd-regression-tester/issues/73): Better HTML presentation for diff report
|
43
|
+
* [#74](https://github.com/pmd/pmd-regression-tester/pull/74): Merge violations that have just changed messages
|
44
|
+
* [#75](https://github.com/pmd/pmd-regression-tester/pull/75): Add new option "--error-recovery"
|
45
|
+
* [#76](https://github.com/pmd/pmd-regression-tester/pull/76): Speedup XML parsing
|
46
|
+
* [#79](https://github.com/pmd/pmd-regression-tester/pull/79): Add new configuration option "--baseline-download-url"
|
47
|
+
* [#80](https://github.com/pmd/pmd-regression-tester/pull/80): Cache and reuse pmd builds
|
48
|
+
|
49
|
+
## External Contributions
|
50
|
+
|
51
|
+
# 1.0.1 / 2020-07-08
|
52
|
+
|
53
|
+
This is a bugfix release.
|
54
|
+
|
55
|
+
## Fixed Issues
|
56
|
+
|
57
|
+
* [#62](https://github.com/pmd/pmd-regression-tester/pull/62): Violation descriptions parsed incompletely
|
58
|
+
|
59
|
+
# 1.0.0 / 2020-04-25
|
60
|
+
|
61
|
+
## New and Noteworthy
|
62
|
+
|
63
|
+
First stable release.
|
64
|
+
|
65
|
+
## Fixed Issues
|
66
|
+
|
67
|
+
* [#35](https://github.com/pmd/pmd-regression-tester/issues/35): exclude-pattern hasn't been implemented
|
68
|
+
* [#37](https://github.com/pmd/pmd-regression-tester/issues/37): Render stack traces properly
|
69
|
+
* [#38](https://github.com/pmd/pmd-regression-tester/issues/38): Improve Danger messages
|
70
|
+
* [#40](https://github.com/pmd/pmd-regression-tester/issues/40): NoMethodError on beta3
|
71
|
+
* [#42](https://github.com/pmd/pmd-regression-tester/issues/42): Installing the snapshot version of pmdtester locally from github
|
72
|
+
* [#46](https://github.com/pmd/pmd-regression-tester/issues/46): Support multithreaded execution of PMD
|
73
|
+
* [#47](https://github.com/pmd/pmd-regression-tester/issues/47): Reuse the already built PMD binary for PR checks
|
74
|
+
* [#49](https://github.com/pmd/pmd-regression-tester/issues/49): Support comparing two error stacktraces
|
75
|
+
* [#50](https://github.com/pmd/pmd-regression-tester/issues/50): Differences due to different locale settings
|
76
|
+
* [#57](https://github.com/pmd/pmd-regression-tester/issues/57): Support configuration errors in the report
|
77
|
+
* [#60](https://github.com/pmd/pmd-regression-tester/issues/60): Display a simple progress report
|
78
|
+
|
79
|
+
## External Contributions
|
80
|
+
|
81
|
+
* [#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)
|
82
|
+
* [#34](https://github.com/pmd/pmd-regression-tester/pull/34): Clear old reports before generating new differences regression reports - [BBG](https://github.com/djydewang)
|
83
|
+
* [#36](https://github.com/pmd/pmd-regression-tester/pull/36): Implements exclude-pattern - [BBG](https://github.com/djydewang)
|
84
|
+
* [#39](https://github.com/pmd/pmd-regression-tester/pull/39): Render stacktraces properly - [BBG](https://github.com/djydewang)
|
85
|
+
* [#41](https://github.com/pmd/pmd-regression-tester/pull/41): Fixes NoMethodError in Project class - [BBG](https://github.com/djydewang)
|
86
|
+
* [#43](https://github.com/pmd/pmd-regression-tester/pull/43): Adds pmdtester.gemspec file - [BBG](https://github.com/djydewang)
|
87
|
+
* [#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)
|
88
|
+
* [#45](https://github.com/pmd/pmd-regression-tester/pull/45): Removes the exit statement in RuleSetBuilder Class - [BBG](https://github.com/djydewang)
|
89
|
+
* [#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)
|
90
|
+
* [#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)
|
91
|
+
* [#53](https://github.com/pmd/pmd-regression-tester/pull/53): Support comparing the two error stacktraces - [BBG](https://github.com/djydewang)
|
92
|
+
* [#54](https://github.com/pmd/pmd-regression-tester/pull/54): Support multithreaded execution of PMD - [BBG](https://github.com/djydewang)
|
93
|
+
* [#61](https://github.com/pmd/pmd-regression-tester/pull/61): Display a simple progress report every 2 minutes - [BBG](https://github.com/djydewang)
|
94
|
+
|
95
|
+
# 1.0.0.beta3 / 2018-08-01
|
96
|
+
|
97
|
+
Note: This is a beta release. The pmdtester is feature complete,
|
98
|
+
but might contain bugs.
|
99
|
+
|
100
|
+
## External Contributions
|
101
|
+
|
102
|
+
* [#28](https://github.com/pmd/pmd-regression-tester/pull/28): Refactor require statements - [BBG](https://github.com/djydewang)
|
103
|
+
* [#29](https://github.com/pmd/pmd-regression-tester/pull/29): Add 'verify' rake task to verify code quality before committing changes - [BBG](https://github.com/djydewang)
|
104
|
+
* [#30](https://github.com/pmd/pmd-regression-tester/pull/30): Fix diff_cmd in RuleSetBuilder - [BBG](https://github.com/djydewang)
|
105
|
+
* [#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)
|
106
|
+
* [#32](https://github.com/pmd/pmd-regression-tester/pull/32): Update Readme.rdoc - [BBG](https://github.com/djydewang)
|
107
|
+
|
108
|
+
|
1
109
|
# 1.0.0.beta2 / 2018-07-17
|
2
110
|
|
3
111
|
* First release of pmdtester
|
data/Manifest.txt
ADDED
@@ -0,0 +1,60 @@
|
|
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
|
8
|
+
.hoerc
|
9
|
+
.rubocop.yml
|
10
|
+
.rubocop_todo.yml
|
11
|
+
.ruby-version
|
12
|
+
Gemfile
|
13
|
+
History.md
|
14
|
+
LICENSE
|
15
|
+
Manifest.txt
|
16
|
+
README.rdoc
|
17
|
+
Rakefile
|
18
|
+
bin/pmdtester
|
19
|
+
config/all-java.xml
|
20
|
+
config/design.xml
|
21
|
+
config/project-list.xml
|
22
|
+
config/projectlist_1_0_0.xsd
|
23
|
+
config/projectlist_1_1_0.xsd
|
24
|
+
lib/pmdtester.rb
|
25
|
+
lib/pmdtester/builders/liquid_renderer.rb
|
26
|
+
lib/pmdtester/builders/pmd_report_builder.rb
|
27
|
+
lib/pmdtester/builders/project_builder.rb
|
28
|
+
lib/pmdtester/builders/project_hasher.rb
|
29
|
+
lib/pmdtester/builders/rule_set_builder.rb
|
30
|
+
lib/pmdtester/builders/simple_progress_logger.rb
|
31
|
+
lib/pmdtester/builders/summary_report_builder.rb
|
32
|
+
lib/pmdtester/cmd.rb
|
33
|
+
lib/pmdtester/collection_by_file.rb
|
34
|
+
lib/pmdtester/parsers/options.rb
|
35
|
+
lib/pmdtester/parsers/pmd_report_document.rb
|
36
|
+
lib/pmdtester/parsers/projects_parser.rb
|
37
|
+
lib/pmdtester/pmd_branch_detail.rb
|
38
|
+
lib/pmdtester/pmd_configerror.rb
|
39
|
+
lib/pmdtester/pmd_error.rb
|
40
|
+
lib/pmdtester/pmd_report_detail.rb
|
41
|
+
lib/pmdtester/pmd_tester_utils.rb
|
42
|
+
lib/pmdtester/pmd_violation.rb
|
43
|
+
lib/pmdtester/project.rb
|
44
|
+
lib/pmdtester/report_diff.rb
|
45
|
+
lib/pmdtester/resource_locator.rb
|
46
|
+
lib/pmdtester/runner.rb
|
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
|