danger-xcode_summary 1.0.1 → 1.1.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 +4 -4
- data/Gemfile.lock +34 -28
- data/README.md +7 -0
- data/lib/xcode_summary/gem_version.rb +1 -1
- data/lib/xcode_summary/plugin.rb +24 -5
- data/spec/xcode_summary_spec.rb +24 -0
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5f2fbf0b2b5b627c8f595437c80bfe676cf2f7717a140b24b4b46fa64d0b07cf
|
|
4
|
+
data.tar.gz: b5dd0539de517d98eb0ac316c78db524c44c880d3d32fc495fed69295a298e09
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2c5d50b34767978e6ce5b544e9e45bd66234d27351ad96128939d1372830fb8ec61eb0c820e3f4e47bae40849552105bd0849430dd8ec6cc89883de63fac680d
|
|
7
|
+
data.tar.gz: 50b34884ff63462cb83aaad5b9dc39dbc87ea33b55b6c91031cd72a34774383edce0f8e58258f7eb6b6afa13d0fb78b9f7234b5da36e918a78ecfd71063f0e36
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
danger-xcode_summary (1.0
|
|
4
|
+
danger-xcode_summary (1.1.0)
|
|
5
5
|
danger-plugin-api (~> 1.0)
|
|
6
6
|
xcresult (~> 0.2)
|
|
7
7
|
|
|
@@ -11,7 +11,7 @@ GEM
|
|
|
11
11
|
addressable (2.8.0)
|
|
12
12
|
public_suffix (>= 2.0.2, < 5.0)
|
|
13
13
|
ast (2.4.2)
|
|
14
|
-
claide (1.0
|
|
14
|
+
claide (1.1.0)
|
|
15
15
|
claide-plugins (0.9.2)
|
|
16
16
|
cork
|
|
17
17
|
nap
|
|
@@ -20,7 +20,7 @@ GEM
|
|
|
20
20
|
colored2 (3.1.2)
|
|
21
21
|
cork (0.3.0)
|
|
22
22
|
colored2 (~> 3.1)
|
|
23
|
-
danger (8.4.
|
|
23
|
+
danger (8.4.2)
|
|
24
24
|
claide (~> 1.0)
|
|
25
25
|
claide-plugins (>= 0.9.2)
|
|
26
26
|
colored2 (~> 3.1)
|
|
@@ -35,17 +35,18 @@ GEM
|
|
|
35
35
|
terminal-table (>= 1, < 4)
|
|
36
36
|
danger-plugin-api (1.0.0)
|
|
37
37
|
danger (> 2.0)
|
|
38
|
-
diff-lcs (1.
|
|
39
|
-
faraday (1.
|
|
38
|
+
diff-lcs (1.5.0)
|
|
39
|
+
faraday (1.9.3)
|
|
40
40
|
faraday-em_http (~> 1.0)
|
|
41
41
|
faraday-em_synchrony (~> 1.0)
|
|
42
42
|
faraday-excon (~> 1.1)
|
|
43
|
-
faraday-httpclient (~> 1.0
|
|
43
|
+
faraday-httpclient (~> 1.0)
|
|
44
|
+
faraday-multipart (~> 1.0)
|
|
44
45
|
faraday-net_http (~> 1.0)
|
|
45
|
-
faraday-net_http_persistent (~> 1.
|
|
46
|
+
faraday-net_http_persistent (~> 1.0)
|
|
46
47
|
faraday-patron (~> 1.0)
|
|
47
48
|
faraday-rack (~> 1.0)
|
|
48
|
-
|
|
49
|
+
faraday-retry (~> 1.0)
|
|
49
50
|
ruby2_keywords (>= 0.0.4)
|
|
50
51
|
faraday-em_http (1.0.0)
|
|
51
52
|
faraday-em_synchrony (1.0.0)
|
|
@@ -53,13 +54,16 @@ GEM
|
|
|
53
54
|
faraday-http-cache (2.2.0)
|
|
54
55
|
faraday (>= 0.8)
|
|
55
56
|
faraday-httpclient (1.0.1)
|
|
57
|
+
faraday-multipart (1.0.3)
|
|
58
|
+
multipart-post (>= 1.2, < 3)
|
|
56
59
|
faraday-net_http (1.0.1)
|
|
57
60
|
faraday-net_http_persistent (1.2.0)
|
|
58
61
|
faraday-patron (1.0.0)
|
|
59
62
|
faraday-rack (1.0.0)
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
+
faraday-retry (1.0.3)
|
|
64
|
+
ffi (1.15.5)
|
|
65
|
+
formatador (1.1.0)
|
|
66
|
+
git (1.10.2)
|
|
63
67
|
rchardet (~> 1.8)
|
|
64
68
|
guard (2.18.0)
|
|
65
69
|
formatador (>= 0.2.4)
|
|
@@ -79,7 +83,7 @@ GEM
|
|
|
79
83
|
rexml
|
|
80
84
|
kramdown-parser-gfm (1.1.0)
|
|
81
85
|
kramdown (~> 2.0)
|
|
82
|
-
listen (3.7.
|
|
86
|
+
listen (3.7.1)
|
|
83
87
|
rb-fsevent (~> 0.10, >= 0.10.3)
|
|
84
88
|
rb-inotify (~> 0.9, >= 0.9.10)
|
|
85
89
|
lumberjack (1.2.8)
|
|
@@ -91,48 +95,48 @@ GEM
|
|
|
91
95
|
notiffany (0.1.3)
|
|
92
96
|
nenv (~> 0.1)
|
|
93
97
|
shellany (~> 0.0)
|
|
94
|
-
octokit (4.
|
|
98
|
+
octokit (4.22.0)
|
|
95
99
|
faraday (>= 0.9)
|
|
96
100
|
sawyer (~> 0.8.0, >= 0.5.3)
|
|
97
101
|
open4 (1.3.4)
|
|
98
102
|
parallel (1.21.0)
|
|
99
|
-
parser (3.0.
|
|
103
|
+
parser (3.1.0.0)
|
|
100
104
|
ast (~> 2.4.1)
|
|
101
105
|
pry (0.14.1)
|
|
102
106
|
coderay (~> 1.1)
|
|
103
107
|
method_source (~> 1.0)
|
|
104
108
|
public_suffix (4.0.6)
|
|
105
|
-
rainbow (3.
|
|
109
|
+
rainbow (3.1.1)
|
|
106
110
|
rake (13.0.6)
|
|
107
|
-
rb-fsevent (0.11.
|
|
111
|
+
rb-fsevent (0.11.1)
|
|
108
112
|
rb-inotify (0.10.1)
|
|
109
113
|
ffi (~> 1.0)
|
|
110
114
|
rchardet (1.8.0)
|
|
111
|
-
regexp_parser (2.
|
|
115
|
+
regexp_parser (2.2.0)
|
|
112
116
|
rexml (3.2.5)
|
|
113
117
|
rspec (3.10.0)
|
|
114
118
|
rspec-core (~> 3.10.0)
|
|
115
119
|
rspec-expectations (~> 3.10.0)
|
|
116
120
|
rspec-mocks (~> 3.10.0)
|
|
117
|
-
rspec-core (3.10.
|
|
121
|
+
rspec-core (3.10.2)
|
|
118
122
|
rspec-support (~> 3.10.0)
|
|
119
|
-
rspec-expectations (3.10.
|
|
123
|
+
rspec-expectations (3.10.2)
|
|
120
124
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
121
125
|
rspec-support (~> 3.10.0)
|
|
122
|
-
rspec-mocks (3.10.
|
|
126
|
+
rspec-mocks (3.10.3)
|
|
123
127
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
124
128
|
rspec-support (~> 3.10.0)
|
|
125
|
-
rspec-support (3.10.
|
|
126
|
-
rubocop (1.
|
|
129
|
+
rspec-support (3.10.3)
|
|
130
|
+
rubocop (1.25.1)
|
|
127
131
|
parallel (~> 1.10)
|
|
128
|
-
parser (>= 3.
|
|
132
|
+
parser (>= 3.1.0.0)
|
|
129
133
|
rainbow (>= 2.2.2, < 4.0)
|
|
130
134
|
regexp_parser (>= 1.8, < 3.0)
|
|
131
135
|
rexml
|
|
132
|
-
rubocop-ast (>= 1.
|
|
136
|
+
rubocop-ast (>= 1.15.1, < 2.0)
|
|
133
137
|
ruby-progressbar (~> 1.7)
|
|
134
138
|
unicode-display_width (>= 1.4.0, < 3.0)
|
|
135
|
-
rubocop-ast (1.
|
|
139
|
+
rubocop-ast (1.15.1)
|
|
136
140
|
parser (>= 3.0.1.1)
|
|
137
141
|
ruby-progressbar (1.11.0)
|
|
138
142
|
ruby2_keywords (0.0.5)
|
|
@@ -142,10 +146,12 @@ GEM
|
|
|
142
146
|
shellany (0.0.1)
|
|
143
147
|
terminal-table (3.0.2)
|
|
144
148
|
unicode-display_width (>= 1.1.1, < 3)
|
|
145
|
-
thor (1.1
|
|
149
|
+
thor (1.2.1)
|
|
146
150
|
unicode-display_width (2.1.0)
|
|
151
|
+
webrick (1.7.0)
|
|
147
152
|
xcresult (0.2.1)
|
|
148
|
-
yard (0.9.
|
|
153
|
+
yard (0.9.27)
|
|
154
|
+
webrick (~> 1.7.0)
|
|
149
155
|
|
|
150
156
|
PLATFORMS
|
|
151
157
|
ruby
|
|
@@ -164,4 +170,4 @@ DEPENDENCIES
|
|
|
164
170
|
yard
|
|
165
171
|
|
|
166
172
|
BUNDLED WITH
|
|
167
|
-
2.
|
|
173
|
+
2.3.0
|
data/README.md
CHANGED
|
@@ -106,6 +106,13 @@ xcode_summary.inline_mode = true
|
|
|
106
106
|
xcode_summary.report 'MyApp.xcresult'
|
|
107
107
|
```
|
|
108
108
|
|
|
109
|
+
You can use `strict` to reporting errors as warnings thereby don't block merge PR.
|
|
110
|
+
|
|
111
|
+
```ruby
|
|
112
|
+
# If value is `false`, then errors will be reporting as warnings
|
|
113
|
+
xcode_summary.strict = false
|
|
114
|
+
```
|
|
115
|
+
|
|
109
116
|
You can get warning and error number by calling `warning_error_count`. The return will be a JSON string contains warning and error count, e.g `{"warnings":1,"errors":3}`:
|
|
110
117
|
|
|
111
118
|
```ruby
|
data/lib/xcode_summary/plugin.rb
CHANGED
|
@@ -55,6 +55,12 @@ module Danger
|
|
|
55
55
|
# @return [Boolean]
|
|
56
56
|
attr_accessor :ignores_warnings
|
|
57
57
|
|
|
58
|
+
# Defines errors strict. If value is `false`, then errors will be reporting as warnings.
|
|
59
|
+
# Defaults to `true`
|
|
60
|
+
# @param [Boolean] value
|
|
61
|
+
# @return [Boolean]
|
|
62
|
+
attr_accessor :strict
|
|
63
|
+
|
|
58
64
|
# rubocop:disable Lint/DuplicateMethods
|
|
59
65
|
def project_root
|
|
60
66
|
root = @project_root || Dir.pwd
|
|
@@ -78,8 +84,14 @@ module Danger
|
|
|
78
84
|
@ignores_warnings || false
|
|
79
85
|
end
|
|
80
86
|
|
|
87
|
+
def strict
|
|
88
|
+
@strict.nil? ? true : @strict
|
|
89
|
+
end
|
|
90
|
+
|
|
81
91
|
# Pick a Dangerfile plugin for a chosen request_source and cache it
|
|
82
92
|
# based on https://github.com/danger/danger/blob/master/lib/danger/plugin_support/plugin.rb#L31
|
|
93
|
+
#
|
|
94
|
+
# @return [void]
|
|
83
95
|
def plugin
|
|
84
96
|
plugins = Plugin.all_plugins.select { |plugin| Dangerfile.essential_plugin_classes.include? plugin }
|
|
85
97
|
@plugin ||= plugins.select { |p| p.method_defined? :html_link }.map { |p| p.new(@dangerfile) }.compact.first
|
|
@@ -130,15 +142,21 @@ module Danger
|
|
|
130
142
|
warn(result.message, sticky: false)
|
|
131
143
|
end
|
|
132
144
|
end
|
|
133
|
-
# rubocop:disable Lint/UnreachableLoop
|
|
134
145
|
errors(action).each do |result|
|
|
135
146
|
if inline_mode && result.location
|
|
136
|
-
|
|
147
|
+
if strict
|
|
148
|
+
fail(result.message, sticky: false, file: result.location.file_path, line: result.location.line)
|
|
149
|
+
else
|
|
150
|
+
warn(result.message, sticky: false, file: result.location.file_path, line: result.location.line)
|
|
151
|
+
end
|
|
137
152
|
else
|
|
138
|
-
|
|
153
|
+
if strict
|
|
154
|
+
fail(result.message, sticky: false)
|
|
155
|
+
else
|
|
156
|
+
warn(result.message, sticky: false)
|
|
157
|
+
end
|
|
139
158
|
end
|
|
140
159
|
end
|
|
141
|
-
# rubocop:enable Lint/UnreachableLoop
|
|
142
160
|
end
|
|
143
161
|
end
|
|
144
162
|
|
|
@@ -185,7 +203,8 @@ module Danger
|
|
|
185
203
|
file_name = file_path.split('/').last
|
|
186
204
|
fragment = document_location.url.split('#').last
|
|
187
205
|
params = CGI.parse(fragment).transform_values(&:first)
|
|
188
|
-
|
|
206
|
+
line_number = params['StartingLineNumber']
|
|
207
|
+
line = line_number.empty? ? -0 : line_number.to_i + 1 # StartingLineNumber is 0-based, but we need a 1-based value
|
|
189
208
|
Location.new(file_name, relative_path(file_path), line)
|
|
190
209
|
end
|
|
191
210
|
|
data/spec/xcode_summary_spec.rb
CHANGED
|
@@ -18,6 +18,13 @@ module Danger
|
|
|
18
18
|
@xcode_summary.project_root = '/Users/marcelofabri/SwiftLint/'
|
|
19
19
|
end
|
|
20
20
|
|
|
21
|
+
it 'test' do
|
|
22
|
+
params = { 'one' => '10' }
|
|
23
|
+
line_number = params['StartingLineNumber']
|
|
24
|
+
line = line_number.empty? ? -0 : line_number.to_i + 1 # StartingLineNumber is 0-based, but we need a 1-based value
|
|
25
|
+
expect(line).to eq -0
|
|
26
|
+
end
|
|
27
|
+
|
|
21
28
|
it 'fail if file does not exist' do
|
|
22
29
|
@xcode_summary.report('spec/fixtures/inexistent_file.xcresult')
|
|
23
30
|
expect(@dangerfile.status_report[:errors]).to eq ['summary file not found']
|
|
@@ -172,6 +179,23 @@ module Danger
|
|
|
172
179
|
expect(result).to eq '{"warnings":19,"errors":1}'
|
|
173
180
|
end
|
|
174
181
|
end
|
|
182
|
+
|
|
183
|
+
context 'without strict' do
|
|
184
|
+
before do
|
|
185
|
+
@xcode_summary.strict = false
|
|
186
|
+
end
|
|
187
|
+
|
|
188
|
+
it 'shows errors as warnings' do
|
|
189
|
+
@xcode_summary.report('spec/fixtures/build_error.xcresult')
|
|
190
|
+
expect(@dangerfile.status_report[:warnings].count).to_not eq 0
|
|
191
|
+
expect(@dangerfile.status_report[:errors]).to eq []
|
|
192
|
+
end
|
|
193
|
+
|
|
194
|
+
it 'report warning and error counts' do
|
|
195
|
+
result = @xcode_summary.warning_error_count('spec/fixtures/build_error.xcresult')
|
|
196
|
+
expect(result).to eq '{"warnings":21,"errors":3}'
|
|
197
|
+
end
|
|
198
|
+
end
|
|
175
199
|
end
|
|
176
200
|
end
|
|
177
201
|
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: danger-xcode_summary
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0
|
|
4
|
+
version: 1.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Diogo Tridapalli
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date:
|
|
12
|
+
date: 2022-02-07 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: xcresult
|
|
@@ -311,7 +311,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
311
311
|
- !ruby/object:Gem::Version
|
|
312
312
|
version: '0'
|
|
313
313
|
requirements: []
|
|
314
|
-
rubygems_version: 3.
|
|
314
|
+
rubygems_version: 3.1.4
|
|
315
315
|
signing_key:
|
|
316
316
|
specification_version: 4
|
|
317
317
|
summary: A [Danger](http://danger.systems) plugin that shows all build errors, warnings
|