https://github.com/xcpretty/xcpretty
Flexible and fast xcodebuild formatter
https://github.com/xcpretty/xcpretty
Keywords
ci continuous-integration ios
Keywords from Contributors
apps deployment fastlane screenshots cocoapods dependency-manager mac objective-c gitlab bitbucket
Last synced: about 11 hours ago
JSON representation
Repository metadata
Flexible and fast xcodebuild formatter
- Host: GitHub
- URL: https://github.com/xcpretty/xcpretty
- Owner: xcpretty
- License: other
- Created: 2013-12-09T01:31:14.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2025-03-26T19:42:24.000Z (9 months ago)
- Last Synced: 2025-12-06T18:21:36.622Z (6 days ago)
- Topics: ci, continuous-integration, ios
- Language: Ruby
- Homepage:
- Size: 3.65 MB
- Stars: 4,013
- Watchers: 60
- Forks: 287
- Open Issues: 120
- Releases: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
README.md

xcpretty is a fast and flexible formatter for xcodebuild.
It does one thing, and it should do it well.
Installation
$ gem install xcpretty
Usage
$ xcodebuild [flags] | xcpretty
xcpretty is designed to be piped with xcodebuild and thus keeping 100%
compatibility with it. It's even a bit faster than xcodebuild itself, since
it saves your terminal some prints.
Important: If you're running xcpretty on a CI like Travis or Jenkins, you
may want to exit with same status code as xcodebuild.
CI systems usually use status codes to determine if the build has failed.
$ set -o pipefail && xcodebuild [flags] | xcpretty
#
# OR
#
$ xcodebuild [flags] | xcpretty && exit ${PIPESTATUS[0]}
Raw xcodebuild output
You might want to use xcpretty together with tee to store the raw log in a
file, and get the pretty output in the terminal. This might be useful if you
want to inspect a failure in detail and aren't able to tell from the pretty
output.
Here's a way of doing it:
$ xcodebuild [flags] | tee xcodebuild.log | xcpretty
Formats
-
--simple,-s(default)

-
--test,-t(RSpec style)

-
--tap(Test Anything Protocol-compatible output) -
--knock,-k(a simplified version of the Test Anything Protocol)
ANSI / UTF-8
--[no-]color: Show build icons in color. (you can add it to--simpleor--testformat).
Defaults to auto-detecting color availability.--[no-]utf: Use unicode characters in build output or only ASCII.
Defaults to auto-detecting the current locale.
Reporters
-
--report junit,-r junit: Creates a JUnit-style XML report atbuild/reports/junit.xml, compatible with Jenkins and TeamCity CI. -
--report html,-r html: Creates a simple HTML report atbuild/reports/tests.html.

