1.6.0: Mixed language target merging and `test_suite` support
What’s Changed
New
test_suite
targets can now be specified inxcodeproj.top_level_targets
: #2184ios_*_test_suite
targets can now be specified inxcodeproj.top_level_targets
: #2196- Added a
bzl_library
target for xcodeproj files: #2204
Adjusted
- Optimized project generation: #2129, #2130, #2134, #2138, #2136, #2137, #2174, and #2208
- Swift and Objective-C targets can now merge into the same terminal target: #2131, #2146, and #2150
- All symlinks are now resolved to their target file: #2147
- Schemes are now sorted: #2151
- The
Bazel Build
script is now consistently named and structured: #2164 and #2177 - App extensions can no longer be specified in
xcodeproj.top_level_targets
: #2183
Fixed
- Fixed a target consolidation crash: #2195
- Fixed
xcodeproj.xcode_configurations
not supporting Starlark build settings with bzlmod enabled: #2191 {resource_,}filegroups
not belonging to focused targets are now properly excluded from the generated project: #2159
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "1.6.0")
release.tar.gz
’s integrity
: sha256-zpK4eE/lJd1CBCL7CeqOHy3+6J5BukAdM+OmaHGZp9A=⏎
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",
sha256 = "ce92b8784fe525dd420422fb09ea8e1f2dfee89e41ba401d33e3a6687199a7d0",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/1.6.0/release.tar.gz",
)
load(
"@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()