Breaking
- None.
Experimental
- SwiftLint can now be built and run on Windows. It is expected to work in the same way as
on other platforms. The only restrictions are missing support for?[]glob patterns in
include/exclude patterns and the requirement for\nas line ending in all linted files.
SimplyDanny
compnerd
roman-bcny
#6351
#6352
Enhancements
- Add
ignore_regexconfiguration option to thelarge_tuplerule to silence
violations for tuples insideRegex<...>types, which commonly have large
tuple type parameters for capture groups.
Deco354
#6340
Bug Fixes
- Use start position of closure (in addition to the containing function call) to check
if violations are disabled for it intrailing_closurerule.
SimplyDanny
#6451
Using Bazel
With bzlmod:
// Pending BCR update
bazel_dep(name = "swiftlint", version = "0.64.0-rc.1", repo_name = "SwiftLint")
Without bzlmod, put this in your WORKSPACE:
WORKSPACE
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "build_bazel_rules_apple",
sha256 = "9e26307516c4d5f2ad4aee90ac01eb8cd31f9b8d6ea93619fc64b3cbc81b0944",
url = "https://github.com/bazelbuild/rules_apple/releases/download/2.2.0/rules_apple.2.2.0.tar.gz",
)
load(
"@build_bazel_rules_apple//apple:repositories.bzl",
"apple_rules_dependencies",
)
apple_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:repositories.bzl",
"swift_rules_dependencies",
)
swift_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:extras.bzl",
"swift_rules_extra_dependencies",
)
swift_rules_extra_dependencies()
http_archive(
name = "SwiftLint",
sha256 = "18e10629d70461a7b287f01e61cb82181ddfe081e3ce9aea5655027287146ce6",
url = "https://github.com/realm/SwiftLint/releases/download/0.64.0-rc.1/bazel.tar.gz",
)
load("@SwiftLint//bazel:repos.bzl", "swiftlint_repos")
swiftlint_repos()
load("@SwiftLint//bazel:deps.bzl", "swiftlint_deps")
swiftlint_deps()
Then you can run SwiftLint in the current directory with this command:
bazel run @SwiftLint//:swiftlint -- --help