danger-jacoco 0.1.6 → 0.1.7

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: 98c57cc2ececdda3470143782f1c87943a3f0a08f2931c0aa634444da0d90c69
4
- data.tar.gz: 4de9109e706b7fa0f33a3906261535fe6c40e4d6b1580951af6cc1a1d6597e01
3
+ metadata.gz: d4d5975aa9e605034d57f94ae6c1e83b5b9ba5f9b21be614a3266c5b8d70a36d
4
+ data.tar.gz: 98ee2072a867384ae8d732cfef8dcda6b201a8da7706e2361481fa5add96bda4
5
5
  SHA512:
6
- metadata.gz: 021aa093d7763cef129b9b3ee73ddb23ca1e29d6565d6b8c74e24ee4071ea55ea8de5452dd16fea5b2aef97fefdb67ce9fd82a20d22b248af58bd37c51df11fa
7
- data.tar.gz: 527c5b390bae29e370215cec242586c41adeb16ccd25932a7ab41a03ffd81afaaaf756acf36dd0168f0f86423237ecdfe6a715941a3943a0c514ddab63b5841c
6
+ metadata.gz: 07e545a038ee4ea8c7aa81c77ef96a1b62756513f90cb9994d762b9f5605689e02eb2a4c2d56c7dfb15b1177e9b9e700f51f4dc44162a7663350031b28f84511
7
+ data.tar.gz: 6138c222b2bcd09bf9c4e1744e256065bf9c1ac5e3d33c1b080252ccd0e7e50dfc2ab4dc92264bb8e32ab4428ab8887f5a7acbad715e9e8cca9cda210ac3b487
@@ -0,0 +1,20 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: bundler
4
+ directory: "/"
5
+ schedule:
6
+ interval: weekly
7
+ time: "19:00"
8
+ open-pull-requests-limit: 10
9
+ ignore:
10
+ - dependency-name: listen
11
+ versions:
12
+ - 3.4.1
13
+ - 3.5.0
14
+ - dependency-name: rubocop
15
+ versions:
16
+ - 1.10.0
17
+ - 1.11.0
18
+ - 1.12.0
19
+ - 1.8.1
20
+ - 1.9.1
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  # Specify your gem's dependencies in danger-jacoco.gemspec
data/Guardfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # A guardfile for making Danger Plugins
2
4
  # For more info see https://github.com/guard/guard#readme
3
5
 
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bundler/gem_tasks'
2
4
  require 'rspec/core/rake_task'
3
5
  require 'rubocop/rake_task'
@@ -1,22 +1,24 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path('lib', __dir__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'jacoco/gem_version.rb'
5
+ require 'jacoco/gem_version'
5
6
 
6
7
  Gem::Specification.new do |spec|
7
8
  spec.name = 'danger-jacoco'
8
9
  spec.version = Jacoco::VERSION
9
10
  spec.authors = ['Anton Malinskiy']
10
11
  spec.email = ['anton@malinskiy.com']
11
- spec.description = %q{A short description of danger-jacoco.}
12
- spec.summary = %q{A longer description of danger-jacoco.}
12
+ spec.description = 'A short description of danger-jacoco.'
13
+ spec.summary = 'A longer description of danger-jacoco.'
13
14
  spec.homepage = 'https://github.com/Malinskiy/danger-jacoco'
14
15
  spec.license = 'MIT'
15
16
 
16
- spec.files = `git ls-files`.split($/)
17
+ spec.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
17
18
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
19
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
20
  spec.require_paths = ['lib']
21
+ spec.required_ruby_version = '>= 2.6'
20
22
 
21
23
  spec.add_runtime_dependency 'danger-plugin-api', '~> 1.0'
22
24
  spec.add_runtime_dependency 'nokogiri-happymapper', '~> 0.6'
@@ -29,15 +31,15 @@ Gem::Specification.new do |spec|
29
31
  spec.add_development_dependency 'rspec', '~> 3.7'
30
32
 
31
33
  # Linting code and docs
32
- spec.add_development_dependency "rubocop", "~> 0.51"
33
- spec.add_development_dependency "yard", "~> 0.9"
34
+ spec.add_development_dependency 'rubocop', '~> 1.14'
35
+ spec.add_development_dependency 'yard', '~> 0.9'
34
36
 
35
37
  # Makes testing easy via `bundle exec guard`
36
38
  spec.add_development_dependency 'guard', '~> 2.14'
37
39
  spec.add_development_dependency 'guard-rspec', '~> 4.7'
38
40
 
39
41
  # If you want to work on older builds of ruby
40
- spec.add_development_dependency 'listen', '3.2.1'
42
+ spec.add_development_dependency 'listen', '3.5.1'
41
43
 
42
44
  # This gives you the chance to run a REPL inside your tests
43
45
  # via:
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Jacoco
4
- VERSION = '0.1.6'
4
+ VERSION = '0.1.7'
5
5
  end
data/lib/jacoco/plugin.rb CHANGED
@@ -20,12 +20,8 @@ module Danger
20
20
  # @tags jacoco, coverage, java, android, kotlin
21
21
  #
22
22
  class DangerJacoco < Plugin # rubocop:disable Metrics/ClassLength
23
- attr_accessor :minimum_project_coverage_percentage
24
- attr_accessor :minimum_class_coverage_percentage
25
- attr_accessor :files_extension
26
- attr_accessor :minimum_package_coverage_map
27
- attr_accessor :minimum_class_coverage_map
28
- attr_accessor :fail_no_coverage_data_found
23
+ attr_accessor :minimum_project_coverage_percentage, :minimum_class_coverage_percentage, :files_extension,
24
+ :minimum_package_coverage_map, :minimum_class_coverage_map, :fail_no_coverage_data_found, :title
29
25
 
30
26
  # Initialize the plugin with configured parameters or defaults
31
27
  def setup
@@ -34,6 +30,7 @@ module Danger
34
30
  @minimum_package_coverage_map = {} unless minimum_package_coverage_map
35
31
  @minimum_class_coverage_map = {} unless minimum_class_coverage_map
36
32
  @files_extension = ['.kt', '.java'] unless files_extension
33
+ @title = 'JaCoCo' unless title
37
34
  end
38
35
 
39
36
  # Parses the xml output of jacoco to Ruby model classes
@@ -62,7 +59,7 @@ module Danger
62
59
  # Java => blah/blah/java/slashed_package/Source.java
63
60
  # Kotlin => blah/blah/kotlin/slashed_package/Source.kt
64
61
  #
65
- 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/}, fail_no_coverage_data_found: true)
66
63
  @fail_no_coverage_data_found = fail_no_coverage_data_found
