Skip to content

Releases: bazelbuild/rules_swift

0.6.0

18 Jan 20:55
Compare
Choose a tag to compare
  • This release is tested with Bazel 0.21.0.
  • Incompatible change: The resources and structured_resources of swift_library have been removed. Replace them as follows:
    • Files and labels referenced in resources can be placed directly in the library's data attribute.
    • Files and labels referenced in structured_resources should be moved to the structured_resources of a new apple_resource_group target (defined in rules_apple) and that target should be placed in the library's data attribute.

0.5.0

14 Dec 15:57
Compare
Choose a tag to compare
  • This release is tested with Bazel 0.20.0.
  • Support linking prebuilt framework dependencies (objc_framework and the new apple_framework_import rule in rules_apple) into swift_{binary,test} targets.
  • Allow Objective-C rules to depend on swift_import targets.
  • Add alwayslink support to swift_{binary,test}.
  • Add -pie flag when linking on Linux.
  • Add descriptive progress messages to most actions.
  • Add dependency on bazelbuild/apple_support.

0.4.0

21 Nov 15:52
Compare
Choose a tag to compare
  • This release is tested with Bazel 0.19.0.
  • Minor debugging improvements.
  • Support batch mode compilation for Xcode 10 or higher (macOS only at this time).
  • Propagate simple defines between Swift and Objective-C targets.
  • Ensure that transitive headers are available when a swift_library depends on a cc_library, and that their include paths are correct.
  • A number of compatibility and cleanup fixes for more recent Bazel versions (thanks @keith and @kastiglione!)

0.3.1

15 Aug 15:30
Compare
Choose a tag to compare
  • Get linker options from the C++ toolchain for Xcode builds when possible to resolve issues when linking some Apple targets (e.g., test binaries and their bundle loaders).

0.3.0

31 Jul 19:53
Compare
Choose a tag to compare
  • rules_swift now requires Bazel 0.16.0.
  • Linux users must now set CC=clang in their environment to link swift_{binary,test} targets.
  • Fixes cross-repository references among protos and well-known types (thanks @steeve!)
  • Fixes module name derivation for targets containing . (thanks @gwik!)
  • Serializes debugging options into .swiftmodule files until a proper path remapping solution is available.
  • Exposes common attribute sets in swift_common to make it easier to write custom Swift rules.
  • .swiftdoc files are now propagated by SwiftInfo.
  • Additional bug fixes and refactorings.

0.2.0

13 Jun 22:35
Compare
Choose a tag to compare
  • Support Bazel 0.14.1.
  • Make repository dependencies a bit more robust against multiple definitions.

0.1.1

08 Jun 23:09
Compare
Choose a tag to compare

Release Notes

  • Fixes some situations where clang isn't found for linking.

0.1.0

06 Jun 22:04
Compare
Choose a tag to compare

Initial release.

This repository contains a full suite of Swift build rules for Bazel (swift_library, swift_binary, swift_test, and others).

In particular, the swift_library rule in this library is intended to replace the rule of the same name in bazelbuild/rules_apple. As of now, all Swift-specific compiling/linking logic will be implemented in this repository and is cross-platform, supporting both Apple operating system as well as Linux.