danger-xcode_summary 0.2.1 → 0.3.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 +1 -1
- data/README.md +6 -0
- data/lib/xcode_summary/gem_version.rb +1 -1
- data/lib/xcode_summary/plugin.rb +15 -2
- data/spec/fixtures/ld_warnings.json +31 -0
- data/spec/xcode_summary_spec.rb +16 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5c8ef354ef9c12bcc5723808141d089f5d4fd05b
|
4
|
+
data.tar.gz: 2981e63d2cc178680dced1007ecfe7887e7b4475
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5fdc7f726b98a2f83ee3167a6455cc000e31a60309f48f63604d64338db0caa68cd2c4f16f988dd1ca51d11c8acb87eb3a6917459be8035c332f7e15d462ba95
|
7
|
+
data.tar.gz: cf9c0a266144a0e6eb6af5cbc190a7e25289a68426e52c381cb442677e951837463e5ce62a16e14b065a85814fcef2d2cbd4f2db0cc462e26d52beac8c65258b
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -100,6 +100,12 @@ You can also ignore warnings from certain files by setting `ignored_files`:
|
|
100
100
|
```ruby
|
101
101
|
# Ignoring warnings from Pods
|
102
102
|
xcode_summary.ignored_files = '**/Pods/**'
|
103
|
+
|
104
|
+
# Ignoring specific warnings
|
105
|
+
xcode_summary.ignored_results { |result|
|
106
|
+
result.message.start_with 'ld' # Ignore ld_warnings
|
107
|
+
}
|
108
|
+
|
103
109
|
xcode_summary.report 'xcodebuild.json'
|
104
110
|
```
|
105
111
|
|
data/lib/xcode_summary/plugin.rb
CHANGED
@@ -35,6 +35,13 @@ module Danger
|
|
35
35
|
# @return [[String]]
|
36
36
|
attr_accessor :ignored_files
|
37
37
|
|
38
|
+
# A block that filters specific results.
|
39
|
+
# An example would be `lambda { |result| result.message.start_with?('ld') }` to ignore results for ld_warnings.
|
40
|
+
#
|
41
|
+
# @param [Block value
|
42
|
+
# @return [Block]
|
43
|
+
attr_accessor :ignored_results
|
44
|
+
|
38
45
|
# Defines if the test summary will be sticky or not.
|
39
46
|
# Defaults to `false`.
|
40
47
|
# @param [Boolean] value
|
@@ -63,6 +70,10 @@ module Danger
|
|
63
70
|
[@ignored_files].flatten.compact
|
64
71
|
end
|
65
72
|
|
73
|
+
def ignored_results(&block)
|
74
|
+
@ignored_results ||= block
|
75
|
+
end
|
76
|
+
|
66
77
|
def sticky_summary
|
67
78
|
@sticky_summary || false
|
68
79
|
end
|
@@ -119,17 +130,18 @@ module Danger
|
|
119
130
|
end
|
120
131
|
|
121
132
|
def warnings(xcode_summary)
|
122
|
-
[
|
133
|
+
warnings = [
|
123
134
|
xcode_summary.fetch(:warnings, []).map { |message| Result.new(message, nil) },
|
124
135
|
xcode_summary.fetch(:ld_warnings, []).map { |message| Result.new(message, nil) },
|
125
136
|
xcode_summary.fetch(:compile_warnings, {}).map do |h|
|
126
137
|
Result.new(format_compile_warning(h), parse_location(h))
|
127
138
|
end
|
128
139
|
].flatten.uniq.compact.reject { |result| result.message.nil? }
|
140
|
+
warnings.delete_if(&ignored_results)
|
129
141
|
end
|
130
142
|
|
131
143
|
def errors(xcode_summary)
|
132
|
-
[
|
144
|
+
errors = [
|
133
145
|
xcode_summary.fetch(:errors, []).map { |message| Result.new(message, nil) },
|
134
146
|
xcode_summary.fetch(:compile_errors, {}).map do |h|
|
135
147
|
Result.new(format_compile_warning(h), parse_location(h))
|
@@ -149,6 +161,7 @@ module Danger
|
|
149
161
|
end
|
150
162
|
end
|
151
163
|
].flatten.uniq.compact.reject { |result| result.message.nil? }
|
164
|
+
errors.delete_if(&ignored_results)
|
152
165
|
end
|
153
166
|
|
154
167
|
def parse_location(h)
|
@@ -0,0 +1,31 @@
|
|
1
|
+
{
|
2
|
+
"warnings": [
|
3
|
+
|
4
|
+
],
|
5
|
+
"ld_warnings": [
|
6
|
+
"some warning",
|
7
|
+
"another warning"
|
8
|
+
],
|
9
|
+
"compile_warnings": [
|
10
|
+
|
11
|
+
],
|
12
|
+
"errors": [
|
13
|
+
|
14
|
+
],
|
15
|
+
"compile_errors": [
|
16
|
+
|
17
|
+
],
|
18
|
+
"file_missing_errors": [
|
19
|
+
|
20
|
+
],
|
21
|
+
"undefined_symbols_errors": [
|
22
|
+
|
23
|
+
],
|
24
|
+
"duplicate_symbols_errors": [
|
25
|
+
|
26
|
+
],
|
27
|
+
"tests_failures": {
|
28
|
+
},
|
29
|
+
"tests_summary_messages": [
|
30
|
+
]
|
31
|
+
}
|
data/spec/xcode_summary_spec.rb
CHANGED
@@ -135,6 +135,22 @@ module Danger
|
|
135
135
|
)
|
136
136
|
end
|
137
137
|
end
|
138
|
+
|
139
|
+
context 'with ignored_results' do
|
140
|
+
before do
|
141
|
+
@xcode_summary.ignored_results { |result| result.message.start_with? 'some' }
|
142
|
+
end
|
143
|
+
|
144
|
+
it 'asserts no errors' do
|
145
|
+
@xcode_summary.report('spec/fixtures/errors.json')
|
146
|
+
expect(@dangerfile.status_report[:errors]).to eq ['another error']
|
147
|
+
end
|
148
|
+
|
149
|
+
it 'asserts no warnings' do
|
150
|
+
@xcode_summary.report('spec/fixtures/ld_warnings.json')
|
151
|
+
expect(@dangerfile.status_report[:warnings]).to eq ['another warning']
|
152
|
+
end
|
153
|
+
end
|
138
154
|
end
|
139
155
|
end
|
140
156
|
|
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: 0.
|
4
|
+
version: 0.3.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: 2017-05-
|
12
|
+
date: 2017-05-31 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: danger-plugin-api
|
@@ -147,6 +147,7 @@ files:
|
|
147
147
|
- lib/xcode_summary/plugin.rb
|
148
148
|
- spec/fixtures/bitbucket_pr.json
|
149
149
|
- spec/fixtures/errors.json
|
150
|
+
- spec/fixtures/ld_warnings.json
|
150
151
|
- spec/fixtures/pr_json.json
|
151
152
|
- spec/fixtures/summary.json
|
152
153
|
- spec/fixtures/summary_messages.json
|
@@ -182,6 +183,7 @@ summary: A [Danger](http://danger.systems) plugin that shows all build errors, w
|
|
182
183
|
test_files:
|
183
184
|
- spec/fixtures/bitbucket_pr.json
|
184
185
|
- spec/fixtures/errors.json
|
186
|
+
- spec/fixtures/ld_warnings.json
|
185
187
|
- spec/fixtures/pr_json.json
|
186
188
|
- spec/fixtures/summary.json
|
187
189
|
- spec/fixtures/summary_messages.json
|