danger-periphery 0.3.0 → 0.4.0

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: 3523d08dc99ca2f4cc98a33d1797c122a048fd0d1cacb025f6544efa49a4fec8
4
- data.tar.gz: 0a715b3067bc9c9d156eca9106f8625a9acc2485bf124874ced29282188ee98c
3
+ metadata.gz: 8d2f612902b0953cad3166423f6ec628619d1de19fe9727b0c55164067283de6
4
+ data.tar.gz: 9ed570bd16dfea55ade3e05ea1043e29c8f0924edec9c2851501a92c6a3989dd
5
5
  SHA512:
6
- metadata.gz: 700c5fcaa9ace60357c580a56f3d99ad795864dce645f137e80dfd26d4f8e3589bd4aa2b9a2f61bf4d29cdc716da3d58b4702605cc72d0182f1421387d98932b
7
- data.tar.gz: cfb46c6fdddd95e41dd26de1381c2aa2dd397a4d9a243b17ec98f168e6389a93959b9bee4139e9fea005ecc33189af9fdd3788bf2c8d479b2ea2cd01b5986eae
6
+ metadata.gz: b805c2969118ac69ac822c01f155138798d005cda0f14264cf71cde95cbbab5143f6dd2eba4439accd980d53b54b37baf0778803ca7a95526919ca5fed8a923b
7
+ data.tar.gz: 96c7baebde3044b5d7c70014b3a42fb408e24775c8c5587363b496cb53e1d31ad5a86af3665a2ee17c0610df6e00929dc9c1df1b7755fd55aa518f98fca4d9b9
@@ -29,6 +29,12 @@ module Danger
29
29
  # By default +false+ is set.
30
30
  attr_accessor :scan_all_files
31
31
 
32
+ # A flag to treat warnings as errors.
33
+ # @return [Boolean] +true+ if this plugin reports all violations as errors.
34
+ # Otherwise +false+, it reports violations as warnings.
35
+ # By default +false+ is set.
36
+ attr_accessor :warning_as_error
37
+
32
38
  # For internal use only.
33
39
  #
34
40
  # @return [Symbol]
@@ -40,8 +46,9 @@ module Danger
40
46
  }.freeze
41
47
 
42
48
  def initialize(dangerfile)
43
- super(dangerfile)
49
+ super
44
50
  @format = :checkstyle
51
+ @warning_as_error = false
45
52
  end
46
53
 
47
54
  # Scans Swift files.
@@ -75,7 +82,7 @@ module Danger
75
82
 
76
83
  next if block_given? && !yield(entry)
77
84
 
78
- warn(entry.message, file: entry.path, line: entry.line)
85
+ report(entry.message, file: entry.path, line: entry.line)
79
86
  end
80
87
  end
81
88
 
@@ -94,6 +101,12 @@ module Danger
94
101
 
95
102
  private
96
103
 
104
+ def report(*args, **kwargs)
105
+ return self.fail(*args, **kwargs) if warning_as_error
106
+
107
+ warn(*args, **kwargs)
108
+ end
109
+
97
110
  def files_in_diff
98
111
  # Taken from https://github.com/ashfurrow/danger-ruby-swiftlint/blob/5184909aab00f12954088684bbf2ce5627e08ed6/lib/danger_plugin.rb#L214-L216
99
112
  renamed_files_hash = git.renamed_files.to_h { |rename| [rename[:before], rename[:after]] }
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DangerPeriphery
4
- VERSION = '0.3.0'
4
+ VERSION = '0.4.0'
5
5
  end
@@ -13,6 +13,7 @@ module Periphery
13
13
 
14
14
  def scan(options)
15
15
  arguments = [binary_path, 'scan'] + scan_arguments(options)
16
+
16
17
  stdout, stderr, status = Open3.capture3(*arguments)
17
18
  raise "error: #{arguments} exited with status code #{status.exitstatus}. #{stderr}" unless status.success?
18
19
 
@@ -20,22 +21,26 @@ module Periphery
20
21
  end
21
22
 
22
23
  def scan_arguments(options)
23
- options.each_with_object([]) do |(key, value), new_options|
24
+ args = []
25
+ options.each do |key, value|
24
26
  next unless value
25
27
 
28
+ next if key == :build_args
29
+
26
30
  value = nil if value.is_a?(TrueClass)
31
+ args << "--#{key.to_s.tr('_', '-')}"
27
32
  if value.is_a?(Array)
28
33
  if Gem::Version.new(version) >= Gem::Version.new('2.18.0')
29
- new_options << "--#{key.to_s.tr('_', '-')}"
30
- new_options.push(*value.map(&:to_s))
31
- next
34
+ args.push(*value.map(&:to_s))
32
35
  else
33
- value = value.join(',')
36
+ args << value.join(',')
34
37
  end
38
+ elsif value
39
+ args << value&.to_s
35
40
  end
36
- new_options << "--#{key.to_s.tr('_', '-')}"
37
- new_options << value&.to_s if value
38
41
  end
42
+ args += ['--', options[:build_args]] if options[:build_args]
43
+ args
39
44
  end
40
45
 
41
46
  def version
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: danger-periphery
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryosuke Ito
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-16 00:00:00.000000000 Z
11
+ date: 2024-08-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: danger-plugin-api
@@ -74,7 +74,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  requirements: []
77
- rubygems_version: 3.4.6
77
+ rubygems_version: 3.5.14
78
78
  signing_key:
79
79
  specification_version: 4
80
80
  summary: A Danger plugin to detect unused codes.