[Chore] Make linting by swiftlint
consistent by creating a Swift package plugin
#68
Labels
swiftlint
consistent by creating a Swift package plugin
#68
Why
Currently, we face an issue that linting by
swiftlint
sometimes results in different outcomes amongst locals and CI.The reason is that we're relying on the
swiftlint
that is installed withhomebrew
which installs packages system-wide and does not support locking specific versions.homebrew
is actually a system package manager, not a platform/language package manager likebundler
for Ruby gems ornpm
for JavaScript Node module. (The system here just means OS, like macOS or Linux)Xcode 14 (and requires Swift 5.6 and above) supports creating a Swift package plugin that depends on its type, it can be part of the build process or a standalone command that can run directly in Xcode or in the command line.
We'll add a new Swift package plugin that the implementation will depend on a specific version of
swiftlint
, and it can be run both as a build process (while development) and from command line (for CI).Who Benefits?
Developers.
The text was updated successfully, but these errors were encountered: