Skip to content

Releases: bazelbuild/rules_swift

0.16.0

04 Nov 20:46
17126a9
Compare
Choose a tag to compare
  • Add swift.remap_xcode_path feature which remaps absolute paths to Xcode in debug info to DEVELOPER_DIR to improve hermeticity

  • Add swift.coverage_prefix_map feature which remaps absolute paths in code coverage info

  • Add swift.split_derived_files_generation feature which splits swiftmodule compilation from archiving which can increase build performance in highly parallel scenarios

  • This release is tested with 3.7.0

Please use the rules_swift.0.16.0.tar.gz release asset from your Bazel WORKSPACE.

SHA-256 digest: bfbd03624a1e2addecc1078227ea421e5321a30f9f3a5e8b53ac85efb3107f92

0.15.0

21 Sep 21:31
Compare
Choose a tag to compare

This release is tested with 3.5.0

Please use the rules_swift.0.15.0.tar.gz release asset from your Bazel WORKSPACE.

SHA-256 digest: d2f38c33dc82cf3160c59342203d31a030e53ebe8f4c7365add7a549223f9c62

0.14.0

10 Aug 21:14
bde6d31
Compare
Choose a tag to compare
  • This release is tested with Bazel 3.1.0.

Please use the rules_swift.0.14.0.tar.gz release asset from your Bazel WORKSPACE.

SHA-256 digest: cea22c0616d797e494d7844a9b604520c87f53c81de49613a7e679ec5b821620

0.13.0

09 Oct 19:36
Compare
Choose a tag to compare
  • This release is tested with Bazel 1.0.0.
  • Swift modules that import C modules can now find headers located in the bazel-bin directory. (78a005c)
  • swift_c_module can now list multiple targets in its deps. (f831819)

Thanks to the following contributors:

Please use the rules_swift.0.13.0.tar.gz release asset from your Bazel WORKSPACE.

SHA-256 digest: ef2578a50a4dae1debb42a41699a8a77d3f31814c097be8d594f7f4d7f9fce14

Complete list of changes

0.12.1

09 Aug 19:26
Compare
Choose a tag to compare
  • This release is tested with Bazel 0.28.1
  • Link stamping has been refactored. Now instead of using a fixed dependency (via its label) containing the stamp data, the toolchain provider contains a Skylib partial that is called when linking a Swift binary or test target. This partial can return a C++ linking context that will be included among the other dependencies. (a2c1bfc)
  • Update a few of the dependencies. e0198ea 9f50039 f7f4c14

Please use the rules_swift.0.12.1.tar.gz release asset from your Bazel WORKSPACE.

SHA-256 digest: 18cd4df4e410b0439a4935f9ca035bd979993d42372ba79e7f2d4fafe9596ef0

Complete list of changes

0.12.0

05 Aug 17:45
Compare
Choose a tag to compare
  • This release is tested with Bazel 0.28.1
  • A bug causing diagnostics to be silently thrown out in incremental mode has been fixed. (010db1b)
  • swift_module_alias no longer prints a warning about possible misuse. (c674e70)
  • Targets created using swift_module_alias now expose their module name in the SwiftInfo provider. (ffda400)

Thanks to the following contributors:

Please use the rules_swift.0.12.0.tar.gz release asset from your Bazel WORKSPACE.

SHA-256 digest: adba48e9e7659c6838c4b500c6c66763bce6e0ca0b6510ed11cd3dceea9cf645

Complete list of changes

0.11.1

05 Jun 16:00
Compare
Choose a tag to compare
  • This release is tested with Bazel 0.27
  • The swift_common.run_toolchain{_shell_,_swift_,_}action functions have been removed. (d11785b)

Please use the rules_swift.0.11.1.tar.gz release asset from your Bazel WORKSPACE.

SHA-256 digest: 96a86afcbdab215f8363e65a10cf023b752e90b23abf02272c4fc668fcb70311

Complete list of changes

0.11.0

29 May 17:16
Compare
Choose a tag to compare
  • This release is tested with Bazel 0.26.
  • On Linux, the Swift toolchain can now autoconfigure itself to detect which features are supported by the version of the compiler in use. (a7f4adb)

Thanks to the following contributors:

Please use the rules_swift.0.11.0.tar.gz release asset from your Bazel WORKSPACE.

SHA-256 digest: 245290b9c01950db0903bcb6575b358f8f8cfc3bbd36a1c72566e4608a701dbc

Complete list of changes

0.10.1

09 May 17:08
Compare
Choose a tag to compare
  • This release is tested with Bazel 0.25.
  • Introduce swift_common.compile and remove swift_common.compile_as_{library,objects}. (606d50b, 4f69fc1)
  • The direct_libraries, direct_linkopts, transitive_additional_inputs, transitive_libraries, and transitive_linkopts fields of SwiftInfo have been removed. This information is now propagated using linking contexts in CcInfo providers. (9e60959)
  • The SwiftClangModuleInfo provider has been deprecated. Headers and include search paths can be obtained from CcInfo's compilation context. Module maps are propagated in SwiftInfo.transitive_modulemaps. (6fcd64b)
  • On macOS hosts, you can use a custom toolchain installed in /Library/Developer/Toolchains by passing --define=SWIFT_CUSTOM_TOOLCHAIN=<toolchain id> to Bazel, where <toolchain id> is the bundle identifier of the toolchain. (4fa465e)
    • A tool has been added to dump the toolchain identifiers of any custom toolchains currently installed: bazel run @build_bazel_rules_swift//tools/dump_toolchains. (1aec8de)

Thanks to the following contributors:

Please use the rules_swift.0.10.1.tar.gz release asset from your Bazel WORKSPACE.

SHA-256 digest: fef40f8afc331ae4b63da5603538134444f005e5ca7762112b0629334602c845

Complete list of changes

0.9.0

25 Apr 17:39
Compare
Choose a tag to compare
  • This release is tested with Bazel 0.24.1
  • The allow_testing, compilation_mode, configuration, objc_fragment, and swift_fragment arguments have been removed from the swift_common.{compile_as_objects,compile_as_library,swiftc_command_line_and_inputs} functions. (ecd0250)
  • The swift_grpc_library rule has been added, which can be used to generate Swift code for gRPC clients/servers. Necessary dependencies (gRPC and gRPC-Swift) are automatically added to the workspace. (9034f69)
  • Incremental compilation is now supported by passing the --strategy=SwiftCompile=worker flag to Bazel. (637e3f1)
  • The compile_options field of the SwiftInfo provider has been removed. The SwiftBinaryInfo provider has been removed. (b73e06d)
  • swift_common.merge_swift_info_providers is now named swift_common.merge_swift_infos and takes a list of SwiftInfo providers instead of a list of targets. swift_common.build_swift_info is now named swift_common.create_swift_info and only takes direct arguments and no longer merges transitive info from dependencies. (ef84822)
  • Like cc_{binary,test}, swift_{binary,test} now supports a malloc attribute that lets the user substitute an alternate malloc implementation to be linked into the binary. (5a9cd5d)
  • When building with Xcode 10.2 (Swift 5.0) or higher, the compiler now passes -debug-prefix-map to the compiler to remap the working directory to ".", removing absolute source paths from the generated debug info. (23389cc)

Thanks to the following contributors:

Please use the rules_swift.0.9.0.tar.gz release asset from your Bazel WORKSPACE.

SHA-256 digest: 9efe9699e9765e6b4a5e063e4a08f6b163cccaf0443f775d935baf5c3cd6ed0e

Complete list of changes