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...を選択する。

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

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/5bf6da05-fc97-4abe-8c48-144713ffa1f2/Screen_Shot_2021-04-07_at_14.21.32.png

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: "")]
)