Reputation: 1279
When building my xcode Swift project, I am getting violations from SwiftLint (i.e. Empty Count Violations) of files/folders that I exclude in my .swiftlint.yml file, but when specifying those files/folders in the excluded
section, the violations still occur.
.swiftlint.yml
included:
excluded:
- Pods
- myproject/API/api_implementation.swift
- myproject/API
Build Phases Run Script
"${PODS_ROOT}/SwiftLint/swiftlint"
Project Structure
/projectroot
.swiftlint.yml
Pods/
myproject/
API/
api_implementation.swift
Neither myproject/API/api_implementation.swift
nor the entire directory myproject/API/
are excluded from the lint!
What is incorrect in terms of making this file and folder excluded from the lint? If my syntax is incorrect, what is the correct syntax? If my path is incorrect, where is the SwiftLint file run from? Interestingly, even though the .swiftlint.yml file is in the root of my project, the swiftlint file that is run is in Pods/SwiftLint/
Perhaps the way that Cocoapods requires additional integration for SwiftLint to work would cause this problem. I have tried, however, to empty the Build Phases Run Script, and have confirmed that the .swiftlint.yml file is indeed running on build.
Any help or thoughts would be appreciated!
Upvotes: 15
Views: 11807
Reputation: 1628
I had a similar problem. Somehow I ended up with additional symbols such as U+2067
which aren't seen in a text editor. I managed to remove them in vim
. Here's a screenshot of git diff
command after removing unnecessary symbols:
Maybe it will help
Upvotes: 0
Reputation: 633
The syntax and content of your .swiftlint.yml
looks correct to me, but I wonder if the problem comes down to Groups vs Folders in Xcode?
SwiftLint only looks at the location of the source files on disk rather than using the hierarchy shown in the Project Navigator in Xcode. You need to make sure that the files you expect to be excluded are definitely in the API
directory when you look in Finder, and not just the API
group in Xcode.
Upvotes: 1