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
xcbeautifyis a little beautifier tool forxcodebuild.Similar to
xcpretty, but faster.Features
xcpretty.xcbeautifycompiles to a static binary which you can bring anywhere. This also means less Ruby-dependant in your development environment and CI.Fun fact
xcbeautifyuses 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
xcbeautifybinary will be installed atPods/xcbeautify/xcbeautifySwift Package Manager
Create a directory in the same location as the
xcodeprojfile, for exampleBuildTools.In that directory, create a
Package.swiftfile with the following contents.In addition, add an empty file named
Empty.swiftto the same location.Enter this command to execute.
Build from source
Usage
If you want
xcbeautifyto 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