What’s Changed
⚠️ Breaking Changes ⚠️
xcodeproj
'stargets
attribute has been renamed totop_level_targets
: #831- This is to better reflect what types of targets you should list here. Listing dependencies of top-level targets (including
device_and_simulator
) will result in additional incorrectly configured targets in your project.
- This is to better reflect what types of targets you should list here. Listing dependencies of top-level targets (including
New
- Added C++ support to BwB: #787
- Added initial support for custom schemes: #803, #808, #809
- Added support for manually defined Focused Projects: #826
- These are defined by specifying labels in the
focused_targets
and/orunfocused_targets
attributes onxcodeproj
- These are defined by specifying labels in the
Fixes and Improvements
- Disabled BES for Index Builds: #736
- Improved handling of
linkopts
: #738, #737, #745, #747, #746, #750, #751, #757, #765, #777, #785, #789, and #829 - Improved handling of "simple" projects (BwX with no generated files): #743
- Most Bazel generated files are no longer copied into Derived Data: #744, #749, #752, #754, #760, #761, #768, #767, #771, #773, #775, #780
- Improved handling of automatic unfocused targets (i.e. "Xcode unsupported" targets): #753, #824, and #830
- Fixed errors when using
--incompatible_enable_cc_toolchain_resolution
: #756 - Fixed launching of tests with test hosts with custom
executable_name
: #758 EXECUTABLE_EXTENSION
is now only set when it differs from the default: #759- Improved handling of resources: #769, #788, #814, #883, and #886
- Improved handling of
Info.plist
s: #770, #778, and #793 - Improved handling of entitlements: #774 and #776
- Improved third-party rule support: #781 and #782
- Reduced spec.json size: #791, #814, #827, #875
BazelDependency
now only generates files for the specified target: #796, #851, and #862- Reduced amount of work done during project generation: #797 and #880
- Improved formatting of generated schemes to better match what Xcode expects: #800
- Fixed calculation of
*_DEPLOYMENT_TARGET
build settings: #843 - Greatly improved handling of Swift -> Objective-C debugging: #836, #876, #877, #879
- Improved handling of
cc_binary
andswift_binary
: #840 and #874 - Moved intermediate files to
$OBJROOT
: #860 - Improved indexing: #880
Full Changelog: 0.6.0...0.7.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 = "a647ad9ee6664a78377cf5707331966b6788be09d1fea48045a61bc450c8f1b1",
url = "https://github.com/buildbuddy-io/rules_xcodeproj/releases/download/0.7.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()