bazelbuild/rules_swift (build_bazel_rules_swift)
### [`v2.0.0`](https://togithub.com/bazelbuild/rules_swift/releases/tag/2.0.0)
[Compare Source](https://togithub.com/bazelbuild/rules_swift/compare/1.18.0...2.0.0)
#### What's Changed
##### Breaking Changes
- The `swift_module=` tag on `cc_library` targets no longer does anything, and the `swift_c_module` rule was removed: [#1191](https://togithub.com/bazelbuild/rules_swift/issues/1191) and [#1224](https://togithub.com/bazelbuild/rules_swift/issues/1224)
- Use the new `swift_interop_hint` aspect hint instead
- There were also some changes to how the `apple_common.Objc` provider is handled (e.g. https://github.com/bazelbuild/rules_swift/commit/d68b21471e4e9d922b75e2b0621082b8ce017d11)
- The deprecated swift proto library rules were removed: [#1193](https://togithub.com/bazelbuild/rules_swift/issues/1193)
- The Bzlmod `module.compatibility_level` was increased: [#1214](https://togithub.com/bazelbuild/rules_swift/issues/1214)
- If you ruleset can support both pre-2.0 and post-2.0 **rules_swift**, please set `bazel_dep.max_compatibility_level = 2` instead of bumping your minimum supported version of **rules_swift**
- The `swift.disable_system_index` feature is now enabled by default: [#1252](https://togithub.com/bazelbuild/rules_swift/issues/1252)
- Removed `swift.emit_symbol_graph` feature: [#1229](https://togithub.com/bazelbuild/rules_swift/issues/1229)
- Use the new `swift_symbol_graph_extract` rule
- Removed the `swift.use_response_files` feature: [#1275](https://togithub.com/bazelbuild/rules_swift/issues/1275)
- Removed the `swift.bundled_xctests` feature: [#1272](https://togithub.com/bazelbuild/rules_swift/issues/1272)
- Removed the implicit output from swift_library: [#1260](https://togithub.com/bazelbuild/rules_swift/issues/1260)
- Moved `swift_usage_aspect` and `SwiftUsageInfo` from **rules_swift** into **rules_apple**: [#1223](https://togithub.com/bazelbuild/rules_swift/issues/1223)
- Manually specifying the `-index-store-path` flag while also using the `swift.index_while_building` is no longer supported: [#1248](https://togithub.com/bazelbuild/rules_swift/issues/1248)
- It is now an error to specify both `swiftinterface` and `swiftmodule` in `swift_import`: [#1253](https://togithub.com/bazelbuild/rules_swift/issues/1253)
##### Deprecations
- Moved rules and other build definitions into their own public files and deprecated the umbrella `swift.bzl` and `proto.bzl` files: [#1231](https://togithub.com/bazelbuild/rules_swift/issues/1231), [#1236](https://togithub.com/bazelbuild/rules_swift/issues/1236), and [#1255](https://togithub.com/bazelbuild/rules_swift/issues/1255)
- Please update your `load` statements as the `swift.bzl` file will be removed in the next major release
##### Other changes
- Added support for symbol graph extraction with the `swift_symbol_graph_extract` rule: [#772](https://togithub.com/bazelbuild/rules_swift/issues/772), [#1195](https://togithub.com/bazelbuild/rules_swift/issues/1195), [#1246](https://togithub.com/bazelbuild/rules_swift/issues/1246), [#1270](https://togithub.com/bazelbuild/rules_swift/issues/1270), and [#1271](https://togithub.com/bazelbuild/rules_swift/issues/1271)
- Added support for the `fdo_instrument_order_file` feature: [#1251](https://togithub.com/bazelbuild/rules_swift/issues/1251)
- Added the `swift.add_target_name_to_output` feature, which allows multiple targets in a package to produce the same module name in the same build: [#1098](https://togithub.com/bazelbuild/rules_swift/issues/1098) and [#1217](https://togithub.com/bazelbuild/rules_swift/issues/1217)
- Added the `swift.thin_lto` and `swift.full_lto` features to enable LTO: [#1208](https://togithub.com/bazelbuild/rules_swift/issues/1208)
- Added the `swift.propagate_generated_module_map` feature to propagate the generated module map: [#1212](https://togithub.com/bazelbuild/rules_swift/issues/1212)
- Added the `swift.headers_always_action_inputs` feature which causes all headers to always be included as inputs to `SwiftCompile` actions, even when using explicit modules: [#1249](https://togithub.com/bazelbuild/rules_swift/issues/1249)
- Added an API to compile a `.swiftinterface` file into a `.swiftmodule`: [#1250](https://togithub.com/bazelbuild/rules_swift/issues/1250)
- Added an XCTest observer to `swift_test` targets that generates a JUnit-style XML log at the path in the `XML_OUTPUT_PATH` environment variable defined by Bazel: [#1222](https://togithub.com/bazelbuild/rules_swift/issues/1222), [#1242](https://togithub.com/bazelbuild/rules_swift/issues/1242), [#1263](https://togithub.com/bazelbuild/rules_swift/issues/1263), and [#1273](https://togithub.com/bazelbuild/rules_swift/issues/1273)
- Added a `discover_tests` attribute to `swift_test`: [#1259](https://togithub.com/bazelbuild/rules_swift/issues/1259), [#1266](https://togithub.com/bazelbuild/rules_swift/issues/1266), [#1273](https://togithub.com/bazelbuild/rules_swift/issues/1273), and [#1274](https://togithub.com/bazelbuild/rules_swift/issues/1274)
- Added a mechanism to provide a list of protocol names for constant value extraction: [#1170](https://togithub.com/bazelbuild/rules_swift/issues/1170)
- Added a `swift_common.get_toolchain` helper function: [#1226](https://togithub.com/bazelbuild/rules_swift/issues/1226), [#1257](https://togithub.com/bazelbuild/rules_swift/issues/1257), and [#1258](https://togithub.com/bazelbuild/rules_swift/issues/1258)
- `resource_set` is now defined for `SwiftCompile` actions: [#1241](https://togithub.com/bazelbuild/rules_swift/issues/1241)
- Swift compiler sandboxing is now disabled when using Xcode 15.3+, which fixes nested sandboxing errors: [#1206](https://togithub.com/bazelbuild/rules_swift/issues/1206)
- We now correctly add `.swiftmodule` directories to the search path: [#1245](https://togithub.com/bazelbuild/rules_swift/issues/1245)
- We now correctly calculate the minimum supported OS when calculating the target triple for 'arm64-apple-ios-simulator' targets: [#1247](https://togithub.com/bazelbuild/rules_swift/issues/1247)
- The new driver is now used on Xcode 14+ since it contains the fixes in [https://github.com/apple/swift-driver/pull/1036](https://togithub.com/apple/swift-driver/pull/1036): [#1268](https://togithub.com/bazelbuild/rules_swift/issues/1268)
- Removed some no-longer-relevant "supports X" features: [#1267](https://togithub.com/bazelbuild/rules_swift/issues/1267)
- Fixed LLDB expr evaluation for `swift_{binary,test}` targets only containing Swift in their `srcs`: [#1269](https://togithub.com/bazelbuild/rules_swift/issues/1269)
- Fixed usage of params files in `_swift_proto_compile`: [#1283](https://togithub.com/bazelbuild/rules_swift/issues/1283)
This release is compatible with Bazel 6.x LTS, 7.x LTS, and 8.x rolling releases.
#### MODULE.bazel Snippet
```bzl
bazel_dep(name = "rules_swift", version = "2.0.0", repo_name = "build_bazel_rules_swift")
```
#### Workspace Snippet
```bzl
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "build_bazel_rules_swift",
sha256 = "32eeb4ef33c708d9c9a4ee0fa8475322ef149dabc81884ddc3b50eb2efff7843",
url = "https://github.com/bazelbuild/rules_swift/releases/download/2.0.0/rules_swift.2.0.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()
```
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
1.18.0
->2.0.0
Release Notes
bazelbuild/rules_swift (build_bazel_rules_swift)
### [`v2.0.0`](https://togithub.com/bazelbuild/rules_swift/releases/tag/2.0.0) [Compare Source](https://togithub.com/bazelbuild/rules_swift/compare/1.18.0...2.0.0) #### What's Changed ##### Breaking Changes - The `swift_module=` tag on `cc_library` targets no longer does anything, and the `swift_c_module` rule was removed: [#1191](https://togithub.com/bazelbuild/rules_swift/issues/1191) and [#1224](https://togithub.com/bazelbuild/rules_swift/issues/1224) - Use the new `swift_interop_hint` aspect hint instead - There were also some changes to how the `apple_common.Objc` provider is handled (e.g. https://github.com/bazelbuild/rules_swift/commit/d68b21471e4e9d922b75e2b0621082b8ce017d11) - The deprecated swift proto library rules were removed: [#1193](https://togithub.com/bazelbuild/rules_swift/issues/1193) - The Bzlmod `module.compatibility_level` was increased: [#1214](https://togithub.com/bazelbuild/rules_swift/issues/1214) - If you ruleset can support both pre-2.0 and post-2.0 **rules_swift**, please set `bazel_dep.max_compatibility_level = 2` instead of bumping your minimum supported version of **rules_swift** - The `swift.disable_system_index` feature is now enabled by default: [#1252](https://togithub.com/bazelbuild/rules_swift/issues/1252) - Removed `swift.emit_symbol_graph` feature: [#1229](https://togithub.com/bazelbuild/rules_swift/issues/1229) - Use the new `swift_symbol_graph_extract` rule - Removed the `swift.use_response_files` feature: [#1275](https://togithub.com/bazelbuild/rules_swift/issues/1275) - Removed the `swift.bundled_xctests` feature: [#1272](https://togithub.com/bazelbuild/rules_swift/issues/1272) - Removed the implicit output from swift_library: [#1260](https://togithub.com/bazelbuild/rules_swift/issues/1260) - Moved `swift_usage_aspect` and `SwiftUsageInfo` from **rules_swift** into **rules_apple**: [#1223](https://togithub.com/bazelbuild/rules_swift/issues/1223) - Manually specifying the `-index-store-path` flag while also using the `swift.index_while_building` is no longer supported: [#1248](https://togithub.com/bazelbuild/rules_swift/issues/1248) - It is now an error to specify both `swiftinterface` and `swiftmodule` in `swift_import`: [#1253](https://togithub.com/bazelbuild/rules_swift/issues/1253) ##### Deprecations - Moved rules and other build definitions into their own public files and deprecated the umbrella `swift.bzl` and `proto.bzl` files: [#1231](https://togithub.com/bazelbuild/rules_swift/issues/1231), [#1236](https://togithub.com/bazelbuild/rules_swift/issues/1236), and [#1255](https://togithub.com/bazelbuild/rules_swift/issues/1255) - Please update your `load` statements as the `swift.bzl` file will be removed in the next major release ##### Other changes - Added support for symbol graph extraction with the `swift_symbol_graph_extract` rule: [#772](https://togithub.com/bazelbuild/rules_swift/issues/772), [#1195](https://togithub.com/bazelbuild/rules_swift/issues/1195), [#1246](https://togithub.com/bazelbuild/rules_swift/issues/1246), [#1270](https://togithub.com/bazelbuild/rules_swift/issues/1270), and [#1271](https://togithub.com/bazelbuild/rules_swift/issues/1271) - Added support for the `fdo_instrument_order_file` feature: [#1251](https://togithub.com/bazelbuild/rules_swift/issues/1251) - Added the `swift.add_target_name_to_output` feature, which allows multiple targets in a package to produce the same module name in the same build: [#1098](https://togithub.com/bazelbuild/rules_swift/issues/1098) and [#1217](https://togithub.com/bazelbuild/rules_swift/issues/1217) - Added the `swift.thin_lto` and `swift.full_lto` features to enable LTO: [#1208](https://togithub.com/bazelbuild/rules_swift/issues/1208) - Added the `swift.propagate_generated_module_map` feature to propagate the generated module map: [#1212](https://togithub.com/bazelbuild/rules_swift/issues/1212) - Added the `swift.headers_always_action_inputs` feature which causes all headers to always be included as inputs to `SwiftCompile` actions, even when using explicit modules: [#1249](https://togithub.com/bazelbuild/rules_swift/issues/1249) - Added an API to compile a `.swiftinterface` file into a `.swiftmodule`: [#1250](https://togithub.com/bazelbuild/rules_swift/issues/1250) - Added an XCTest observer to `swift_test` targets that generates a JUnit-style XML log at the path in the `XML_OUTPUT_PATH` environment variable defined by Bazel: [#1222](https://togithub.com/bazelbuild/rules_swift/issues/1222), [#1242](https://togithub.com/bazelbuild/rules_swift/issues/1242), [#1263](https://togithub.com/bazelbuild/rules_swift/issues/1263), and [#1273](https://togithub.com/bazelbuild/rules_swift/issues/1273) - Added a `discover_tests` attribute to `swift_test`: [#1259](https://togithub.com/bazelbuild/rules_swift/issues/1259), [#1266](https://togithub.com/bazelbuild/rules_swift/issues/1266), [#1273](https://togithub.com/bazelbuild/rules_swift/issues/1273), and [#1274](https://togithub.com/bazelbuild/rules_swift/issues/1274) - Added a mechanism to provide a list of protocol names for constant value extraction: [#1170](https://togithub.com/bazelbuild/rules_swift/issues/1170) - Added a `swift_common.get_toolchain` helper function: [#1226](https://togithub.com/bazelbuild/rules_swift/issues/1226), [#1257](https://togithub.com/bazelbuild/rules_swift/issues/1257), and [#1258](https://togithub.com/bazelbuild/rules_swift/issues/1258) - `resource_set` is now defined for `SwiftCompile` actions: [#1241](https://togithub.com/bazelbuild/rules_swift/issues/1241) - Swift compiler sandboxing is now disabled when using Xcode 15.3+, which fixes nested sandboxing errors: [#1206](https://togithub.com/bazelbuild/rules_swift/issues/1206) - We now correctly add `.swiftmodule` directories to the search path: [#1245](https://togithub.com/bazelbuild/rules_swift/issues/1245) - We now correctly calculate the minimum supported OS when calculating the target triple for 'arm64-apple-iosConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Renovate Bot.