All Projects → tuist → xcbeautify

tuist / xcbeautify

Licence: MIT license
A little beautifier tool for xcodebuild

Programming Languages

swift
15916 projects
Makefile
30231 projects
Starlark
911 projects

Projects that are alternatives of or similar to xcbeautify

danger-swift-xcodesummary
A Danger-Swift plugin that adds build errors, warnings and unit tests results generated from xcodebuild to your Danger report
Stars: ✭ 72 (-89.52%)
Mutual labels:  swift-package-manager, xcodebuild, xcpretty
Table
CLI tables in Swift
Stars: ✭ 53 (-92.29%)
Mutual labels:  swift-package-manager, swift-5
Atom Beautify
📣 Help Wanted - Looking for Maintainer: https://github.com/Glavin001/atom-beautify/issues/2572 | 💄 Universal beautification package for Atom editor (⚠️ Currently migrating to https://github.com/Unibeautify/ and have very limited bandwidth for Atom-Beautify Issues. Thank you for your patience and understanding ❤️ )
Stars: ✭ 1,501 (+118.49%)
Mutual labels:  beautifier, prettifier
Hippolyte
HTTP Stubbing in Swift
Stars: ✭ 109 (-84.13%)
Mutual labels:  swift-package-manager, swift-5
WXKDarkSky
A pure-Swift Codable layer over the Dark Sky API.
Stars: ✭ 21 (-96.94%)
Mutual labels:  swift-package-manager, swift-5
swift-html
An awesome Swift HTML DSL library using result builders.
Stars: ✭ 187 (-72.78%)
Mutual labels:  swift-package-manager, swift-5
Xcbeautify
A little beautifier tool for xcodebuild
Stars: ✭ 372 (-45.85%)
Mutual labels:  swift-package-manager, beautifier
Dtphotoviewercontroller
A fully customizable photo viewer ViewController to display single photo or collection of photos, inspired by Facebook photo viewer.
Stars: ✭ 212 (-69.14%)
Mutual labels:  swift-package-manager
Mongo Swift Driver
The official MongoDB driver for Swift
Stars: ✭ 242 (-64.77%)
Mutual labels:  swift-package-manager
Codablewrappers
A Collection of PropertyWrappers to make custom Serialization of Swift Codable Types easy
Stars: ✭ 197 (-71.32%)
Mutual labels:  swift-package-manager
Gitbuddy
Your buddy in managing and maintaining GitHub repositories, and releases. Automatically generate changelogs from issues and merged pull-requests.
Stars: ✭ 184 (-73.22%)
Mutual labels:  swift-package-manager
Aksidemenu
Beautiful iOS side menu library with parallax effect. Written in Swift
Stars: ✭ 216 (-68.56%)
Mutual labels:  swift-package-manager
Telegrammer
Telegram Bot - written with Swift 5.2 / NIO, supports Linux, macOS
Stars: ✭ 248 (-63.9%)
Mutual labels:  swift-package-manager
Wwdchelper
⏬ Help you get WWDC info easily, especially for subtitles.
Stars: ✭ 208 (-69.72%)
Mutual labels:  swift-package-manager
extensions-kit
📦 Collection of Swift+Apple Frameworks extensions for speeding up software development [iOS & iPadOS].
Stars: ✭ 71 (-89.67%)
Mutual labels:  swift-package-manager
Partitionkit
A SwiftUI Library for creating resizable partitions for View Content.
Stars: ✭ 196 (-71.47%)
Mutual labels:  swift-package-manager
Keepwords
📱🔐 Need an iOS password managing app with no pods? We got you covered!
Stars: ✭ 17 (-97.53%)
Mutual labels:  swift-5
IBLayoutConstraint
📏 Configure constraints for each device in Interface Builder with IBLayoutConstraint.
Stars: ✭ 24 (-96.51%)
Mutual labels:  swift-5
Swipycell
Easy to use UITableViewCell implementing swiping to trigger actions.
Stars: ✭ 230 (-66.52%)
Mutual labels:  swift-package-manager
Shiny
Shiny uses your gyroscope to simulate lighting and motion effects on colors. Works on almost every SwiftUI View.
Stars: ✭ 226 (-67.1%)
Mutual labels:  swift-package-manager

xcbeautify

Build Status Latest Release License

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:

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

Homebrew

brew install xcbeautify

Mint

mint install tuist/xcbeautify

CocoaPods

pod 'xcbeautify'

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.

// swift-tools-version: 5.6
import PackageDescription

let package = Package(
    name: "BuildTools",
    platforms: [.macOS(.v10_11)],
    dependencies: [
      .package(url: "https://github.com/tuist/xcbeautify", from: "0.13.0"),
    ],
    targets: [
      .target(name: "BuildTools", path: "")
    ]
)

Enter this command to execute.

swift run -c release --package-path ./BuildTools xcbeautify

Build from source

git clone https://github.com/tuist/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, e.g. x.y.z:

make release version=x.y.z

Contributing

Please send a PR!

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].