danger-jacoco 0.1.7 → 0.1.9

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: d4d5975aa9e605034d57f94ae6c1e83b5b9ba5f9b21be614a3266c5b8d70a36d
4
- data.tar.gz: 98ee2072a867384ae8d732cfef8dcda6b201a8da7706e2361481fa5add96bda4
3
+ metadata.gz: bcd89ebcb13f3f1b65870f29978d0cc97a5ba32d93ff21f45e86f4555453138c
4
+ data.tar.gz: b2d8b2c4c2b4db6d575d63f5ac0a13091834a6a68e1eff219bfdc1ae79ddc10f
5
5
  SHA512:
6
- metadata.gz: 07e545a038ee4ea8c7aa81c77ef96a1b62756513f90cb9994d762b9f5605689e02eb2a4c2d56c7dfb15b1177e9b9e700f51f4dc44162a7663350031b28f84511
7
- data.tar.gz: 6138c222b2bcd09bf9c4e1744e256065bf9c1ac5e3d33c1b080252ccd0e7e50dfc2ab4dc92264bb8e32ab4428ab8887f5a7acbad715e9e8cca9cda210ac3b487
6
+ metadata.gz: 348de1e3cdc0382fec039843280c99caf44bf5ccc3dfdd6e370d069d64118a658e9512e5841f76902e63bb524b186d700d3504e50ee8eb0d5ba799ff685b5c94
7
+ data.tar.gz: f17d7321065b6e76433b1f3104bfecc775e26e2681df8d66835fbe880af24ec2988b02826b93f35e6ce7fcf18ec31690614534cd534f8c9247eb63a2b491cf82
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Jacoco
4
- VERSION = '0.1.7'
4
+ VERSION = '0.1.9'
5
5
  end
data/lib/jacoco/plugin.rb CHANGED
@@ -59,7 +59,7 @@ module Danger
59
59
  # Java => blah/blah/java/slashed_package/Source.java
60
60
  # Kotlin => blah/blah/kotlin/slashed_package/Source.kt
61
61
  #
62
- def report(path, report_url = '', delimiter = %r{/java/|/kotlin/}, fail_no_coverage_data_found: true)
62
+ def report(path, report_url = '', delimiter = %r{/java/|/kotlin/|/scala/}, fail_no_coverage_data_found: true)
63
63
  @fail_no_coverage_data_found = fail_no_coverage_data_found
64
64
 
65
65
  setup
@@ -98,9 +98,7 @@ module Danger
98
98
  counter = coverage_counter(jacoco_class)
99
99
  unless counter.nil?
100
100
  coverage = (counter.covered.fdiv(counter.covered + counter.missed) * 100).floor
101
- required_coverage = minimum_class_coverage_map[jacoco_class.name]
102
- required_coverage = package_coverage(jacoco_class.name) if required_coverage.nil?
103
- required_coverage = minimum_class_coverage_percentage if required_coverage.nil?
101
+ required_coverage = required_class_coverage(jacoco_class)
104
102
  status = coverage_status(coverage, required_coverage)
105
103
 
106
104
  report_result = {
@@ -113,6 +111,15 @@ module Danger
113
111
  report_result
114
112
  end
115
113
 
114
+ # Determines the required coverage for the class
115
+ def required_class_coverage(jacoco_class)
116
+ key = minimum_class_coverage_map.keys.detect { |k| jacoco_class.name.match(k) } || jacoco_class.name
117
+ required_coverage = minimum_class_coverage_map[key]
118
+ required_coverage = package_coverage(jacoco_class.name) if required_coverage.nil?
119
+ required_coverage = minimum_class_coverage_percentage if required_coverage.nil?
120
+ required_coverage
121
+ end
122
+
116
123
  # it returns the most suitable coverage by package name to class or nil
117
124
  def package_coverage(class_name)
118
125
  path = class_name
data/spec/jacoco_spec.rb CHANGED
@@ -43,6 +43,17 @@ module Danger
43
43
  expect(@dangerfile.status_report[:markdowns][0].message).to include('| `com/example/CachedRepository` | 50% | 100% | :warning: |')
44
44
  end
45
45
 
46
+ it 'test regex class coverage' do
47
+ path_a = "#{File.dirname(__FILE__)}/fixtures/output_a.xml"
48
+
49
+ @my_plugin.minimum_project_coverage_percentage = 50
50
+ @my_plugin.minimum_class_coverage_map = { '.*Repository' => 60 }
51
+
52
+ @my_plugin.report path_a
53
+
54
+ expect(@dangerfile.status_report[:markdowns][0].message).to include('| `com/example/CachedRepository` | 50% | 60% | :warning: |')
55
+ end
56
+
46
57
  it 'test with package coverage' do
47
58
  path_a = "#{File.dirname(__FILE__)}/fixtures/output_a.xml"
48
59
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: danger-jacoco
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anton Malinskiy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-05-11 00:00:00.000000000 Z
11
+ date: 2023-07-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: danger-plugin-api
@@ -220,7 +220,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
220
220
  - !ruby/object:Gem::Version
221
221
  version: '0'
222
222
  requirements: []
223
- rubygems_version: 3.0.9
223
+ rubygems_version: 3.3.26
224
224
  signing_key:
225
225
  specification_version: 4
226
226
  summary: A longer description of danger-jacoco.