What’s Changed
⚠️ Breaking Changes ⚠️
- VFS overlays (e.g.
swift.vfsoverlay
or rules_ios'sapple_library
) are no longer supported in BwX mode: #1559
New
- Started to add support for bzlmod: #1502
Fixes and Improvements
- Upgraded rules_swift to 1.5.1: #1571
- Upgraded rules_apple to 2.0.0 (when using Bazel 6): #1503
- App extensions and watchOS apps are now debuggable: #1536
- rules_xcodeproj's
.lldbinit
is now created in a launch pre-action: #1532, #1533, #1534, #1535, and #1587 - The
link.params
file is now lazily generated, and has most flags passed through directly from Bazel: #1521, #1522, #1538, #1541, #1542, #1543, #1544, #1546, #1547, #1548, #1549, #1551, #1557, #1569, #1570, #1572, #1582, and #1595 - Started work on passing through compiler flags directly from Bazel: #1565, #1566, #1568, #1569, #1570, #1573, #1574, #1575, #1576, #1577, #1578, #1579, #1583, #1581, #1592, and #1595
- BwX mode now picks up additional "headers" (e.g. hmaps), though see this FAQ for caveats : #1539 and #1540
- Added support for command line args in test schemes: #1520
- If a custom scheme sets
custom_working_directory
, it's now also applied to the Profile action: #1501 - Improved iMessage app extension scheme creation: #1531
- Header-only libraries now are represented by Xcode targets: #1494
- The executable bit is now correctly set for all scripts embedded in the generated project: #1527
- Fixed BwX Swift debugging: #1526 and #1530
- Fixed BwX Index Build failure: #1552
- Fixed incorrect BwB copy path for macOS tests: #1593
- Fixed search path references to
bazel-out
andexternal
directories: #1528 - Fixed crash generating project with
apple_universal_binary
: #1453 - Fixed an unresolved breakpoints edge case: #1588, #1589, and #1590
Full Changelog: 0.11.0...0.12.0
Contributors
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 = "630e3434b49e80783430ef470c0e9a7f1c8b4e648f789b9fe324fcd37ade8a19",
url = "https://github.com/buildbuddy-io/rules_xcodeproj/releases/download/0.12.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()