Skip to content

Releases: bazelbuild/rules_swift

1.3.0

29 Nov 17:28
6863e6c
Compare
Choose a tag to compare

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 in swift_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 patching rules_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

16 Sep 13:23
a251b57
Compare
Choose a tag to compare
  • 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

01 Sep 21:00
797aac6
Compare
Choose a tag to compare
  • 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

23 Aug 18:25
cec0b74
Compare
Choose a tag to compare
  • 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 from SwiftUsageInfo
  • 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 in CppConfiguration
  • Conditionally add developer framework paths
  • Return SwiftInfo from swift_{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

17 Jun 22:41
Compare
Choose a tag to compare
  • 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 with docc, 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

23 Mar 18:24
d09eca8
Compare
Choose a tag to compare
  • 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

02 Feb 03:34
Compare
Choose a tag to compare
  • 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

22 Jan 01:59
2f9d3ac
Compare
Choose a tag to compare
  • 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

04 Oct 21:15
9a1073d
Compare
Choose a tag to compare
  • 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

11 Jun 18:58
Compare
Choose a tag to compare
  • 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