Step 1. Add the JitPack repository to your build file
Add it in your root settings.gradle at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}
}
Add it in your settings.gradle.kts at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url = uri("https://jitpack.io") }
}
}
Add to pom.xml
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
Add it in your build.sbt at the end of resolvers:
resolvers += "jitpack" at "https://jitpack.io"
Add it in your project.clj at the end of repositories:
:repositories [["jitpack" "https://jitpack.io"]]
Step 2. Add the dependency
dependencies {
implementation 'com.github.supermarin:xcpretty:'
}
dependencies {
implementation("com.github.supermarin:xcpretty:")
}
<dependency>
<groupId>com.github.supermarin</groupId>
<artifactId>xcpretty</artifactId>
<version></version>
</dependency>
libraryDependencies += "com.github.supermarin" % "xcpretty" % ""
:dependencies [[com.github.supermarin/xcpretty ""]]
xcpretty
is a fast and flexible formatter for xcodebuild
.<br/>
It does one thing, and it should do it well.
$ gem install xcpretty
$ 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]}
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:
$ xcodebuild [flags] | tee xcodebuild.log | xcpretty
--simple
, -s
(default)
--test
, -t
(RSpec style)
--tap
(Test Anything Protocol-compatible output)--knock
, -k
(a simplified version of the Test Anything Protocol)--[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.--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
.
--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
.
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.
The recommended format is a gem containing the formatter and named
with an xcpretty-
prefix, for easier discovery.