https://twitter.com/d_date/status/1379627477207687176?s=20

nicklockwood/SwiftFormatのREADMEにSwift Package Managerでインストールする方法が紹介されている。

nicklockwood/SwiftFormat

// swift-tools-version:5.1
import PackageDescription

let package = Package(
    name: "BuildTools",
    platforms: [.macOS(.v10_11)],
    dependencies: [
        .package(url: "<https://github.com/nicklockwood/SwiftFormat>", from: "0.41.2"),
    ],
    targets: [.target(name: "BuildTools", path: "")]
)

なんだよく見るPackage.swiftと流そうと思ったんだが、最近xcworkspaceにpackageを追加できることを知ったので、これはもしやビルドツールを独立してPackageに詰め込めるのではないかと思い試してみた。

xcworkspaceのないプロジェクトはまずworkspaceを追加するところから始める。

workspaceにプロジェクトをD&Dして追加。

次に、Xcode左下の+ボタンからNew Swift Package...を選択する。

すると、ダンボールが追加される。

Package.swiftを開いて入れたいツールを追加する。

// swift-tools-version:5.3

import PackageDescription

let package = Package(
    name: "build-tools",
    platforms: [.macOS(.v10_11)],
    dependencies: [
        .package(url: "<https://github.com/nicklockwood/SwiftFormat>", from: "0.41.2"),
        .package(url: "<https://github.com/peripheryapp/periphery>", from: "2.0.0")
    ],
    targets: [.target(name: "BuildTools", path: "")]
)