What’s Changed
⚠️ Breaking Changes ⚠️
- Moved public rules and macros to
xcodeproj/defs.bzl
: #1115
New
- Added support for custom pre and post build scripts in BwB mode: #1117, #1129, and #1156
- Added support for Runtime Sanitizers: #1134, #1137, #1138, #1127, #1142, #1155, #1168, #1193, #1195, #1196, #1209, #1232, #1233, #1234, and #1235
- Added support for dynamic frameworks: #1133, #1135, #1136, #1140, #1141, #1145, #1146, #1148, #1149, #1150, #1151, #1157, #1160, #1162, #1164, #1166, #1163, #1165, #1178, #1183, #1190, #1191, #1192, #1199, #1201, and #1200
- Added
top_level_targets
convenience function: #1207 and #1219
Fixes and Improvements
- Added support for
STRICT_SWIFT_CONCURRENCY
: #1109 - Updated rules_swift to 1.2.0 and rules_apple to 1.1.2: #1112
- Fixed issue with
-fmodule-map-file
in BwX mode: #1121 - Fixed Xcode 14 resource bundle code signing: #1124
- Added support for Alternate Icons: #1125
- Xcode no longer sets default search paths: #1161
- Added support for
--features=swift.file_prefix_map
: #1173 - Improved libtool stub performance: #1185
- Improved file unfocusing: #1187
- Improved error handling of XCBuildData caches: #1188 and #1213
- Fixed handling of implicit SDK frameworks: #1202
- Fixed handling of
None
swift.module.swiftsourceinfo
: #1204 - Fixed handling of
None
module.clang
: #1205 - Fixed handling of
None
AppleBundleInfo.bundle_id
: #1211 - Converted swiftc stub to a compiled binary: #1198, #1225, and #1227
- Fixed
--incompatible_unambiguous_label_stringification
handling: #1218 - We now apply the same
env -i
during project generation: #1220 and #1222 - Generated source files are now always downloaded from remote caches: #1223
- Added index-while-building to SwiftUI Preview builds: #1230
- Schemes no longer have
Find Implicit Dependencies
checked: #1226
Full Changelog: 0.8.0...0.9.0
Contributors
First PRs
Workspace Snippet
Please use the release asset (release.tar.gz
) from your Bazel WORKSPACE
instead of GitHub's source asset to reduce download size and improve reproducibility.
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "com_github_buildbuddy_io_rules_xcodeproj",
sha256 = "564381b33261ba29e3c8f505de82fc398452700b605d785ce3e4b9dd6c73b623",
url = "https://github.com/buildbuddy-io/rules_xcodeproj/releases/download/0.9.0/release.tar.gz",
)
load(
"@com_github_buildbuddy_io_rules_xcodeproj//xcodeproj:repositories.bzl",
"xcodeproj_rules_dependencies",
)
xcodeproj_rules_dependencies()
load(
"@build_bazel_rules_apple//apple:repositories.bzl",
"apple_rules_dependencies",
)
apple_rules_dependencies()
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()
load(
"@build_bazel_apple_support//lib:repositories.bzl",
"apple_support_dependencies",
)
apple_support_dependencies()