Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Chore] Make linting by swiftlint consistent by creating a Swift package plugin #68

Open
Thieurom opened this issue Dec 23, 2022 · 0 comments · May be fixed by #89
Open

[Chore] Make linting by swiftlint consistent by creating a Swift package plugin #68

Thieurom opened this issue Dec 23, 2022 · 0 comments · May be fixed by #89
Assignees

Comments

@Thieurom
Copy link
Collaborator

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 with homebrew 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 like bundler for Ruby gems or npm 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants