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
384 Stars 20 Forks MIT License 249 Commits 5 Opened issues

Description

A little beautifier tool for xcodebuild

Services available

!
?

Need anything else?

Contributors list

# 8,177
Swift
cocoapo...
Ruby
prettif...
169 commits
# 58,467
Xcode
Ruby
Objecti...
userdef...
18 commits
# 447,312
Xcode
Swift
Ruby
swift-5
9 commits
# 126,794
Swift
carthag...
ios13
Markdow...
5 commits
# 537,787
xcode10
Xcode
Swift
Ruby
3 commits
# 65,970
codegen...
aws-s3
SQL
Apache ...
3 commits
# 190,921
xcode10
Xcode
swift-4
Shell
2 commits
# 10,379
Swift
Objecti...
Xcode
spm
1 commit
# 5,875
iOS
Firebas...
Electro...
cache-s...
1 commit
# 643,828
xcode10
Xcode
Swift
swift-5
1 commit
# 34,190
React
React N...
xcode10
Xcode
1 commit
# 37,387
Objecti...
Ruby
Xcode
ios-sim...
1 commit
# 20,468
sdwebim...
watchos
Go
golang
1 commit
# 10,369
Objecti...
Swift
mac
Express
1 commit

xcbeautify

Build Status Latest Release License

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 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
swift test [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.