-
--report json-compilation-database,-r json-compilation-database: Creates a JSON compilation database atbuild/reports/compilation_db.json. This is a format to replay single compilations independently of the build system.
Writing a report to a custom path can be specified using --output PATH.
Extensions
xcpretty supports custom formatters through the use of the
--formatter flag, which takes a path to a file as an argument. The
file must contain a Ruby subclass of XCPretty::Formatter, and
return that class at the end of the file. The class
can override the format_* methods to hook into output parsing
events.
Known extensions
- xcpretty-travis-formatter: support for cleaner output in TravisCI using code folding
The recommended format is a gem containing the formatter and named
with an xcpretty- prefix, for easier discovery.
Team
Owner metadata
- Name: xcpretty
- Login: xcpretty
- Email:
- Kind: organization
- Description:
- Website:
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/22400238?v=4
- Repositories: 2
- Last ynced at: 2023-08-06T21:11:54.400Z
- Profile URL: https://github.com/xcpretty
GitHub Events
Total
- Issues event: 8
- Watch event: 88
- Issue comment event: 50
- Push event: 2
- Pull request review event: 2
- Pull request event: 5
- Fork event: 8
- Create event: 1
Last Year
- Issues event: 6
- Watch event: 74
- Issue comment event: 40
- Push event: 2
- Pull request review event: 2
- Pull request event: 5
- Fork event: 6
- Create event: 1
Committers metadata
Last synced: 13 days ago
Total Commits: 543
Total Committers: 44
Avg Commits per committer: 12.341
Development Distribution Score (DDS): 0.617
Commits in past year: 2
Committers in past year: 1
Avg Commits per committer in past year: 2.0
Development Distribution Score (DDS) in past year: 0.0
| Name | Commits | |
|---|---|---|
| Marin Usalj | m****r@g****m | 208 |
| Delisa Mason | i****s@g****m | 142 |
| Marin Usalj | m****1@g****m | 75 |
| Boris Bügling | b****s@i****g | 12 |
| Titolo, Michele | M****o@c****m | 10 |
| Norio Nomura | n****a@g****m | 9 |
| Simone Civetta | s****a@g****m | 8 |
| Cédric Luthi | c****i@g****m | 6 |
| Kyle Fuller | k****e@f****i | 5 |
| Marin Usalj | s****n | 5 |
| Jared Grubb | j****b@a****m | 5 |
| Eloy Durán | e****e@g****m | 4 |
| Dan Fleming | d****n@d****m | 4 |
| Killian THORON | k****n@n****r | 3 |
| Maksym Grebenets | m****s@c****u | 3 |
| Paul Cantrell | c****l@p****m | 3 |
| Matt Cotton | m****3@g****m | 3 |
| Iulian Onofrei | 5****r | 3 |
| Dustin Norman | d****n@g****m | 3 |
| KrauseFx | K****x@g****m | 3 |
| Vladimir Burdukov | c****g@g****m | 2 |
| wcrestfield | w****i@g****m | 2 |
| Huy Nguyen | h****y@h****m | 2 |
| Juan Pablo Civile | j****e@m****m | 2 |
| Michael Tauraso | m****o@s****m | 2 |
| kenji21 | r****n@o****r | 1 |
| andybest | a****t@g****m | 1 |
| Teichmann, Bjoern | B****n@s****e | 1 |
| Sean Abraham | S****8@g****m | 1 |
| Scott Albertson | a****n@g****m | 1 |
| and 14 more... | ||
Committer domains:
- amazon.com: 1
- subsplash.com: 1
- buddybuild.com: 1
- samuel-gross.de: 1
- shopkeep.com: 1
- metaquark.de: 1
- nerdishbynature.com: 1
- sys.aok.de: 1
- openium.fr: 1
- squareup.com: 1
- monits.com: 1
- highfive.com: 1
- pobox.com: 1
- cba.com.au: 1
- niji.fr: 1
- dflems.com: 1
- apple.com: 1
- fuller.li: 1
- capitalone.com: 1
- icculus.org: 1
Issue and Pull Request metadata
Last synced: about 1 month ago
Total issues: 84
Total pull requests: 41
Average time to close issues: over 1 year
Average time to close pull requests: about 2 years
Total issue authors: 79
Total pull request authors: 26
Average comments per issue: 4.2
Average comments per pull request: 2.54
Merged pull request: 15
Bot issues: 0
Bot pull requests: 0
Past year issues: 5
Past year pull requests: 5
Past year average time to close issues: 28 days
Past year average time to close pull requests: 14 days
Past year issue authors: 5
Past year pull request authors: 3
Past year average comments per issue: 1.0
Past year average comments per pull request: 2.0
Past year merged pull request: 2
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- keith (2)
- DenTelezhkin (2)
- yishuiliunian (2)
- revolter (2)
- mateuszzz88 (2)
- jpdutoit (1)
- Apocryphon (1)
- ANTARESXXI (1)
- AyaAkl25 (1)
- pepicrft (1)
- pengbins (1)
- sysulzh (1)
- fndppx (1)
- drkibitz (1)
- Cyberbeni (1)
Top Pull Request Authors
- keith (6)
- revolter (4)
- saltman007web (2)
- rasharab (2)
- owjsub (2)
- salbertson (2)
- hisaichi5518 (2)
- chrisballinger (2)
- samfranpeloton (2)
- kattrali (1)
- harlanhaskins (1)
- mkj-is (1)
- trupin (1)
- clarmso (1)
- thasegaw (1)
Top Issue Labels
- bug (1)
Top Pull Request Labels
Dependencies
- kicker >= 0 development
- bundler ~> 1.3 development
- cucumber ~> 1.0 development
- rake >= 0 development
- rspec = 2.99.0 development
- rubocop ~> 0.34.0 development
- rouge ~> 2.0.7
Score: 12.110948448429994