danger-xcode_summary 1.0.0 → 1.2.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 +61 -49
- data/README.md +7 -0
- data/danger-xcode_summary.gemspec +1 -1
- data/lib/xcode_summary/gem_version.rb +1 -1
- data/lib/xcode_summary/plugin.rb +25 -5
- data/spec/xcode_summary_spec.rb +19 -2
- metadata +6 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: dc604898bf47a3eb60ecd5c408807611ea65c56571990cb0e1a6987bf850902f
|
|
4
|
+
data.tar.gz: 849961ea33f86df1aa5e664cd7b4a155830eb6c2b889c13289cc1bd64cdd3db2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 179dd4adf7cd7dcac32e3a25d9ebd0234271eaa02d15649cab79847d2d8d2e965fa1edccf27d0e3c71e74c2e4c8c24e44c110d53b513498efc5d8a2e46ee3d5e
|
|
7
|
+
data.tar.gz: bf254c7e2a8d7e5b8b9465052aaffa2814f077d0f965923e79816d5f81e63e678f9f2984d446be9fa49e3a7bfa539ccd70acaaee2ad84b46add1cd2d2c58e304
|
data/Gemfile.lock
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
danger-xcode_summary (1.
|
|
4
|
+
danger-xcode_summary (1.2.0)
|
|
5
5
|
danger-plugin-api (~> 1.0)
|
|
6
6
|
xcresult (~> 0.2)
|
|
7
7
|
|
|
8
8
|
GEM
|
|
9
9
|
remote: https://rubygems.org/
|
|
10
10
|
specs:
|
|
11
|
-
addressable (2.
|
|
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.
|
|
23
|
+
danger (8.6.1)
|
|
24
24
|
claide (~> 1.0)
|
|
25
25
|
claide-plugins (>= 0.9.2)
|
|
26
26
|
colored2 (~> 3.1)
|
|
@@ -35,33 +35,43 @@ 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.10.0)
|
|
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)
|
|
44
|
+
faraday-multipart (~> 1.0)
|
|
43
45
|
faraday-net_http (~> 1.0)
|
|
44
|
-
faraday-net_http_persistent (~> 1.
|
|
45
|
-
|
|
46
|
+
faraday-net_http_persistent (~> 1.0)
|
|
47
|
+
faraday-patron (~> 1.0)
|
|
48
|
+
faraday-rack (~> 1.0)
|
|
49
|
+
faraday-retry (~> 1.0)
|
|
46
50
|
ruby2_keywords (>= 0.0.4)
|
|
47
51
|
faraday-em_http (1.0.0)
|
|
48
52
|
faraday-em_synchrony (1.0.0)
|
|
49
53
|
faraday-excon (1.1.0)
|
|
50
54
|
faraday-http-cache (2.2.0)
|
|
51
55
|
faraday (>= 0.8)
|
|
56
|
+
faraday-httpclient (1.0.1)
|
|
57
|
+
faraday-multipart (1.0.3)
|
|
58
|
+
multipart-post (>= 1.2, < 3)
|
|
52
59
|
faraday-net_http (1.0.1)
|
|
53
|
-
faraday-net_http_persistent (1.
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
60
|
+
faraday-net_http_persistent (1.2.0)
|
|
61
|
+
faraday-patron (1.0.0)
|
|
62
|
+
faraday-rack (1.0.0)
|
|
63
|
+
faraday-retry (1.0.3)
|
|
64
|
+
ffi (1.15.5)
|
|
65
|
+
formatador (1.1.0)
|
|
66
|
+
git (1.11.0)
|
|
57
67
|
rchardet (~> 1.8)
|
|
58
|
-
guard (2.
|
|
68
|
+
guard (2.18.0)
|
|
59
69
|
formatador (>= 0.2.4)
|
|
60
70
|
listen (>= 2.7, < 4.0)
|
|
61
71
|
lumberjack (>= 1.0.12, < 2.0)
|
|
62
72
|
nenv (~> 0.1)
|
|
63
73
|
notiffany (~> 0.0)
|
|
64
|
-
pry (>= 0.
|
|
74
|
+
pry (>= 0.13.0)
|
|
65
75
|
shellany (~> 0.0)
|
|
66
76
|
thor (>= 0.18.1)
|
|
67
77
|
guard-compat (1.2.1)
|
|
@@ -69,13 +79,13 @@ GEM
|
|
|
69
79
|
guard (~> 2.1)
|
|
70
80
|
guard-compat (~> 1.1)
|
|
71
81
|
rspec (>= 2.99.0, < 4.0)
|
|
72
|
-
kramdown (2.
|
|
82
|
+
kramdown (2.4.0)
|
|
73
83
|
rexml
|
|
74
84
|
kramdown-parser-gfm (1.1.0)
|
|
75
85
|
kramdown (~> 2.0)
|
|
76
|
-
listen (3.
|
|
77
|
-
rb-fsevent (>= 0.
|
|
78
|
-
rb-inotify (>= 0.9.
|
|
86
|
+
listen (3.7.1)
|
|
87
|
+
rb-fsevent (~> 0.10, >= 0.10.3)
|
|
88
|
+
rb-inotify (~> 0.9, >= 0.9.10)
|
|
79
89
|
lumberjack (1.2.8)
|
|
80
90
|
method_source (1.0.0)
|
|
81
91
|
multipart-post (2.1.1)
|
|
@@ -85,61 +95,63 @@ GEM
|
|
|
85
95
|
notiffany (0.1.3)
|
|
86
96
|
nenv (~> 0.1)
|
|
87
97
|
shellany (~> 0.0)
|
|
88
|
-
octokit (4.
|
|
98
|
+
octokit (4.22.0)
|
|
89
99
|
faraday (>= 0.9)
|
|
90
100
|
sawyer (~> 0.8.0, >= 0.5.3)
|
|
91
101
|
open4 (1.3.4)
|
|
92
|
-
parallel (1.
|
|
93
|
-
parser (3.
|
|
102
|
+
parallel (1.22.1)
|
|
103
|
+
parser (3.1.2.0)
|
|
94
104
|
ast (~> 2.4.1)
|
|
95
105
|
pry (0.14.1)
|
|
96
106
|
coderay (~> 1.1)
|
|
97
107
|
method_source (~> 1.0)
|
|
98
|
-
public_suffix (4.0.
|
|
99
|
-
rainbow (3.
|
|
100
|
-
rake (13.0.
|
|
101
|
-
rb-fsevent (0.11.
|
|
108
|
+
public_suffix (4.0.7)
|
|
109
|
+
rainbow (3.1.1)
|
|
110
|
+
rake (13.0.6)
|
|
111
|
+
rb-fsevent (0.11.1)
|
|
102
112
|
rb-inotify (0.10.1)
|
|
103
113
|
ffi (~> 1.0)
|
|
104
114
|
rchardet (1.8.0)
|
|
105
|
-
regexp_parser (2.
|
|
115
|
+
regexp_parser (2.3.1)
|
|
106
116
|
rexml (3.2.5)
|
|
107
|
-
rspec (3.
|
|
108
|
-
rspec-core (~> 3.
|
|
109
|
-
rspec-expectations (~> 3.
|
|
110
|
-
rspec-mocks (~> 3.
|
|
111
|
-
rspec-core (3.
|
|
112
|
-
rspec-support (~> 3.
|
|
113
|
-
rspec-expectations (3.
|
|
117
|
+
rspec (3.11.0)
|
|
118
|
+
rspec-core (~> 3.11.0)
|
|
119
|
+
rspec-expectations (~> 3.11.0)
|
|
120
|
+
rspec-mocks (~> 3.11.0)
|
|
121
|
+
rspec-core (3.11.0)
|
|
122
|
+
rspec-support (~> 3.11.0)
|
|
123
|
+
rspec-expectations (3.11.0)
|
|
114
124
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
115
|
-
rspec-support (~> 3.
|
|
116
|
-
rspec-mocks (3.
|
|
125
|
+
rspec-support (~> 3.11.0)
|
|
126
|
+
rspec-mocks (3.11.1)
|
|
117
127
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
118
|
-
rspec-support (~> 3.
|
|
119
|
-
rspec-support (3.
|
|
120
|
-
rubocop (1.
|
|
128
|
+
rspec-support (~> 3.11.0)
|
|
129
|
+
rspec-support (3.11.0)
|
|
130
|
+
rubocop (1.28.2)
|
|
121
131
|
parallel (~> 1.10)
|
|
122
|
-
parser (>= 3.
|
|
132
|
+
parser (>= 3.1.0.0)
|
|
123
133
|
rainbow (>= 2.2.2, < 4.0)
|
|
124
134
|
regexp_parser (>= 1.8, < 3.0)
|
|
125
135
|
rexml
|
|
126
|
-
rubocop-ast (>= 1.
|
|
136
|
+
rubocop-ast (>= 1.17.0, < 2.0)
|
|
127
137
|
ruby-progressbar (~> 1.7)
|
|
128
138
|
unicode-display_width (>= 1.4.0, < 3.0)
|
|
129
|
-
rubocop-ast (1.
|
|
130
|
-
parser (>= 3.
|
|
139
|
+
rubocop-ast (1.17.0)
|
|
140
|
+
parser (>= 3.1.1.0)
|
|
131
141
|
ruby-progressbar (1.11.0)
|
|
132
|
-
ruby2_keywords (0.0.
|
|
142
|
+
ruby2_keywords (0.0.5)
|
|
133
143
|
sawyer (0.8.2)
|
|
134
144
|
addressable (>= 2.3.5)
|
|
135
145
|
faraday (> 0.8, < 2.0)
|
|
136
146
|
shellany (0.0.1)
|
|
137
|
-
terminal-table (3.0.
|
|
147
|
+
terminal-table (3.0.2)
|
|
138
148
|
unicode-display_width (>= 1.1.1, < 3)
|
|
139
|
-
thor (1.1
|
|
140
|
-
unicode-display_width (2.
|
|
149
|
+
thor (1.2.1)
|
|
150
|
+
unicode-display_width (2.1.0)
|
|
151
|
+
webrick (1.7.0)
|
|
141
152
|
xcresult (0.2.1)
|
|
142
|
-
yard (0.9.
|
|
153
|
+
yard (0.9.27)
|
|
154
|
+
webrick (~> 1.7.0)
|
|
143
155
|
|
|
144
156
|
PLATFORMS
|
|
145
157
|
ruby
|
|
@@ -150,7 +162,7 @@ DEPENDENCIES
|
|
|
150
162
|
danger-xcode_summary!
|
|
151
163
|
guard (~> 2.14)
|
|
152
164
|
guard-rspec (~> 4.7)
|
|
153
|
-
listen (
|
|
165
|
+
listen (~> 3.0)
|
|
154
166
|
pry
|
|
155
167
|
rake (~> 13.0)
|
|
156
168
|
rspec (~> 3.4)
|
|
@@ -158,4 +170,4 @@ DEPENDENCIES
|
|
|
158
170
|
yard
|
|
159
171
|
|
|
160
172
|
BUNDLED WITH
|
|
161
|
-
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
|
|
@@ -38,7 +38,7 @@ Gem::Specification.new do |spec|
|
|
|
38
38
|
spec.add_development_dependency 'guard-rspec', '~> 4.7'
|
|
39
39
|
|
|
40
40
|
# If you want to work on older builds of ruby
|
|
41
|
-
spec.add_development_dependency 'listen', '3.0
|
|
41
|
+
spec.add_development_dependency 'listen', '~> 3.0'
|
|
42
42
|
|
|
43
43
|
# This gives you the chance to run a REPL inside your test
|
|
44
44
|
# via
|
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,9 @@ 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
|
+
# StartingLineNumber is 0-based, but we need a 1-based value
|
|
208
|
+
line = line_number.nil? || line_number.empty? ? 0 : line_number.to_i + 1
|
|
189
209
|
Location.new(file_name, relative_path(file_path), line)
|
|
190
210
|
end
|
|
191
211
|
|
data/spec/xcode_summary_spec.rb
CHANGED
|
@@ -14,7 +14,7 @@ module Danger
|
|
|
14
14
|
before do
|
|
15
15
|
@dangerfile = testing_dangerfile
|
|
16
16
|
@xcode_summary = @dangerfile.xcode_summary
|
|
17
|
-
@xcode_summary.env.request_source.pr_json = JSON.parse(
|
|
17
|
+
@xcode_summary.env.request_source.pr_json = JSON.parse(File.read('spec/fixtures/pr_json.json'))
|
|
18
18
|
@xcode_summary.project_root = '/Users/marcelofabri/SwiftLint/'
|
|
19
19
|
end
|
|
20
20
|
|
|
@@ -172,6 +172,23 @@ module Danger
|
|
|
172
172
|
expect(result).to eq '{"warnings":19,"errors":1}'
|
|
173
173
|
end
|
|
174
174
|
end
|
|
175
|
+
|
|
176
|
+
context 'without strict' do
|
|
177
|
+
before do
|
|
178
|
+
@xcode_summary.strict = false
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
it 'shows errors as warnings' do
|
|
182
|
+
@xcode_summary.report('spec/fixtures/build_error.xcresult')
|
|
183
|
+
expect(@dangerfile.status_report[:warnings].count).to_not eq 0
|
|
184
|
+
expect(@dangerfile.status_report[:errors]).to eq []
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
it 'report warning and error counts' do
|
|
188
|
+
result = @xcode_summary.warning_error_count('spec/fixtures/build_error.xcresult')
|
|
189
|
+
expect(result).to eq '{"warnings":21,"errors":3}'
|
|
190
|
+
end
|
|
191
|
+
end
|
|
175
192
|
end
|
|
176
193
|
end
|
|
177
194
|
|
|
@@ -180,7 +197,7 @@ module Danger
|
|
|
180
197
|
before do
|
|
181
198
|
@dangerfile = testing_bitbucket_dangerfile
|
|
182
199
|
@xcode_summary = @dangerfile.xcode_summary
|
|
183
|
-
@xcode_summary.env.request_source.pr_json = JSON.parse(
|
|
200
|
+
@xcode_summary.env.request_source.pr_json = JSON.parse(File.read('spec/fixtures/bitbucket_pr.json'), symbolize_names: true)
|
|
184
201
|
@xcode_summary.project_root = '/Users/diogo/src/danger-xcode_summary'
|
|
185
202
|
end
|
|
186
203
|
|
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.
|
|
4
|
+
version: 1.2.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-04-30 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: xcresult
|
|
@@ -113,16 +113,16 @@ dependencies:
|
|
|
113
113
|
name: listen
|
|
114
114
|
requirement: !ruby/object:Gem::Requirement
|
|
115
115
|
requirements:
|
|
116
|
-
- -
|
|
116
|
+
- - "~>"
|
|
117
117
|
- !ruby/object:Gem::Version
|
|
118
|
-
version: 3.0
|
|
118
|
+
version: '3.0'
|
|
119
119
|
type: :development
|
|
120
120
|
prerelease: false
|
|
121
121
|
version_requirements: !ruby/object:Gem::Requirement
|
|
122
122
|
requirements:
|
|
123
|
-
- -
|
|
123
|
+
- - "~>"
|
|
124
124
|
- !ruby/object:Gem::Version
|
|
125
|
-
version: 3.0
|
|
125
|
+
version: '3.0'
|
|
126
126
|
- !ruby/object:Gem::Dependency
|
|
127
127
|
name: pry
|
|
128
128
|
requirement: !ruby/object:Gem::Requirement
|