Breaking
-
The deprecated
anyobject_protocol
rule has now been removed.
Martin Redington
#5769 -
Revert the part of the
non_optional_string_data_conversion
rule that enforces non-failable conversions ofData
to UTF-8
String
. This is due to the fact that the data to be converted
can be arbitrary and especially doesn't need to represent a valid
UTF-8-encoded string.
Sam Rayner
#5263
Experimental
- None.
Enhancements
-
Add
ignore_multiline_type_headers
andignore_multiline_statement_conditions
options toopening_brace
rule to allow opening braces to be on a new line after
multiline type headers or statement conditions. Renameallow_multiline_func
to
ignore_multiline_function_signatures
.
leonardosrodrigues0
#3720 -
Add new
optional_data_string_conversion
rule to enforce
failable conversions ofData
to UTF-8String
.
Sam Rayner
#5263 -
The
no_magic_numbers
rule will now ignore violations in
SwiftUI'sPreview
macro.
Martin Redington
#5778
Bug Fixes
-
superfluous_disable_command
violations are now triggered for
custom rules.
Marcelo Fabri
Martin Redington
SimplyDanny
#4754 -
Trailing comments are now preserved by the
opening_brace
rule when
rewriting.
Martin Redington
#5751
Using Bazel
With bzlmod:
// Pending BCR update
bazel_dep(name = "swiftlint", version = "0.57.0", 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 = "82343de268e63d196cf878bd77e88289ec6ea64054d328e92fe1baae18733104",
url = "https://github.com/realm/SwiftLint/releases/download/0.57.0/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