xcpretty

by xcpretty

xcpretty /xcpretty

Flexible and fast xcodebuild formatter

3.5K Stars 265 Forks Last release: Not found Other 620 Commits 31 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

logo

xcpretty
is a fast and flexible formatter for
xcodebuild
.
It does one thing, and it should do it well.

Gem version Build Status Code Climate Reviewed by Hound

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:

bash
$ xcodebuild [flags] | tee xcodebuild.log | xcpretty

Formats

ANSI / UTF-8

  • --[no-]color
    : Show build icons in color. (you can add it to
    --simple
    or
    --test
    format). 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 at
    build/reports/junit.xml
    , compatible with Jenkins and TeamCity CI.
  • --report html
    ,
    -r html
    : Creates a simple HTML report at
    build/reports/tests.html
    . xcpretty html
  • --report json-compilation-database
    ,
    -r json-compilation-database
    : Creates a JSON compilation database at
    build/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

The recommended format is a gem containing the formatter and named with an

xcpretty-
prefix, for easier discovery.

Team

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.