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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e64c3cfe9a13d470c09fee954176bda926c290cf1c518f889cac6ed8581a2ccd
4
- data.tar.gz: '091269caea70c24b02b138a6eb1b5292896c7fd7fffe3f3c38c8811dfa951db9'
3
+ metadata.gz: 4d0d2deb3eea885db1ea9fd273fc2330f93be694a4a7f804f6ffc03811b67280
4
+ data.tar.gz: 1cd1d39bdfd34a113a88275c9662a180c352b425d2ab06278fdd4530ce2bf8d5
5
5
  SHA512:
6
- metadata.gz: 744b359c60b9ac0f8349c0b94ebbd8923f09fdd06aea2ad5d88f8d983ea86f33f9a9105385efc9f553b35690c30dbac8533577a68301ef1ef5700e01964212a1
7
- data.tar.gz: 6ee40e8927802f6e70e299629bec1b950feb0c388ced3e74a8982a014d4895f3dd76c04c055e91d4ef9881c037c189c9cfbbafe9cfc252c9a760cf9aaf0c17b0
6
+ metadata.gz: 4fea894ba2fe827517f09a54cef4f729f7a2a3340318479422a3d4f5ca064d3ef7fefc7474a174b2b0a0de8644b8985d83da3663828ee2bb1e37b4b2f33faf39
7
+ data.tar.gz: d3057fde3a18df5ba4fcad91ed1159de018ae2b3732eb867fc546ac4e8f819547765bdbb3acb20787e126a09edc2b929f9dab6c9e2f5bf946e1acc58677a2c1e
@@ -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
@@ -1,6 +1,9 @@
1
1
  .ci/build.sh
2
2
  .ci/files/env.gpg
3
+ .ci/inc/install-openjdk.inc
4
+ .ci/manual-integration-tests.sh
3
5
  .github/workflows/build.yml
6
+ .github/workflows/manual-integration-tests.yml
4
7
  .gitignore
5
8
  .hoerc
6
9
  .rubocop.yml
@@ -104,10 +104,12 @@ The tool creates the following folders:
104
104
 
105
105
  === Runtime dependency
106
106
 
107
- nokogiri ~> 1.8
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', '~> 1.8'], ['slop', '~> 4.6'], ['differ', '~> 0.1'],
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 += [
@@ -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.0'
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
- distro_path = saved_distro_path(build_branch_sha)
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
- if File.exist?("#{@local_git_repo}/#{pmd_dist_target}")
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
- puts "#{report_info_path} doesn't exist"
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
- 'changed' => changed,
30
- 'new' => new,
31
- 'removed' => removed,
32
- 'base_total' => base_total,
33
- 'patch_total' => patch_total
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
@@ -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)
@@ -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.0 ruby lib
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.0"
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 = "2020-12-05"
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, ["~> 1.8"])
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, ["~> 1.8"])
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.0
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: 2020-12-05 00:00:00.000000000 Z
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: '1.8'
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: '1.8'
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"