xcbeautify

CI Latest Release License

Example Screenshot

xcbeautify 是一个用于 xcodebuild 的小型美化工具。

一个用 Swift 编写的,比 xcpretty 更快的替代方案。

特性

安装

Homebrew

brew install xcbeautify

Mint

mint install cpisciotta/xcbeautify

Swift Package Manager

在与 xcodeproj 文件相同的位置创建一个目录,例如 BuildTools
在该目录中,创建一个包含以下内容的 Package.swift 文件。
此外,在相同位置添加一个名为 Empty.swift 的空文件。

// swift-tools-version: 5.9
import PackageDescription

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

输入以下命令以执行。

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

从源码构建

git clone https://github.com/cpisciotta/xcbeautify.git
cd xcbeautify
make install

用法

xcodebuild [flags] | xcbeautify

如果您希望 xcbeautify 以与 xcodebuild 相同的状态代码退出 (例如在 CI 上)

set -o pipefail && xcodebuild [flags] | xcbeautify

对于并行和并发目标测试,建议对 stdout 使用非缓冲 I/O,并将 stderr 重定向到 stdout

NSUnbufferedIO=YES xcodebuild [flags] 2>&1 | xcbeautify
swift test [flags] 2>&1 | xcbeautify

GitHub Actions

GitHub Actions Summary
GitHub Actions 摘要
GitHub Actions Comment
GitHub Actions 评论

xcbeautify 具有集成的 GitHub Actions 渲染器,它利用 工作流命令来突出显示 GitHub 用户界面中的警告、错误和结果。 要使用此功能,只需运行 xcbeautify 并在执行期间添加 --renderer github-actions 标志

set -o pipefail && xcodebuild [flags] | xcbeautify --renderer github-actions

TeamCity

xcbeautify 具有集成的 TeamCity 渲染器,它利用 服务消息来突出显示 TeamCity 用户界面中的警告、错误和结果。 要使用此功能,只需运行 xcbeautify 并在执行期间添加 --renderer teamcity 标志

set -o pipefail && xcodebuild [flags] | xcbeautify --renderer teamcity

Azure DevOps Pipeline

xcbeautify 具有集成的 Azure DevOps Pipeline 渲染器,它利用 日志记录命令来突出显示 Azure DevOps Pipeline 用户界面中的警告、错误和结果。 要使用此功能,只需运行 xcbeautify 并在执行期间添加 --renderer azure-devops-pipelines 标志

set -o pipefail && xcodebuild [flags] | xcbeautify --renderer azure-devops-pipelines

开发

生成 Xcode 项目

make xcode

发布新版本,例如 x.y.z

make release version=x.y.z

贡献

请发送 PR!