67
64
 
68
65
  setup
@@ -73,7 +70,7 @@ module Danger
73
70
 
74
71
  total_covered = total_coverage(path)
75
72
 
76
- report_markdown = "### JaCoCO Code Coverage #{total_covered[:covered]}% #{total_covered[:status]}\n"
73
+ report_markdown = "### #{title} Code Coverage #{total_covered[:covered]}% #{total_covered[:status]}\n"
77
74
  report_markdown += "| Class | Covered | Meta | Status |\n"
78
75
  report_markdown += "|:---|:---:|:---:|:---:|\n"
79
76
  class_coverage_above_minimum = markdown_class(parser, report_markdown, report_url)
@@ -166,7 +163,7 @@ module Danger
166
163
  if counter.nil?
167
164
  no_coverage_data_found_message = "No coverage data found for #{jacoco_class.name}"
168
165
 
169
- raise no_coverage_data_found_message if @fail_no_coverage_data_found.class == TrueClass
166
+ raise no_coverage_data_found_message if @fail_no_coverage_data_found.instance_of?(TrueClass)
170
167
 
171
168
  warn no_coverage_data_found_message
172
169
  end
@@ -206,7 +203,7 @@ module Danger
206
203
  if report_url.empty?
207
204
  "`#{class_name}`"
208
205
  else
209
- report_filepath = class_name.gsub(%r{/(?=[^/]*/.)}, '.') + '.html'
206
+ report_filepath = "#{class_name.gsub(%r{/(?=[^/]*/.)}, '.')}.html"
210
207
  "[`#{class_name}`](#{report_url + report_filepath})"
211
208
  end
212
209
  end
@@ -5,10 +5,10 @@ require 'nokogiri'
5
5
  module Jacoco
6
6
  # Sax parser for quickly finding class elements in Jacoco report
7
7
  class SAXParser < Nokogiri::XML::SAX::Document
8
- attr_accessor :class_names
9
- attr_accessor :classes
8
+ attr_accessor :class_names, :classes
10
9
 
11
10
  def initialize(classes)
11
+ super()
12
12
  @class_names = classes
13
13
  @classes = []
14
14
  @current_class = nil
@@ -40,14 +40,13 @@ module Jacoco
40
40
  def start_class(attrs)
41
41
  @subelement_index = 0
42
42
 
43
- if @class_names.include?(Hash[attrs]['name'])
44
- c = Jacoco::Class.new
45
- c.name = Hash[attrs]['name']
46
- c.counters = []
47
- @current_class = c
48
- @classes.push c
49
- elsif @current_class.nil?
50
- end
43
+ return unless @class_names.include?(Hash[attrs]['name'])
44
+
45
+ c = Jacoco::Class.new
46
+ c.name = Hash[attrs]['name']
47
+ c.counters = []
48
+ @current_class = c
49
+ @classes.push c
51
50
  end
52
51
 
53
52
  def characters(string); end
