从SwiftLint配置中排除Pod

时间:2018-07-06 14:43:56

标签: ios swift cocoapods swiftlint

我正在通过Cocoapods将SwiftLint集成到现有项目中。

我的项目目录如下:

AppNameRepo
|-- AppName
|   |--.swiftlint.yml
|--AppName.xcworkspace
|--Pods

还有我的.swiftlint.yml,因为我试图排除豆荚:

included: # paths to include during linting. `--path` is ignored if present.
- Project
- ProjectTests
- ProjectUITests
excluded: # paths to ignore during linting. Takes precedence over `included`.
- Pods
- ../Pods
- ./Pods
- /Pods
- Project/R.generated.swift
- Project/Pods

我不太了解它将'Project'标记解析为什么,因此我在这里抓住了稻草,以排除Pod目录,该目录位于.swiftlint.yml文件所在的位置。我尝试将.swiftlint.yml向上移动一个水平,因此它位于/ AppName和/ Pods的侧面,但是无论我对包含的内容进行了什么更改(我认为都不需要更改它,因为我认为它不需要递归地工作),swiftlint会声称没有可移植的文件,所以我不知所措。

3 个答案:

答案 0 :(得分:5)

Swiftlint正在解决相对于自身的路径。将.swiftlint.yml文件上移一个级别。 Project应该更改为反映您的AppName文件夹而不是项目名称。您的swiftlint文件将如下所示:

included:
  - AppName

excluded:
  - Pods

答案 1 :(得分:2)

0.43.0版本开始,您需要指定相对于当前工作目录的路径,因此您可以使用${PWD}

excluded:
  - ${PWD}/Pods

答案 2 :(得分:-1)

虽然这不是 OP 的问题,但我遇到了这个页面,我的问题是我的 swiftlint.yml 没有被添加为 .swiftlint.yml