A Danger plugin that shows all build errors, warnings and unit tests results generated from xcodebuild
.
You need to use xcpretty with xcpretty-json-formatter to generate a JSON file that this plugin can read.
Using danger-swift? You may want to take a look at danger-swift-xcodesummary.
1 Error | |
---|---|
🚫 |
MyWeightTests.MyWeightTests: testError, failed - :w: MyWeightTests/MyWeightTests.swift#L26 |
2 Warnings | |
---|---|
MyWeight/ViewController.swift#L35: initialization of immutable value ‘bla’ was never used; consider replacing with assignment to ‘_’ or removing it
let bla = "unused variable"
|
|
Bla.m#L32: Value stored to ‘theme’ is never read
theme = *ptr++;
|
1 Message | |
---|---|
📖 | Executed 5 tests, with 1 failure (0 unexpected) in 0.032 (0.065) seconds |
Add this line to your Gemfile:
gem 'danger-xcode_summary'
Just add this line to your Dangerfile
:
xcode_summary.report 'xcodebuild.json'
You can also ignore warnings from certain files by setting ignored_files
:
Warning: ignored_files
patterns applied on relative paths.
# Ignoring warnings from Pods
xcode_summary.ignored_files = 'Pods/**'
# Ignoring specific warnings
xcode_summary.ignored_results { |result|
result.message.start_with? 'ld' # Ignore ld_warnings
}
xcode_summary.report 'xcodebuild.json'
You can use ignores_warnings
to supress warnings and shows only errors.
xcode_summary.ignores_warnings = true
You can use inline_mode
.
When this value is enabled, each warnings and errors are commented on each lines.
# Comment on each lines
xcode_summary.inline_mode = true
xcode_summary.report 'xcodebuild.json'
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}:
result = xcode_summary.warning_error_count 'xcodebuild.json'
danger-xcode_summary is released under the MIT license. See LICENSE.txt for details.
- Clone this repo
- Run
bundle install
to setup dependencies. - Run
bundle exec rake spec
to run the tests. - Use
bundle exec guard
to automatically have tests run as you make changes. - Make your changes.