Skip to content

Releases: bazelbuild/rules_swift

1.17.0

22 Mar 15:49
a20c388
Compare
Choose a tag to compare

What's Changed

  • Replace instances of to_json() method with json.encode(...) (Thanks, @c-mita!)
  • Add swift.emit_swiftdoc and swift.emit_swiftsourceinfo features to control Bazel tracking the .swiftdoc and .swiftsourceinfo files (Thanks, @chiragramani!)
  • Add swift.emit_private_swiftinterface feature to control emitting .private.swiftinterface files (Thanks, @luispadron!)
  • Add the swift_proto_library rules (Thanks, @AttilaTheFun!)

This release is compatible with 6.x LTS, 7.x LTS, and bazel 8.x rolling releases

MODULE.bazel Snippet

bazel_dep(name = "rules_swift", version = "1.17.0", repo_name = "build_bazel_rules_swift")

Workspace Snippet

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "build_bazel_rules_swift",
    sha256 = "9bc9dc949062405412404c0f07f7323ba310f3f91f42af414ac27e338ba7bb8c",
    url = "https://github.com/bazelbuild/rules_swift/releases/download/1.17.0/rules_swift.1.17.0.tar.gz",
)

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()

1.16.0

06 Feb 14:15
f8a0428
Compare
Choose a tag to compare

What's Changed

  • Add the swift_library_group rule
  • Add the always_include_developer_search_paths attribute to swift_library

This release is compatible with 6.x LTS, 7.x LTS, and bazel 8.x rolling releases

MODULE.bazel Snippet

bazel_dep(name = "rules_swift", version = "1.16.0", repo_name = "build_bazel_rules_swift")

Workspace Snippet

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "build_bazel_rules_swift",
    sha256 = "7aabe3bbef8d2e07c9ee07acb386f0a257bd2f76ea8e21005688b506dc8da67b",
    url = "https://github.com/bazelbuild/rules_swift/releases/download/1.16.0/rules_swift.1.16.0.tar.gz",
)

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()

1.15.1

18 Jan 23:32
9ee82b8
Compare
Choose a tag to compare

What's Changed

  • Fix bazel @ HEAD incompatibility edge case

This release is compatible with 6.x LTS, 7.x LTS, and bazel 8.x rolling releases

MODULE.bazel Snippet

bazel_dep(name = "rules_swift", version = "1.15.1", repo_name = "build_bazel_rules_swift")

Workspace Snippet

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "build_bazel_rules_swift",
    sha256 = "e2eee463839483dfe1b05ce406a4f2fb3fd748ddcaa311cc8768fa7f041af0ff",
    url = "https://github.com/bazelbuild/rules_swift/releases/download/1.15.1/rules_swift.1.15.1.tar.gz",
)

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()

1.15.0

18 Jan 19:46
52b0b3a
Compare
Choose a tag to compare

What's Changed

  • Add swift.treat_warnings_as_errors feature
  • Add support for removed swift fragment for bazel @ HEAD
  • Improve error for invalid triples

This release is compatible with 6.x LTS, 7.x LTS, and bazel 8.x rolling releases

MODULE.bazel Snippet

bazel_dep(name = "rules_swift", version = "1.15.0", repo_name = "build_bazel_rules_swift")

Workspace Snippet

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "build_bazel_rules_swift",
    sha256 = "7a9f6b16ef71d54485b1f7a0c8d58815461c4d5ba356c0108b8dbe92d354ff7b",
    url = "https://github.com/bazelbuild/rules_swift/releases/download/1.15.0/rules_swift.1.15.0.tar.gz",
)

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()

1.14.0

09 Jan 17:16
154be9c
Compare
Choose a tag to compare

What's Changed

  • Fix clang discovery when compiler isn't named clang
  • Update swift_test to fail if it doesn't execute any tests, thanks @jszumski!
  • Add --@build_bazel_rules_swift//swift:copt and --@build_bazel_rules_swift//swift:exec_copt flags to replace --swiftcopt and --host_swiftcopt in the future (--host_swiftcopt is already removed from bazel @ HEAD). The easiest migration path is to use --flag_alias=swiftcopt=@build_bazel_rules_swift//swift:copt --flag_alias=host_swiftcopt=@build_bazel_rules_swift//swift:exec_copt
  • Fix bazel @ HEAD support removing linking info from the objc provider

This release is compatible with 5.x LTS, 6.x LTS, 7.x LTS, and bazel 8.x rolling releases

MODULE.bazel Snippet

bazel_dep(name = "rules_swift", version = "1.14.0", repo_name = "build_bazel_rules_swift")

