pmdtester 1.1.0 → 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 +2 -26
- data/.ci/inc/install-openjdk.inc +26 -0
- data/.ci/manual-integration-tests.sh +20 -0
- data/.github/workflows/manual-integration-tests.yml +32 -0
- data/History.md +10 -0
- data/Manifest.txt +3 -0
- data/README.rdoc +4 -1
- data/Rakefile +1 -1
- data/lib/pmdtester.rb +1 -1
- data/lib/pmdtester/builders/pmd_report_builder.rb +5 -2
- data/lib/pmdtester/builders/project_hasher.rb +3 -3
- data/lib/pmdtester/pmd_report_detail.rb +1 -1
- data/lib/pmdtester/pmd_tester_utils.rb +4 -2
- data/lib/pmdtester/report_diff.rb +16 -6
- data/lib/pmdtester/runner.rb +1 -1
- data/pmdtester.gemspec +6 -6
- metadata +9 -6
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
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
#!/usr/bin/env bash
|
2
2
|
|
3
|
+
source $(dirname $0)/inc/install-openjdk.inc
|
4
|
+
|
3
5
|
set -e
|
4
6
|
|
5
7
|
|
@@ -50,32 +52,6 @@ function build_regression_tester() {
|
|
50
52
|
|
51
53
|
## helper functions
|
52
54
|
|
53
|
-
function install_openjdk() {
|
54
|
-
OPENJDK_VERSION=$1
|
55
|
-
echo "Installing OpenJDK ${OPENJDK_VERSION}"
|
56
|
-
JDK_OS=linux
|
57
|
-
COMPONENTS_TO_STRIP=1 # e.g. openjdk-11.0.3+7/bin/java
|
58
|
-
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" \
|
59
|
-
-H "accept: application/json" \
|
60
|
-
| jq -r ".[0].binaries[0].package.link")
|
61
|
-
OPENJDK_ARCHIVE=$(basename ${DOWNLOAD_URL})
|
62
|
-
CACHE_DIR=${HOME}/.cache/openjdk
|
63
|
-
TARGET_DIR=${HOME}/openjdk${OPENJDK_VERSION}
|
64
|
-
mkdir -p ${CACHE_DIR}
|
65
|
-
mkdir -p ${TARGET_DIR}
|
66
|
-
if [ ! -e ${CACHE_DIR}/${OPENJDK_ARCHIVE} ]; then
|
67
|
-
echo "Downloading from ${DOWNLOAD_URL} to ${CACHE_DIR}"
|
68
|
-
curl --location --output ${CACHE_DIR}/${OPENJDK_ARCHIVE} "${DOWNLOAD_URL}"
|
69
|
-
else
|
70
|
-
echo "Skipped download, file ${CACHE_DIR}/${OPENJDK_ARCHIVE} already exists"
|
71
|
-
fi
|
72
|
-
tar --extract --file ${CACHE_DIR}/${OPENJDK_ARCHIVE} -C ${TARGET_DIR} --strip-components=${COMPONENTS_TO_STRIP}
|
73
|
-
export JAVA_HOME="${TARGET_DIR}"
|
74
|
-
export PATH="${TARGET_DIR}/bin:${PATH}"
|
75
|
-
java -version
|
76
|
-
echo "Java is available at ${TARGET_DIR}"
|
77
|
-
}
|
78
|
-
|
79
55
|
function setup_secrets() {
|
80
56
|
echo "Setting up secrets..."
|
81
57
|
# Required secrets are: GEM_HOST_API_KEY
|
@@ -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,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/History.md
CHANGED
@@ -1,3 +1,13 @@
|
|
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
|
+
|
1
11
|
# 1.1.0 / 2020-12-05
|
2
12
|
|
3
13
|
## New and Noteworthy
|
data/Manifest.txt
CHANGED
data/README.rdoc
CHANGED
@@ -104,10 +104,12 @@ The tool creates the following folders:
|
|
104
104
|
|
105
105
|
=== Runtime dependency
|
106
106
|
|
107
|
-
nokogiri
|
107
|
+
nokogiri >= 1.11.0.rc4
|
108
108
|
slop ~> 4.6
|
109
109
|
differ ~> 0.1
|
110
110
|
rufus-scheduler ~> 3.5
|
111
|
+
logger-colors ~> 1.0
|
112
|
+
liquid >= 4.0
|
111
113
|
|
112
114
|
=== Development dependency
|
113
115
|
|
@@ -151,3 +153,4 @@ The tool creates the following folders:
|
|
151
153
|
* Commit ("Prepare next development version x.y.z-SNAPSHOT").
|
152
154
|
* Push to master.
|
153
155
|
* Push the tag. Github Actions will build and publish the new gem
|
156
|
+
* Update the release notes on https://github.com/pmd/pmd-regression-tester/releases
|
data/Rakefile
CHANGED
@@ -19,7 +19,7 @@ hoe = Hoe.spec 'pmdtester' do
|
|
19
19
|
developer 'Clément Fournier', 'clement.fournier76@gmail.com'
|
20
20
|
|
21
21
|
self.clean_globs = %w[target/reports/**/* target/test/**/* target/dynamic-config.xml Gemfile.lock]
|
22
|
-
self.extra_deps += [['nokogiri', '
|
22
|
+
self.extra_deps += [['nokogiri', '>= 1.11.0.rc4'], ['slop', '~> 4.6'], ['differ', '~> 0.1'],
|
23
23
|
['rufus-scheduler', '~> 3.5'], ['logger-colors', '~> 1.0'],
|
24
24
|
['liquid', '>= 4.0']]
|
25
25
|
self.extra_dev_deps += [
|
data/lib/pmdtester.rb
CHANGED
@@ -32,7 +32,7 @@ require_relative 'pmdtester/parsers/projects_parser'
|
|
32
32
|
# and unexpected behaviors will not be introduced to PMD project
|
33
33
|
# after fixing an issue and new rules can work as expected.
|
34
34
|
module PmdTester
|
35
|
-
VERSION = '1.1.
|
35
|
+
VERSION = '1.1.1'
|
36
36
|
BASE = 'base'
|
37
37
|
PATCH = 'patch'
|
38
38
|
PR_NUM_ENV_VAR = 'PMD_CI_PULL_REQUEST_NUMBER' # see PmdBranchDetail
|
@@ -31,9 +31,10 @@ module PmdTester
|
|
31
31
|
|
32
32
|
raise "Wrong branch #{get_last_commit_sha}" unless build_branch_sha == get_last_commit_sha
|
33
33
|
|
34
|
+
distro_path = saved_distro_path(build_branch_sha)
|
34
35
|
logger.debug "#{@pmd_branch_name}: PMD Version is #{@pmd_version} " \
|
35
36
|
"(sha=#{build_branch_sha})"
|
36
|
-
|
37
|
+
logger.debug "#{@pmd_branch_name}: distro_path=#{distro_path}"
|
37
38
|
if File.directory?(distro_path)
|
38
39
|
logger.info "#{@pmd_branch_name}: Skipping packaging - saved version exists " \
|
39
40
|
" in #{distro_path}"
|
@@ -53,7 +54,9 @@ module PmdTester
|
|
53
54
|
# in CI there might have been a build performed already. In that case
|
54
55
|
# we reuse the build result, otherwise we build PMD freshly
|
55
56
|
pmd_dist_target = "pmd-dist/target/pmd-bin-#{@pmd_version}.zip"
|
56
|
-
|
57
|
+
binary_exists = File.exist?(pmd_dist_target)
|
58
|
+
logger.debug "#{@pmd_branch_name}: Does the file #{pmd_dist_target} exist? #{binary_exists} (cwd: #{Dir.getwd})"
|
59
|
+
if binary_exists
|
57
60
|
# that's a warning, because we don't know, whether this build really
|
58
61
|
# belongs to the current branch or whether it's from a previous branch.
|
59
62
|
# In CI, that's not a problem, because the workspace is always fresh.
|
@@ -9,9 +9,9 @@ module PmdTester
|
|
9
9
|
|
10
10
|
def report_diff_to_h(rdiff)
|
11
11
|
{
|
12
|
-
'violation_counts' => rdiff.violation_counts.to_h,
|
13
|
-
'error_counts' => rdiff.error_counts.to_h,
|
14
|
-
'configerror_counts' => rdiff.configerror_counts.to_h,
|
12
|
+
'violation_counts' => rdiff.violation_counts.to_h.transform_keys(&:to_s),
|
13
|
+
'error_counts' => rdiff.error_counts.to_h.transform_keys(&:to_s),
|
14
|
+
'configerror_counts' => rdiff.configerror_counts.to_h.transform_keys(&:to_s),
|
15
15
|
|
16
16
|
'base_execution_time' => PmdReportDetail.convert_seconds(rdiff.base_report.exec_time),
|
17
17
|
'patch_execution_time' => PmdReportDetail.convert_seconds(rdiff.patch_report.exec_time),
|
@@ -27,7 +27,7 @@ module PmdTester
|
|
27
27
|
hash = JSON.parse(File.read(report_info_path), symbolize_names: true)
|
28
28
|
PmdReportDetail.new(**hash)
|
29
29
|
else
|
30
|
-
|
30
|
+
PmdTester.logger.warn("#{report_info_path} doesn't exist")
|
31
31
|
PmdReportDetail.new
|
32
32
|
end
|
33
33
|
end
|
@@ -39,13 +39,15 @@ module PmdTester
|
|
39
39
|
def compute_project_diffs(projects, base_branch, patch_branch, filter_set = nil)
|
40
40
|
projects.each do |project|
|
41
41
|
logger.info "Preparing report for #{project.name}"
|
42
|
+
logger.info " with filter #{filter_set}" unless filter_set.nil?
|
42
43
|
project.compute_report_diff(base_branch, patch_branch, filter_set)
|
43
44
|
end
|
44
45
|
end
|
45
46
|
|
46
47
|
# Build the diff reports and write them all
|
47
|
-
def build_html_reports(projects, base_branch_details, patch_branch_details)
|
48
|
-
compute_project_diffs(projects, base_branch_details.branch_name, patch_branch_details.branch_name
|
48
|
+
def build_html_reports(projects, base_branch_details, patch_branch_details, filter_set = nil)
|
49
|
+
compute_project_diffs(projects, base_branch_details.branch_name, patch_branch_details.branch_name,
|
50
|
+
filter_set)
|
49
51
|
|
50
52
|
SummaryReportBuilder.new.write_all_projects(projects,
|
51
53
|
base_branch_details,
|
@@ -26,13 +26,17 @@ module PmdTester
|
|
26
26
|
|
27
27
|
def to_h
|
28
28
|
{
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
29
|
+
changed: changed,
|
30
|
+
new: new,
|
31
|
+
removed: removed,
|
32
|
+
base_total: base_total,
|
33
|
+
patch_total: patch_total
|
34
34
|
}
|
35
35
|
end
|
36
|
+
|
37
|
+
def to_s
|
38
|
+
"RunningDiffCounters[#{to_h}]"
|
39
|
+
end
|
36
40
|
end
|
37
41
|
|
38
42
|
# Simple info about a rule, collected by the report xml parser
|
@@ -75,6 +79,12 @@ module PmdTester
|
|
75
79
|
@errors_by_file = report_document.errors
|
76
80
|
@configerrors_by_rule = report_document.configerrors
|
77
81
|
@infos_by_rule = report_document.infos_by_rules
|
82
|
+
|
83
|
+
PmdTester.logger.debug("Loaded #{@violations_by_file.total_size} violations " \
|
84
|
+
"in #{@violations_by_file.num_files} files")
|
85
|
+
PmdTester.logger.debug("Loaded #{@errors_by_file.total_size} errors " \
|
86
|
+
"in #{@errors_by_file.num_files} files")
|
87
|
+
PmdTester.logger.debug("Loaded #{@configerrors_by_rule.size} config errors")
|
78
88
|
end
|
79
89
|
|
80
90
|
def initialize_empty
|
@@ -125,7 +135,7 @@ module PmdTester
|
|
125
135
|
{
|
126
136
|
'name' => rule,
|
127
137
|
'info_url' => @rule_infos_union[rule].info_url,
|
128
|
-
**counters.to_h
|
138
|
+
**counters.to_h.transform_keys(&:to_s)
|
129
139
|
}
|
130
140
|
end
|
131
141
|
end
|
data/lib/pmdtester/runner.rb
CHANGED
@@ -64,7 +64,7 @@ module PmdTester
|
|
64
64
|
patch_branch_details = create_pmd_report(config: @options.patch_config, branch: @options.patch_branch)
|
65
65
|
|
66
66
|
base_branch_details = PmdBranchDetail.load(@options.base_branch, logger)
|
67
|
-
build_html_reports(@projects, base_branch_details, patch_branch_details)
|
67
|
+
build_html_reports(@projects, base_branch_details, patch_branch_details, @options.filter_set)
|
68
68
|
end
|
69
69
|
|
70
70
|
def determine_project_list_for_online_mode(baseline_path)
|
data/pmdtester.gemspec
CHANGED
@@ -1,22 +1,22 @@
|
|
1
1
|
# DO NOT EDIT THIS FILE. Instead, edit Rakefile, and run `rake hoe:spec`.
|
2
2
|
|
3
3
|
# -*- encoding: utf-8 -*-
|
4
|
-
# stub: pmdtester 1.1.
|
4
|
+
# stub: pmdtester 1.1.1 ruby lib
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "pmdtester".freeze
|
8
|
-
s.version = "1.1.
|
8
|
+
s.version = "1.1.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
11
11
|
s.metadata = { "bug_tracker_uri" => "https://github.com/pmd/pmd-regression-tester/issues", "homepage_uri" => "https://pmd.github.io", "source_code_uri" => "https://github.com/pmd/pmd-regression-tester" } if s.respond_to? :metadata=
|
12
12
|
s.require_paths = ["lib".freeze]
|
13
13
|
s.authors = ["Andreas Dangel".freeze, "Binguo Bao".freeze, "Cl\u00E9ment Fournier".freeze]
|
14
|
-
s.date = "
|
14
|
+
s.date = "2021-01-15"
|
15
15
|
s.description = "A regression testing tool ensure that new problems and unexpected behaviors will not be introduced to PMD project after fixing an issue , and new rules can work as expected.".freeze
|
16
16
|
s.email = ["andreas.dangel@pmd-code.org".freeze, "djydewang@gmail.com".freeze, "clement.fournier76@gmail.com".freeze]
|
17
17
|
s.executables = ["pmdtester".freeze]
|
18
18
|
s.extra_rdoc_files = ["History.md".freeze, "Manifest.txt".freeze, "README.rdoc".freeze]
|
19
|
-
s.files = [".ci/build.sh".freeze, ".ci/files/env.gpg".freeze, ".github/workflows/build.yml".freeze, ".gitignore".freeze, ".hoerc".freeze, ".rubocop.yml".freeze, ".rubocop_todo.yml".freeze, ".ruby-version".freeze, "Gemfile".freeze, "History.md".freeze, "LICENSE".freeze, "Manifest.txt".freeze, "README.rdoc".freeze, "Rakefile".freeze, "bin/pmdtester".freeze, "config/all-java.xml".freeze, "config/design.xml".freeze, "config/project-list.xml".freeze, "config/projectlist_1_0_0.xsd".freeze, "config/projectlist_1_1_0.xsd".freeze, "lib/pmdtester.rb".freeze, "lib/pmdtester/builders/liquid_renderer.rb".freeze, "lib/pmdtester/builders/pmd_report_builder.rb".freeze, "lib/pmdtester/builders/project_builder.rb".freeze, "lib/pmdtester/builders/project_hasher.rb".freeze, "lib/pmdtester/builders/rule_set_builder.rb".freeze, "lib/pmdtester/builders/simple_progress_logger.rb".freeze, "lib/pmdtester/builders/summary_report_builder.rb".freeze, "lib/pmdtester/cmd.rb".freeze, "lib/pmdtester/collection_by_file.rb".freeze, "lib/pmdtester/parsers/options.rb".freeze, "lib/pmdtester/parsers/pmd_report_document.rb".freeze, "lib/pmdtester/parsers/projects_parser.rb".freeze, "lib/pmdtester/pmd_branch_detail.rb".freeze, "lib/pmdtester/pmd_configerror.rb".freeze, "lib/pmdtester/pmd_error.rb".freeze, "lib/pmdtester/pmd_report_detail.rb".freeze, "lib/pmdtester/pmd_tester_utils.rb".freeze, "lib/pmdtester/pmd_violation.rb".freeze, "lib/pmdtester/project.rb".freeze, "lib/pmdtester/report_diff.rb".freeze, "lib/pmdtester/resource_locator.rb".freeze, "lib/pmdtester/runner.rb".freeze, "pmdtester.gemspec".freeze, "resources/_includes/diff_pill_row.html".freeze, "resources/css/bootstrap.min.css".freeze, "resources/css/datatables.min.css".freeze, "resources/css/pmd-tester.css".freeze, "resources/js/bootstrap.min.js".freeze, "resources/js/code-snippets.js".freeze, "resources/js/datatables.min.js".freeze, "resources/js/jquery-3.2.1.slim.min.js".freeze, "resources/js/jquery.min.js".freeze, "resources/js/popper.min.js".freeze, "resources/js/project-report.js".freeze, "resources/project_diff_report.html".freeze, "resources/project_index.html".freeze]
|
19
|
+
s.files = [".ci/build.sh".freeze, ".ci/files/env.gpg".freeze, ".ci/inc/install-openjdk.inc".freeze, ".ci/manual-integration-tests.sh".freeze, ".github/workflows/build.yml".freeze, ".github/workflows/manual-integration-tests.yml".freeze, ".gitignore".freeze, ".hoerc".freeze, ".rubocop.yml".freeze, ".rubocop_todo.yml".freeze, ".ruby-version".freeze, "Gemfile".freeze, "History.md".freeze, "LICENSE".freeze, "Manifest.txt".freeze, "README.rdoc".freeze, "Rakefile".freeze, "bin/pmdtester".freeze, "config/all-java.xml".freeze, "config/design.xml".freeze, "config/project-list.xml".freeze, "config/projectlist_1_0_0.xsd".freeze, "config/projectlist_1_1_0.xsd".freeze, "lib/pmdtester.rb".freeze, "lib/pmdtester/builders/liquid_renderer.rb".freeze, "lib/pmdtester/builders/pmd_report_builder.rb".freeze, "lib/pmdtester/builders/project_builder.rb".freeze, "lib/pmdtester/builders/project_hasher.rb".freeze, "lib/pmdtester/builders/rule_set_builder.rb".freeze, "lib/pmdtester/builders/simple_progress_logger.rb".freeze, "lib/pmdtester/builders/summary_report_builder.rb".freeze, "lib/pmdtester/cmd.rb".freeze, "lib/pmdtester/collection_by_file.rb".freeze, "lib/pmdtester/parsers/options.rb".freeze, "lib/pmdtester/parsers/pmd_report_document.rb".freeze, "lib/pmdtester/parsers/projects_parser.rb".freeze, "lib/pmdtester/pmd_branch_detail.rb".freeze, "lib/pmdtester/pmd_configerror.rb".freeze, "lib/pmdtester/pmd_error.rb".freeze, "lib/pmdtester/pmd_report_detail.rb".freeze, "lib/pmdtester/pmd_tester_utils.rb".freeze, "lib/pmdtester/pmd_violation.rb".freeze, "lib/pmdtester/project.rb".freeze, "lib/pmdtester/report_diff.rb".freeze, "lib/pmdtester/resource_locator.rb".freeze, "lib/pmdtester/runner.rb".freeze, "pmdtester.gemspec".freeze, "resources/_includes/diff_pill_row.html".freeze, "resources/css/bootstrap.min.css".freeze, "resources/css/datatables.min.css".freeze, "resources/css/pmd-tester.css".freeze, "resources/js/bootstrap.min.js".freeze, "resources/js/code-snippets.js".freeze, "resources/js/datatables.min.js".freeze, "resources/js/jquery-3.2.1.slim.min.js".freeze, "resources/js/jquery.min.js".freeze, "resources/js/popper.min.js".freeze, "resources/js/project-report.js".freeze, "resources/project_diff_report.html".freeze, "resources/project_index.html".freeze]
|
20
20
|
s.homepage = "https://pmd.github.io".freeze
|
21
21
|
s.licenses = ["BSD-2-Clause".freeze]
|
22
22
|
s.rdoc_options = ["--main".freeze, "README.rdoc".freeze]
|
@@ -29,7 +29,7 @@ Gem::Specification.new do |s|
|
|
29
29
|
end
|
30
30
|
|
31
31
|
if s.respond_to? :add_runtime_dependency then
|
32
|
-
s.add_runtime_dependency(%q<nokogiri>.freeze, ["
|
32
|
+
s.add_runtime_dependency(%q<nokogiri>.freeze, [">= 1.11.0.rc4"])
|
33
33
|
s.add_runtime_dependency(%q<slop>.freeze, ["~> 4.6"])
|
34
34
|
s.add_runtime_dependency(%q<differ>.freeze, ["~> 0.1"])
|
35
35
|
s.add_runtime_dependency(%q<rufus-scheduler>.freeze, ["~> 3.5"])
|
@@ -44,7 +44,7 @@ Gem::Specification.new do |s|
|
|
44
44
|
s.add_development_dependency(%q<rdoc>.freeze, [">= 4.0", "< 7"])
|
45
45
|
s.add_development_dependency(%q<hoe>.freeze, ["~> 3.22"])
|
46
46
|
else
|
47
|
-
s.add_dependency(%q<nokogiri>.freeze, ["
|
47
|
+
s.add_dependency(%q<nokogiri>.freeze, [">= 1.11.0.rc4"])
|
48
48
|
s.add_dependency(%q<slop>.freeze, ["~> 4.6"])
|
49
49
|
s.add_dependency(%q<differ>.freeze, ["~> 0.1"])
|
50
50
|
s.add_dependency(%q<rufus-scheduler>.freeze, ["~> 3.5"])
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pmdtester
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andreas Dangel
|
@@ -10,22 +10,22 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2021-01-15 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: nokogiri
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
requirements:
|
19
|
-
- - "
|
19
|
+
- - ">="
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
21
|
+
version: 1.11.0.rc4
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
|
-
- - "
|
26
|
+
- - ">="
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version:
|
28
|
+
version: 1.11.0.rc4
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: slop
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
@@ -231,7 +231,10 @@ extra_rdoc_files:
|
|
231
231
|
files:
|
232
232
|
- ".ci/build.sh"
|
233
233
|
- ".ci/files/env.gpg"
|
234
|
+
- ".ci/inc/install-openjdk.inc"
|
235
|
+
- ".ci/manual-integration-tests.sh"
|
234
236
|
- ".github/workflows/build.yml"
|
237
|
+
- ".github/workflows/manual-integration-tests.yml"
|
235
238
|
- ".gitignore"
|
236
239
|
- ".hoerc"
|
237
240
|
- ".rubocop.yml"
|