【问题标题】:Is there any way to apply SwiftLint to SwiftPackages有什么方法可以将 SwiftLint 应用于 SwiftPackages
【发布时间】:2022-10-06 14:57:47
【问题描述】:

我正在努力寻找一种将 SwiftLint 应用于我的 swift 包的方法。
但是搜索了很多之后,我找不到任何方法。

我使用微应用架构,这导致我使用了许多微包。我正在寻找一种将SwiftLint 用于我的快速包的方法。

  • 它将在 Xcode 13.3 版本中得到支持。这里是对应的change logs

标签: ios swift swift-package-manager swiftlint


【解决方案1】:

我也有同样的问题。当前版本的 SPM 不支持运行脚本,因此您无法像在主项目中那样运行 SwiftLint。但未来版本的 SPM 将支持它。

目前,我使用命令行来查找所有问题。这不是很方便,但有些东西。

在包文件夹中:

swiftlint --config [path to swiftlint.yml] > [path to file to save a report]

例如

swiftlint --config ~/Desktop/swiftlint.yml > ~/Desktop/swiftlintreport.txt

【讨论】:

  • 它将在 Xcode 13.3 版本中得到支持。这里是对应的change logs
  • 由于 Xcode 13.3 已经发布,我也在为此苦苦挣扎,有没有明确的方法如何以正确的方式将 swiftlint 与 SPM 一起使用?
【解决方案2】:

当我处理 SPM 包时,我通常会创建一个 Xcode 项目,该项目在本地导入包并使用该项目来处理该项目。

这让我可以运行SwiftLint 之类的东西。记住使用正确的访问控制修饰符也很方便。

您可以在this project of mine. 中查看示例

【讨论】:

    【解决方案3】:

    好的,SwiftLint 刚刚更新了主存储库,提交 3fd1573 通过 SwiftPM 和 Run Build Tool Plug-ins 添加了支持。考虑到您需要 Xcode 14 或更高版本才能使用此方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-17
      • 2010-10-27
      • 1970-01-01
      相关资源
      最近更新 更多