Workspace Snippet

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "build_bazel_rules_swift",
    sha256 = "9b0064197e3b6c123cf7cbd377ad5071ac020cbd208fcc23dbc9f3928baf4fa2",
    url = "https://github.com/bazelbuild/rules_swift/releases/download/1.14.0/rules_swift.1.14.0.tar.gz",
)

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()

1.13.0

19 Oct 19:38
4217d3f
Compare
Choose a tag to compare

What's Changed

This release is compatible with 5.x LTS, 6.x LTS, and bazel 7.x rolling releases

MODULE.bazel Snippet

bazel_dep(name = "rules_swift", version = "1.13.0", repo_name = "build_bazel_rules_swift")

Workspace Snippet

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "build_bazel_rules_swift",
    sha256 = "28a66ff5d97500f0304f4e8945d936fe0584e0d5b7a6f83258298007a93190ba",
    url = "https://github.com/bazelbuild/rules_swift/releases/download/1.13.0/rules_swift.1.13.0.tar.gz",
)

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()

1.12.0

20 Sep 15:58
6b8b004
Compare
Choose a tag to compare

What's Changed

  • Add support for universal compiler plugins to improve cache hits when using macros. An example can be found in the docs
  • Enable use_default_shell_env everywhere when using bazel 7.x+
  • Add macros support on Linux

This release is compatible with 5.x LTS, 6.x LTS, and bazel 7.x rolling releases

MODULE.bazel Snippet

bazel_dep(name = "rules_swift", version = "1.12.0", repo_name = "build_bazel_rules_swift")

Workspace Snippet

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "build_bazel_rules_swift",
    sha256 = "abbc41234c37031bc2c561a80fe8a2f8d95efcbbf2a2cb61be0b7201b5dd01a9",
    url = "https://github.com/bazelbuild/rules_swift/releases/download/1.12.0/rules_swift.1.12.0.tar.gz",
)

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()

1.11.0

07 Sep 17:04
bc7d68d
Compare
Choose a tag to compare

What's Changed

  • Add initial Swift Macros support through a new swift_compiler_plugin rule and macros attribute on other rules. This requires Swift 5.9, an example can be found here in the docs
  • Add initial visionOS support. See rules_apple for usage.

This release is compatible with 5.x LTS, 6.x LTS, and bazel 7.x rolling releases

MODULE.bazel Snippet

bazel_dep(name = "rules_swift", version = "1.11.0", repo_name = "build_bazel_rules_swift")

Workspace Snippet

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "build_bazel_rules_swift",
    sha256 = "f7ab777e1b246cebed185417bffd93135be806e45248c57fd34e0f676bfb1c65",
    url = "https://github.com/bazelbuild/rules_swift/releases/download/1.11.0/rules_swift.1.11.0.tar.gz",
)

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()

1.10.1

05 Sep 19:06
8ad9e87
Compare
Choose a tag to compare

What's Changed

  • Relax the CC=clang requirement on Linux as long as the derived compiler is clang. Thanks @gferon!
  • Remove _grep_includes usage to fix compatibility with bazel @ HEAD

This release is compatible with 5.x LTS, 6.x LTS, and bazel 7.x rolling releases

MODULE.bazel Snippet

bazel_dep(name = "rules_swift", version = "1.10.1", repo_name = "build_bazel_rules_swift")

Workspace Snippet

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "build_bazel_rules_swift",
    sha256 = "b1de723ff0dc433ac4ddfc6a7e8635bd4fb10c44d42d20a433de854196777f3d",
    url = "https://github.com/bazelbuild/rules_swift/releases/download/1.10.1/rules_swift.1.10.1.tar.gz",
)

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()

1.10.0

12 Aug 00:53
2675128
Compare
Choose a tag to compare

What's Changed

  • Add support for -package-name via a new package_name attribute on swift_* rules. This requires Swift 5.9+ and enables use of the package ACL
  • Replace DEVELOPER_DIR remapping with /PLACEHOLDER_DEVELOPER_DIR to make it easier to differentiate and to use an absolute path which improves index-import performance
  • Update platforms to 0.0.7 to support visionOS in the future
  • Add an API to compile a .swiftinterface file into a .swiftmodule for vendored frameworks

This release is compatible with 5.x LTS, 6.x LTS, and bazel 7.x rolling releases

MODULE.bazel Snippet

bazel_dep(name = "rules_swift", version = "1.10.0", repo_name = "build_bazel_rules_swift")

Workspace Snippet

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "build_bazel_rules_swift",
    sha256 = "3a595a64afdcaf65b74b794661556318041466d727e175fa8ce20bdf1bb84ba0",
    url = "https://github.com/bazelbuild/rules_swift/releases/download/1.10.0/rules_swift.1.10.0.tar.gz",
)

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()