Releases: bazelbuild/rules_swift
1.3.0
What's Changed
- Enable whole module optimization by default for
--compilation_mode opt
builds. Pass--features=-swift.opt_uses_wmo
to restore the previous behavior - Support
env
inswift_test
, thanks @maxwellE! - Add ability to use
PathToUnderscores
in proto to Swift generation. Enabled with--features swift.generate_path_to_underscores_from_proto_files
, thanks @mattrobmattrob! - Add Swift 5.6 feature for partially explicit modules that can be used in place of VFS overlays to better support incremental compilation. Enabled with
swift.use_explicit_swift_module_map
- Fix incremental compilation issue with emitting Objective-C headers
- Transition
--proto_compiler
instead of patchingrules_proto
to better support--@build_bazel_rules_swift//swift:universal_tools
, thanks @thii! - Match Swift Package Manager behavior for main entry point binaries
- Update
index-import
to use a universal binary, thanks @brentleyjones! - Update rules_proto
This release is compatible with 5.x LTS and bazel 6.x rolling releases.
Workspace Snippet
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "build_bazel_rules_swift",
sha256 = "2ce874c8c34a03a0a33bfb0c8100f0be32279e0a40f5b794fd943f15441e034a",
url = "https://github.com/bazelbuild/rules_swift/releases/download/1.3.0/rules_swift.1.3.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.2.0
- Enable precompiling swift implicit dep PCMs, thanks @dierksen!
DEVELOPER_DIR
is now required on Apple platforms, thanks @keith!- Add support for Swift 5.7's new
-file-prefix-map
flag, thanks @keith!
This release is compatible with 5.x LTS and bazel 6.x rolling releases
Please use the release asset from your Bazel WORKSPACE instead of
GitHub's asset to reduce download size and improve reproducibility.
SHA-256 digest: 51efdaf85e04e51174de76ef563f255451d5a5cd24c61ad902feeadafc7046d9
1.1.1
- Fix
swift_import
- Add additional outputs to the swift module in SwiftInfo
- Support Swift 5.7 Bare Slash Regex Literal, thanks @chiragramani!
- This release is compatible with 5.x LTS and bazel 6.x rolling releases
Please use the release asset from your Bazel WORKSPACE instead of
GitHub's asset to reduce download size and improve reproducibility.
SHA-256 digest: 043897b483781cfd6cbd521569bfee339c8fbb2ad0f0bdcd1b3749523a262cf4
1.1.0
- Update
apple_support
to 1.3.0 - Add
-gmodules
flag to swift compilations for a new lldb regression in Xcode 13.3 - Use the target triple from the C++ toolchain instead of deriving it from values in the Apple configuration fragment
- Remove the
toolchain
field fromSwiftUsageInfo
- Remove
RULES_SWIFT_BUILD_DUMMY_WORKER
- Disable implicit modules for Swift compile actions when the
swift.use_c_modules
feature is set - Migrate
ObjcConfiguration
usage to equivalent info inCppConfiguration
- Conditionally add developer framework paths
- Return
SwiftInfo
fromswift_{binary,test}
- Add basic sanitizer support for
swift_test
- Add
apple.swizzle_absolute_xcttestsourcelocation
feature - This release is compatible with 5.x LTS and bazel 6.x rolling releases
Please use the release asset from your Bazel WORKSPACE instead of
GitHub's asset to reduce download size and improve reproducibility.
SHA-256 digest: b672c212173ab3b3a9c4666028c08ff474915c3ed2a5c19eb5d9b8e84acc1373
1.0.0
- Migrate the worker to use the JSON protocol instead of protobuf, this should reduce compilation time when starting from scratch
- Fix incremental compilation issues with Swift 5.6+, thanks @brentleyjones!
- Add
swift.emit_symbol_graph
feature for use withdocc
, thanks @jpsim! - Update gRPC / swift_grpc_library, thanks @achew22
- Add initial Windows support, thanks @compnerd!
- Add tests for missing
bzl_library
targets, thanks @cgrindel - Switch to standard semver release versioning
- This release is compatible with 5.x LTS and bazel 6.x rolling releases
Please use the release asset from your Bazel WORKSPACE instead of
GitHub's asset to reduce download size and improve reproducibility.
SHA-256 digest: 12057b7aa904467284eee640de5e33853e51d8e31aae50b3fb25d2823d51c6b8
0.27.0
- Fix incremental builds with Xcode 13.3 / Swift 5.6
- Add
bazel coverage
support to swift_test - Disable noisy warning from using old Swift driver. Note that it is deprecated and Apple will likely remove it soon
- Fix swift_binary + apple_static_framework_import duplicate symbols issue
- Fix deduplication of some Objective-C dependencies' linker flags, and retain the initial list instead
- This release is compatible with 5.x LTS and bazel 6.x rolling releases
Please use the release asset from your Bazel WORKSPACE instead of
GitHub's asset to reduce download size and improve reproducibility.
SHA-256 digest: a2fd565e527f83fb3f9eb07eb9737240e668c9242d3bc318712efa54a7deda97
0.26.0
- Fix worker with universal binaries
- Workaround bazelbuild/bazel#14291
- Fix protoc with universal binaries
- Workaround github's rules_proto zip issues
- Fix swift_binary depending on apple_static_framework_import
- Thanks to @brentleyjones and @thii for many contributions
- This release was tested with Bazel 5.0.0
Please use the release asset from your Bazel WORKSPACE instead of
GitHub's asset to reduce download size and improve reproducibility.
SHA-256 digest: 3e52a508cdc47a7adbad36a3d2b712e282cc39cc211b0d63efcaf608961eb36b
0.25.0
- Fix CC not being set on Linux, thanks @dflems!
- Add swiftsourceinfo to incremental outputs, thanks @BalestraPatrick!
- Improve cross module incremental import support
- Add
swift.use_pch_output_dir
feature, see #701 for more info, thanks @jerrymarino! - Add
swift.use_old_driver
to temporarily revert to the deprecated Swift driver - Fix worker exit code when swiftc crashes
- Remove use of ObjcProvider.headers, which has been removed from bazel HEAD
- Add
--@build_bazel_rules_swift//swift:universal_tools
to compile tools as fat binaries to share caches on M1 + intel - Thanks to @brentleyjones and @thii for many contributions
- This release was tested with Bazel 5.0.0
Please use the release asset from your Bazel WORKSPACE instead of
GitHub's asset to reduce download size and improve reproducibility.
SHA-256 digest: 8a49da750560b185804a4bc95c82d3f9cc4c2caf788960b0e21945759155fdd9
0.24.0
- Add ability to dump the Swift AST to a file
- Fix
.swiftinterface
propagation through swift_module_alias - Add support for generating LLVM Bitcode files instead of Object files, thanks @omarzl!
- Remove
swiftinterface
file output group - Fix relative rpaths with swift_test
- Fix -embed-bitcode with Xcode 13
- Produce
.swiftsourceinfo
when building, thanks @rsahara!
Please use the release asset from your Bazel WORKSPACE instead of
GitHub's asset to reduce download size and improve reproducibility.
SHA-256 digest: 4f167e5dbb49b082c5b7f49ee688630d69fb96f15c84c448faa2e97a5780dbbc
0.23.0
- Update skylib to 1.0.3
- Update bazel worker proto
- Add support for ubsan
- Various changes around specific modules
- Update worker to support cross module incremental compilation in Swift 5.5
- Implement global index store cache, see #567 for details
- This release is tested with Bazel 4.1.0
Please use the release asset from your Bazel WORKSPACE instead of
GitHub's asset to reduce download size and improve reproducibility.
SHA-256 digest: f872c0388808c3f8de67e0c6d39b0beac4a65d7e07eff3ced123d0b102046fb6