SwiftLintPlugin

SwiftLint 的 Swift Package Manager 插件,同时支持 Swift Packages 和 Xcode 项目。此包提供了插件命令和一个在构建之前运行的构建工具命令。对于 Packages,插件命令可以从命令行和 Xcode 中执行。

安装

此包包含一个 binaryTarget,用于来自 https://github.com/realm/SwiftLint/ 的 SwiftLint 的当前发布版本 0.57.0,它被所有插件命令和构建工具命令使用。无需安装 SwiftLint 或配置 PATH。

重要提示

你需要在你的 package 或项目的根目录下放置一个 swiftlint.yml.swiftlint.yml 文件。 如果找不到配置文件,命令将会失败。

有关 SwiftLint 规则的更多信息,请参阅:https://realm.github.io/SwiftLint/rule-directory.html

Swift Package 配置

  1. 将此 Package SwiftLintPlugin 添加为你的 Package 的依赖项。
    dependencies: [
        .package(url: "https://github.com/GayleDunham/SwiftLintPlugin.git", branch: "main"),
    ],
  1. 可选:将 SwiftLintBuildTool 插件添加到你的主要 target,package 中的所有文件都将被 linter 评估。
    targets: [
        .target(
            name: "YOUR_TARGET",
            dependencies: [],
            plugins: [ .plugin(name: "SwiftLintBuildTool", package: "SwiftLintPlugin") ]
        ),

Xcode 项目配置

太长不看;)

  1. 将 package https://github.com/GayleDunham/SwiftLintPlugin 添加到项目中。
  2. 可选:将 SwiftLintBuildTool 插件添加到你想要被 linter 评估的 targets 中。

将 package 添加到你的项目。

  1. 在 Project Navigator 中选择第一项(项目本身)。
  2. 在 Project Settings Editor 中选择项目。
  3. 然后选择 Package Dependencies 标签。
  4. 点击 "Add package here" 文本下面的 + 号。

Edit the Project Package Settings

  1. https://github.com/GayleDunham/SwiftLintPlugin 粘贴到搜索框中。
  2. 点击 Add Package。

Paste the link and Add Package

可选:将 Build Tool 添加到你的 Target。

  1. 现在选择 Target。
  2. 然后选择 Build Phases 标签。
  3. 展开 Run Build Tool Plug-in 并点击 + 号。

Edit the Target Build Setings

  1. 选择 SwiftLintBuildTool 并点击 Add。

Select the Build Tool and Add

特性

构建工具

SwiftLintBuildTool 是一个 pre-build 命令,它针对 Target 的源目录运行 SwiftLint。你必须在 Package 或 Project 的根目录下放置一个 swiftlint.yml.swiftlint.yml 文件。

命令

命令针对一个或多个选定的 Targets 运行

从 Xcode 运行插件命令

Run Command from Project Navigator

Run Command from Project Navigator

Swift Packages 的命令行用法

在 Swift Package 的顶层目录中执行以下任何命令。

    % swift package swiftlint-fix
    % swift package swiftlint-lint
    % swift package swiftlint-rules
    % swift package swiftlint-version   

xcodebuild 用法和 CI 系统

注意

对于 CI 系统,您应该指定 -skipPackagePluginValidation 以跳过 Xcode 中出现的验证提示。

xcodebuild  \
    -scheme "YOUR_PROJECT" \
    -destination "platform=OS X,arch=x86_64" \
    -skipPackagePluginValidation \
    clean build

参考

SwiftLint

Swift Package 插件