github realm/SwiftLint 0.58.1
0.58.1: New Year’s Fresh Fold

15 hours ago

Breaking

  • If you are referring to the swiftlint binary from an Artifact Bundle consumed via Swift Package Manager
    in an Xcode Run Script Build Phase, make sure to update the path from

    "$SWIFT_PACKAGE_DIR"/swiftlintplugins/SwiftLintBinary/SwiftLintBinary.artifactbundle/swiftlint-*/bin/swiftlint

    to

    "$SWIFT_PACKAGE_DIR"/swiftlintplugins/SwiftLintBinary/SwiftLintBinary.artifactbundle/swiftlint-*-macos/bin/swiftlint

    in order to make Xcode use the binary built for macOS.
    SimplyDanny
    #5954

  • Revert changes to improve performance when exclude patterns resolve to a large set of files. While resolving files
    indeed got much faster in certain setups, it leads to missed exclusions for nested configurations and when the linted
    folder is not the current folder.
    SimplyDanny
    #5953

Experimental

  • None.

Enhancements

  • None.

Bug Fixes

  • Fix redundant_sendable correction by removing a remaining trailing comma as well when Sendable was last.
    SimplyDanny
    #5952

  • Remove lints for redundant_sendable on protocols, where Sendable is not redundant.
    riley-williams
    #5958

  • Add ib_segue_action to default configuration of type_contents_order rule on the same level as ib_action to define and document a standard position.
    SimplyDanny
    #5524


Using Bazel

With bzlmod:

// Pending BCR update
bazel_dep(name = "swiftlint", version = "0.58.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 = "94b2c63592859e0fc60f53ff4002b9ceb87fb712106ce250548261860d8a9575",
    url = "https://github.com/realm/SwiftLint/releases/download/0.58.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

Don't miss a new SwiftLint release

NewReleases is sending notifications on new releases.