data/spec/jacoco_spec.rb CHANGED
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # rubocop:disable LineLength
4
- # rubocop:disable ModuleLength
5
- # rubocop:disable BlockLength
3
+ # rubocop:disable Layout/LineLength
4
+ # rubocop:disable Metrics/ModuleLength
5
+ # rubocop:disable Metrics/BlockLength
6
6
 
7
7
  require File.expand_path('spec_helper', __dir__)
8
8
 
@@ -37,7 +37,7 @@ module Danger
37
37
 
38
38
  expect(@dangerfile.status_report[:errors]).to eq(['Total coverage of 32.9%. Improve this to at least 50%',
39
39
  'Class coverage is below minimum. Improve to at least 0%'])
40
- expect(@dangerfile.status_report[:markdowns][0].message).to include('### JaCoCO Code Coverage 32.9% :warning:')
40
+ expect(@dangerfile.status_report[:markdowns][0].message).to include('### JaCoCo Code Coverage 32.9% :warning:')
41
41
  expect(@dangerfile.status_report[:markdowns][0].message).to include('| Class | Covered | Meta | Status |')
42
42
  expect(@dangerfile.status_report[:markdowns][0].message).to include('|:---|:---:|:---:|:---:|')
43
43
  expect(@dangerfile.status_report[:markdowns][0].message).to include('| `com/example/CachedRepository` | 50% | 100% | :warning: |')
@@ -162,6 +162,6 @@ module Danger
162
162
  end
163
163
  end
164
164
 
165
- # rubocop:enable LineLength
166
- # rubocop:enable ModuleLength
167
- # rubocop:enable BlockLength
165
+ # rubocop:enable Layout/LineLength
166
+ # rubocop:enable Metrics/ModuleLength
167
+ # rubocop:enable Metrics/BlockLength
data/spec/spec_helper.rb CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
  require 'pathname'
4
4
  ROOT = Pathname.new(File.expand_path('..', __dir__))
5
- $LOAD_PATH.unshift((ROOT + 'lib').to_s)
6
- $LOAD_PATH.unshift((ROOT + 'spec').to_s)
5
+ $LOAD_PATH.unshift("#{ROOT}lib".to_s)
6
+ $LOAD_PATH.unshift("#{ROOT}spec".to_s)
7
7
 
8
8
  require 'bundler/setup'
9
9
  require 'pry'
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.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anton Malinskiy
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-12-12 00:00:00.000000000 Z
11
+ date: 2021-05-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: danger-plugin-api
@@ -86,14 +86,14 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '0.51'
89
+ version: '1.14'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '0.51'
96
+ version: '1.14'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: yard
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -142,14 +142,14 @@ dependencies:
142
142
  requirements:
143
143
  - - '='
144
144
  - !ruby/object:Gem::Version
145
- version: 3.2.1
145
+ version: 3.5.1
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - '='
151
151
  - !ruby/object:Gem::Version
152
- version: 3.2.1
152
+ version: 3.5.1
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: pry
155
155
  requirement: !ruby/object:Gem::Requirement
@@ -171,11 +171,11 @@ executables: []
171
171
  extensions: []
172
172
  extra_rdoc_files: []
173
173
  files:
174
+ - ".github/dependabot.yml"
174
175
  - ".github/workflows/ci.yaml"
175
176
  - ".github/workflows/release.yaml"
176
177
  - ".gitignore"
177
178
  - ".rubocop.yml"
178
- - ".travis.yml"
179
179
  - Gemfile
180
180
  - Guardfile
181
181
  - LICENSE.txt
@@ -205,7 +205,7 @@ homepage: https://github.com/Malinskiy/danger-jacoco
205
205
  licenses:
206
206
  - MIT
207
207
  metadata: {}
208
- post_install_message:
208
+ post_install_message:
209
209
  rdoc_options: []
210
210
  require_paths:
211
211
  - lib
@@ -213,15 +213,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
213
213
  requirements:
214
214
  - - ">="
215
215
  - !ruby/object:Gem::Version
216
- version: '0'
216
+ version: '2.6'
217
217
  required_rubygems_version: !ruby/object:Gem::Requirement
218
218
  requirements:
219
219
  - - ">="
220
220
  - !ruby/object:Gem::Version
221
221
  version: '0'
222
222
  requirements: []
223
- rubygems_version: 3.0.3
224
- signing_key:
223
+ rubygems_version: 3.0.9
224
+ signing_key:
225
225
  specification_version: 4
226
226
  summary: A longer description of danger-jacoco.
227
227
  test_files:
data/.travis.yml DELETED
@@ -1,12 +0,0 @@
1
- language: ruby
2
- cache:
3
- directories:
4
- - bundle
5
-
6
- rvm:
7
- - 2.0
8
- - 2.1.3
9
- - 2.3.1
10
-
11
- script:
12
- - bundle exec rake spec