2.7.0: Merged Xcode Build and Index Build output bases
What’s Changed
⚠️ Breaking changes ⚠️
- Environment variables are now filtered when building with Bazel: #3075, #3077, and #3081
- This shouldn't break anyone, but if it does,
xcodeproj.bazel_env
is the suggested fix
- This shouldn't break anyone, but if it does,
- Only the debug settings from the most-downstream Swift targets are used: #3073
- For this to work best, the library target for a top-level target should be a
swift_library
,mixed_language_library
, or equivalent. Using a non-Swift library can result in now-broken lldb debugging
- For this to work best, the library target for a top-level target should be a
Adjusted
- Aligned the various
--experimental_remote_download_regex
flags: #3076 - Less work is performed when not importing Index Build indexstores: #3078
- The same output base is now used for Xcode Build and Index Build: #3074 and #3080
Fixed
- Fixed target merging involving source-less library targets: #3079
- Fixed unfocused framework target input files filtering: #3085
- Fixed top-level targets merging with
mixed_language_library
: #3082 -const-gather-protocols-file
is now skipped when calculatingSWIFT_OTHER_FLAGS
: #3084
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "2.7.0")
release.tar.gz
’s integrity
: sha256-b+AKGo9kJFkcN52bTraVuIu6hKlTEe/Y+LAHkhXs29o=
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 = "rules_xcodeproj",
integrity = "sha256-b+AKGo9kJFkcN52bTraVuIu6hKlTEe/Y+LAHkhXs29o=",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/2.7.0/release.tar.gz",
)
load(
"@rules_xcodeproj//xcodeproj:repositories.bzl",
"xcodeproj_rules_dependencies",
)
xcodeproj_rules_dependencies()
load("@bazel_features//:deps.bzl", "bazel_features_deps")
bazel_features_deps()
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()