Releases: bazelbuild/rules_swift
0.16.0
-
Add
swift.remap_xcode_path
feature which remaps absolute paths to Xcode in debug info toDEVELOPER_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
0.14.0
0.13.0
- 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 itsdeps
. (f831819)
Thanks to the following contributors:
- Dave Lee (@kastiglione): 472e820, f52ddb1, db6a1b7, 10cbd69, 9035fb8
- Keith Smiley (@keith): 01ea0ba, c8d7247, c0bffc4, 57383da
Please use the rules_swift.0.13.0.tar.gz
release asset from your Bazel WORKSPACE
.
SHA-256 digest: ef2578a50a4dae1debb42a41699a8a77d3f31814c097be8d594f7f4d7f9fce14
0.12.1
- 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
0.12.0
- 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 theSwiftInfo
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
0.11.1
- 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
0.11.0
- 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:
- Danny Weinberg (@FuegoFro): 01c5d85
- Dave Lee (@kastiglione): b4c87bf, 37dd0ef
- Keith Smiley (@keith): 5161cb8
Please use the rules_swift.0.11.0.tar.gz
release asset from your Bazel WORKSPACE
.
SHA-256 digest: 245290b9c01950db0903bcb6575b358f8f8cfc3bbd36a1c72566e4608a701dbc
0.10.1
- This release is tested with Bazel 0.25.
- Introduce
swift_common.compile
and removeswift_common.compile_as_{library,objects}
. (606d50b, 4f69fc1) - The
direct_libraries
,direct_linkopts
,transitive_additional_inputs
,transitive_libraries
, andtransitive_linkopts
fields ofSwiftInfo
have been removed. This information is now propagated using linking contexts inCcInfo
providers. (9e60959) - The
SwiftClangModuleInfo
provider has been deprecated. Headers and include search paths can be obtained fromCcInfo
's compilation context. Module maps are propagated inSwiftInfo.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)
- A tool has been added to dump the toolchain identifiers of any custom toolchains currently installed:
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
0.9.0
- This release is tested with Bazel 0.24.1
- The
allow_testing
,compilation_mode
,configuration
,objc_fragment
, andswift_fragment
arguments have been removed from theswift_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 theSwiftInfo
provider has been removed. TheSwiftBinaryInfo
provider has been removed. (b73e06d) swift_common.merge_swift_info_providers
is now namedswift_common.merge_swift_infos
and takes a list ofSwiftInfo
providers instead of a list of targets.swift_common.build_swift_info
is now namedswift_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 amalloc
attribute that lets the user substitute an alternatemalloc
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