xcbeautify is a little beautifier tool for xcodebuild.
Similar to xcpretty, but faster.
Features
2x faster than xcpretty.
Human-friendly and colored output.
Supports the new build system’s output.
Supports Xcode’s parallel testing output.
Supports formatting Swift Package Manager output.
Supports formatting Bazel output.
Supports generating JUnit reports.
Supports macOS & Linux.
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.
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:
The xcbeautify binary will be installed at Pods/xcbeautify/xcbeautify
Swift Package Manager
Create a directory in the same location as the xcodeproj file, for example BuildTools. In that directory, create a Package.swift file with the following contents. In addition, add an empty file named Empty.swift to the same location.
xcbeautify
xcbeautify
is a little beautifier tool forxcodebuild
.Similar to
xcpretty
, but faster.Features
xcpretty
.xcbeautify
compiles to a static binary which you can bring anywhere. This also means less Ruby-dependant in your development environment and CI.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:
Homebrew
Mint
CocoaPods
The
xcbeautify
binary will be installed atPods/xcbeautify/xcbeautify
Swift Package Manager
Create a directory in the same location as the
xcodeproj
file, for exampleBuildTools
.In that directory, create a
Package.swift
file with the following contents.In addition, add an empty file named
Empty.swift
to the same location.Enter this command to execute.
Build from source
Usage
If you want
xcbeautify
to exit with the same status code asxcodebuild
(e.g. on a CI):For parallel and concurrent destination testing, it helps to use unbuffered I/O for stdout and to redirect stderr to stdout.
Parse Bazel’s building and testing output:
Future work
Development
Generate Xcode project:
Build with Bazel:
Release a new version, e.g.
x.y.z
:Contributing
Please send a PR!
License
MIT