Need help with xcbeautify?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

thii
299 Stars 19 Forks MIT License 216 Commits 8 Opened issues

Description

A little beautifier tool for xcodebuild

Services available

!
?

Need anything else?

Contributors list

No Data

xcbeautify Build Status

xcbeautify
is a little beautifier tool for
xcodebuild
.

Similar to

xcpretty
, but faster.

Features

  • [x] 2x faster than
    xcpretty
    .
  • [x] Human-friendly and colored output.
  • [x] Supports the new build system's output.
  • [x] Supports Xcode's parallel testing output.
  • [x] Supports formatting Swift Package Manager output.
  • [x] Supports formatting Bazel output.
  • [x] Supports macOS & Linux.
  • [x] Written in Swift:
    xcbeautify
    compiles to a static binary which you can bring anywhere. This also means less Ruby-dependant in your development environment and CI.

Note:

xcbeautify
does not support generating JUnit or HTML test reports. In fact, you shouldn't rely on
xcodebuild
's output to generate test reports. We suggest using trainer or XCTestHTMLReport to generate test reports from
xcodebuild
's generated
TestSummaries.plist
files.

Fun fact

xcbeautify
uses itself to format its CI build logs.

Installation

If you use macOS 10.14.3 or earlier, install Swift 5 Runtime Support for Command Line Tools first:

brew cask install thii/swift-runtime/swift-runtime

Homebrew

brew tap thii/xcbeautify https://github.com/thii/xcbeautify.git
brew install xcbeautify

Swiftbrew

swift brew install thii/xcbeautify

Mint

mint install thii/xcbeautify

CocoaPods

pod 'xcbeautify'

The

xcbeautify
binary will be installed at
Pods/xcbeautify/xcbeautify

Build from source

git clone https://github.com/thii/xcbeautify.git
cd xcbeautify
make install

Usage

xcodebuild [flags] | xcbeautify

If you want

xcbeautify
to exit with the same status code as
xcodebuild
(e.g. on a CI):
set -o pipefail && xcodebuild [flags] | xcbeautify

For parallel and concurrent destination testing, it helps to use unbuffered I/O for stdout and to redirect stderr to stdout.

NSUnbufferedIO=YES xcodebuild [flags] 2>&1 | xcbeautify

Parse Bazel's building and testing output:

set -o pipefail && bazel build //path/to/package:target 2>&1 | xcbeautify
set -o pipefail && bazel test //path/to/package:target 2>&1 | xcbeautify

Future work

  • [ ] Write more tests

Development

Generate Xcode project:

make xcode

Build with Bazel:

bazel build //Sources/xcbeautify

Release a new version, say

x.y.z
:
make release version=x.y.z

Contributing

Just send a PR! We don't bite ;)

Don't have a GitHub account or prefer old-school patching via email? Send your patch to the project's mailing list.

License

MIT

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.