Releases: bazelbuild/rules_swift
1.17.0
What's Changed
- Replace instances of
to_json()
method withjson.encode(...)
(Thanks, @c-mita!) - Add
swift.emit_swiftdoc
andswift.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
What's Changed
- Add the
swift_library_group
rule - Add the
always_include_developer_search_paths
attribute toswift_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
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
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
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
What's Changed
- Fixed "name 'visibility' is not defined" error on Bazel 5 by @jesses-canva in #1117
- Limited
--cxxopt='-std=c++14'
to Linux builds by @thii in #1122 - Add SwiftGRPCInfo provider by @AttilaTheFun in #1121
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
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
What's Changed
- Add initial Swift Macros support through a new
swift_compiler_plugin
rule andmacros
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
What's Changed
- Relax the
CC=clang
requirement on Linux as long as the derived compiler isclang
. 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
What's Changed
- Add support for
-package-name
via a newpackage_name
attribute onswift_*
rules. This requires Swift 5.9+ and enables use of thepackage
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()