SwiftLintPlugin
A Swift Package Plugin for SwiftLint
Install / Use
/learn @lukepistrol/SwiftLintPluginREADME
SwiftLintPlugin
A Swift Package Plugin for SwiftLint that will run SwiftLint on build time and show errors & warnings in Xcode.
Note There now is an official version in the SwiftLint repo! Though this package will still be maintained and updated since it brings the benefit of being a smaller repository and therefore faster to download as a dependency
Add to Package
First add a dependency from this package:
dependencies: [
// ...
.package(url: "https://github.com/lukepistrol/SwiftLintPlugin", from: "0.2.2"),
]
Then add it to your targets as a plugin:
targets: [
.target(
name: "YOUR_TARGET",
dependencies: [],
plugins: [
.plugin(name: "SwiftLint", package: "SwiftLintPlugin")
]
),
]
Add to Project
Starting with Xcode 14, plugins can also work on Xcode Project's targets. To do so, simply add this package to your SPM dependencies in Xcode. After that open your target's settings > Build Phases and add SwiftLint to Run Build Tool Plug-ins like shown below:
You may need to enable & trust the plugin before you can actually run it during builds.
Fix Warnings
As of version 0.1.0 this package also includes a command plugin which can be called on any target.
- Select a project or package in the project navigator.
- Richt-click and select
SwiftLintFix.- alternatively you can select
File > Packages > SwiftLintFix.
- alternatively you can select
- Choose the target(s) to run the
swiftlint --fixcommand on.
Run on CI
Important to notice is that when building a package/project on any CI provider (e.g. GitHub Actions) it is mandatory to pass the -skipPackagePluginValidation flag to the xcodebuild command. This will skip the validation prompt which in Xcode looks like this:
Example
xcodebuild \
-scheme "$SCHEME" \
-destination "$PLATFORM" \
-skipPackagePluginValidation \ # this is mandatory
clean build
If you need to disable linting (for release/app store builds), you can setDISABLE_SWIFTLINT environment variable
<a href="https://www.buymeacoffee.com/lukeeep" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
Related Skills
node-connect
344.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
96.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
344.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
344.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
