danger-periphery 0.3.0 → 0.4.0

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: 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.