pmdtester 1.1.0 → 1.1.1
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 +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"
|