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 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"